一、系統簡介
1.1 db2與os/390的關係
1.2 db2是乙個關係型資料庫
1.3 db2的體系結構
1.4 db2的日誌
1.1 db2與os/390的關係
db2是基於ibm主機os390作業系統的乙個子系統,且是乙個資料庫管理子系統,它與cics、ims、tso協同
工作,通過cics、ims、tso對db2進行操作,所以db2的應用可以分為cics應用、ims應用、tso應用。其
中cics應用、ims應用必須是聯機的,tso應用則既可以是聯機的也可以是批處理的。
1.2 db2是乙個關係型資料庫
在關係型資料庫中,資料以表的形式體現,所以說db2是表的集合,並且保證資料的一致性、完整性、安
全性。應用系統通過sql語句對資料庫進行操作,其結果是從舊表的資料產生新錶的資料。
1 .3 db2的體系結構
db2系統主要有四個位址空間dsn1mstr、dsn1spas、dsn1dbm1、irlmproc。
在乙個db2系統中可有多個stogroup,stogroup是建立在volume上的,乙個stogroup可以由一至多個
volume組成;在乙個stogroup中可以建立一至多個database,database既資料庫;乙個database由多個
tablespace組成;在tablespace內建立table;可以為table建立index,增加查詢速度。
1.4 db2的日誌
db2將所有資料的改變以及系統的一些重要事件都記錄在系統日誌中,在系統發生故障時用於恢復。
db2系統有兩種日誌,active log(在硬碟上),achive log(在硬碟上或在磁帶上)。
二.基本概念
2.1 stogroup
2.2 database
2.3 tablespace
2.4 table
2.4.1 db2的資料型別
2.4.2 db2的null屬性
2.4.3 key
2.5 view
2.6 index
2.1 stogroup
stogroup是乙個邏輯物件,它指明資料庫存放資料所需要的空間,提供db2能使用的卷。乙個stogroup可
以指向乙個或多個卷,乙個stogroup可以定義乙個或多個database。
2.2 database
在db2中,database是db2結構的設定,它應包含關聯乙個應用的或一組有關係應用的所有資料,乙個
database可以定義乙個或多個tablespace。
2.3 tablespace
tablespace是乙個物理物件,實際上就是vsam資料集,存放資料的物理空間,乙個表空間可以含有一
個或多個資料集;乙個表空間可以用來存放乙個或多個表的資料,即乙個tablespace可以定義乙個或多
個tables。
2.3.1 ****** tablespace
乙個表空間中可以有多個表;表空間由pages組成,並且,每個page可以存放多個表的rows。
2.3.2 segment tablespace
乙個表空間中可以有多個表;表空間由segments組成,每個segments為固定的page數(必須為4的倍數個
pages,且範圍是4--64個pages),並且,每個segments只能存放專一地存放乙個表的rows。
2.3.3 partition tablespace
乙個表空間中只能有乙個表;表空間根據key的範圍劃分為多個partitions,每個partitions是乙個無名
稱的分割槽index。並且,每個partitions都能由db2 unitility或sql語句同時處理。
2.4 table
tables是用來訪問db2的資料結構,它是rows的集合,這些rows具有相同的結構,每乙個row包含多個
columns,row與column之間存在著某種關係, 每乙個row對應的是乙個特定的實體(記錄)。在建table
之前,必須先建它的database和tablespace。
* column是表中實體的特性,具有兩個基本特性:
- 資料型別
- null屬性
2.4.1 db2的資料型別
- 字元型
char(n) / character(n)
fixed length string between 1 and 254 bytes
varchar(n)
variable length string(maximum to a page)
long varchar
variable length string
- 雙字元型
- 數字型
**allint
halfword(2 bytes)
whole number between + and ? 32k
integer / int
fullword(4 bytes)
whole number between + and ? 2gb
decimal(p,s) / dec(p,s)
max 31 digits
decimal number between + and ? 9…9(31bit)
float(x) / real / double precision / float
fullword or double word(4 bytes)
floating point number between 5.4e-79 and 7.2e+75
- 日期型
date
time
timestamp
2.4.2 db2的null屬性
- (default: nulls allowed)
- not null
- with default
the default values depend on the column』s data type
2.4.3 key
db2的乙個表可以定義乙個或多個key,這些key,如果能唯一標識本表的行,則稱為唯一鍵(unique
key);否則,稱為非唯一鍵(nonunique key)。
乙個表的乙個或多個列(column),如果它(們)的值,可以唯一標識本表的行(row),那麼,就可以
將此乙個或多個列(column)定義為主鍵(primary key);主鍵必須是唯一鍵,
乙個表中,只能定義乙個主鍵。
乙個表的乙個或多個列(column),可以定義為引用某個parent key的外部鍵:只有parent key的值存
在時,才能加入到外部鍵。
2.5 view
view是table的檢視,可以看作是乙個虛擬table,它沒有物理儲存資料的結構,只是提供訪問物理table
資料的路徑。view的產生可來自乙個表或多個表的列的集合。
1.2.6 index
index是用來提供一種訪問table中資料的指標,每乙個index都是基於table的一列或多列資料,並且佔
有自己的索引空間(vsam linear data set),索引與table是分別定義的。乙個表可以有多個索引,
cluster引數決定其索引值是順序的,但在乙個表中只能有乙個cluster index。
2.6.1 unique indexes
db2是允許key列的值重複,如果不希望重複,就對其定義unique index,要是乙個表有primary key可以
將它作為unique index。
2.6.2 non-unique indexes
相對unique index而言,non-unique indexes可以是表的多列組成。
1.2.7 bind
bind是建立應用程式和它將訪問相關資料之間的關聯,在執行
程式之前必須進行bind。通常db2允許兩個bind程式的方法:乙個是package,乙個是直接的應用plan。
程式預編譯處理時,db2預編譯器為每個應用程式產生修正的原始碼(sql語句)和資料庫要求的模組
(dbrm)兩個objects,在應用程式能執行之前,其sql語句必須進行編譯和聯接編輯,dbrm必須被bind
到package和plan。
- 驗證sql語句,檢查table、view、column等是否有效
- 驗證使用者是否有bind許可權、程式訪問資料的許可權
- 程式處理資料需要選擇訪問db2的路徑
DB2基本概念的理解
db2基本概念的理解 1 例項 由一組程式和相應的執行環境所組成,它控制著外界對儲存在資料庫中的資料的訪問,並控制系統資源的使用。2 資料庫 關係型資料庫,沒什麼可說的。3 分割槽 也稱節點 分割槽是db2物理上組織儲存的機制,分割槽由從屬於它的資料庫物件所組成,它的實質在於物理的將資料分布到不同的...
基本概念 2
ecmascript中有5種簡單資料型別 也稱為基本資料型別 undefined null boolean number string。還有一種複雜資料型別 object,本質上是由一組無序的名值隊組成。ecmascript不支援任何建立自定義型別機制,所有值都是上述6種資料型別之一。由於ecmas...
DB2基本命令
13 匯出表資料 db2 export to c dftz.txt of del select from dftz db2 export to c dftz.ixf of ixf select from dftz 14 匯入表資料 import from c 123.txt of del inser...