DB2基本概念

2021-04-13 07:39:29 字數 4447 閱讀 5127

一、系統簡介

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...