ch02數(shù)據(jù)模型_第1頁
ch02數(shù)據(jù)模型_第2頁
ch02數(shù)據(jù)模型_第3頁
ch02數(shù)據(jù)模型_第4頁
ch02數(shù)據(jù)模型_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第第2 2章章 數(shù)據(jù)模型數(shù)據(jù)模型2012. 022目錄 Contentsn2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*32.1 數(shù)據(jù)模型的概念n回顧:回顧:ANSI-SPARC三層抽象三層抽象n數(shù)據(jù)庫模式:數(shù)據(jù)庫的(總體)描述,也稱數(shù)據(jù)庫的內(nèi)涵n數(shù)據(jù)庫中的三種數(shù)據(jù)模式:n外模式(external schema)或稱子模式(subschema):分別描述數(shù)據(jù)的不同視圖n概念模

2、式(conceptual schema):描述數(shù)據(jù)庫中所有實(shí)體、屬性與關(guān)系,以及完整性約束n內(nèi)模式(internal schema):描述數(shù)據(jù)庫的內(nèi)部模型,包括數(shù)據(jù)域與存儲(chǔ)記錄的定義、表示方法、索引與存儲(chǔ)結(jié)構(gòu)等42.1 數(shù)據(jù)模型的概念n數(shù)據(jù)模式(結(jié)果)需要數(shù)據(jù)模型(手段)來描述n數(shù)據(jù)模式(數(shù)據(jù)模式(data schema):):運(yùn)用某種數(shù)據(jù)模型(手段)對一個(gè)企業(yè)(enterprise)或組織(organization)的一組相關(guān)數(shù)據(jù)的結(jié)構(gòu)、聯(lián)系和約束的描述(結(jié)果)n數(shù)據(jù)模型(數(shù)據(jù)模型(data model):):用來描述數(shù)據(jù)的一組概念和定義,這種描述包括三個(gè)要素/兩個(gè)方面:n數(shù)據(jù)的結(jié)構(gòu) 靜態(tài)特

3、性n數(shù)據(jù)的邏輯/物理結(jié)構(gòu)和數(shù)據(jù)間的聯(lián)系n數(shù)據(jù)中的約束 靜態(tài)特性n語義施加在數(shù)據(jù)上的約束(稱完整性約束)n數(shù)據(jù)上的操作 動(dòng)態(tài)特性n如何檢索、更新(增、刪、改)數(shù)據(jù)52.1 數(shù)據(jù)模型的概念n多級(jí)數(shù)據(jù)模型多級(jí)數(shù)據(jù)模型(multi-level data model)n概念數(shù)據(jù)模型(conceptual data model)n面向現(xiàn)實(shí)世界/用戶,與DBMS無關(guān)ne.g. E-R模型、O-O模型n邏輯數(shù)據(jù)模型(logical data model)n既面向用戶、又面向?qū)崿F(xiàn)ne.g. 網(wǎng)狀模型、層次模型、關(guān)系模型、O-O模型n物理數(shù)據(jù)模型(physical data model)n面向機(jī)器世界/實(shí)現(xiàn),描述

4、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。與DBMS、OS、硬件有關(guān) 62.1 數(shù)據(jù)模型的概念用戶1用戶2用戶3用戶1用戶2用戶3內(nèi)模式外模式1外模式2外模式3概念模式用戶視圖1用戶視圖2用戶視圖3全局視圖(企業(yè)模式)機(jī)器世界機(jī)器世界現(xiàn)實(shí)世界現(xiàn)實(shí)世界概念內(nèi)映象外概念映象用戶接口DBMS(建模)(建模)(實(shí)現(xiàn))(實(shí)現(xiàn))(轉(zhuǎn)換)(轉(zhuǎn)換)(轉(zhuǎn)換)(轉(zhuǎn)換)用概念用概念數(shù)據(jù)模型描述數(shù)據(jù)模型描述用物理用物理數(shù)據(jù)模型描述數(shù)據(jù)模型描述用邏輯用邏輯數(shù)據(jù)模型描述數(shù)據(jù)模型描述Figure: The DB Modeling, Schema Conversion and Implementation Process7目錄 Contentsn2.

5、1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*82.2 層次數(shù)據(jù)模型n一、結(jié)構(gòu)n對事物及其特征的描述n記錄記錄(Record)及其字段字段(Field);簡單數(shù)據(jù)類型。n對事物聯(lián)系的描述n雙親子女關(guān)系雙親子女關(guān)系(PCR);只能表示二元1:N聯(lián)系,表示其他聯(lián)系需引進(jìn)虛擬記錄虛擬記錄(Virtual Record)。n數(shù)據(jù)模式n利用若干PCR型構(gòu)成的記錄型之間的一棵有向樹。n二、約

6、束n模式本身固有的約束,無其他語義約束。 n三、操作三、操作n對樹/森林的遍歷。一次一記錄。 92.2 層次數(shù)據(jù)模型n數(shù)據(jù)結(jié)構(gòu)n用樹結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型叫層次模型n樹由節(jié)點(diǎn)和連線組成n節(jié)點(diǎn)代表實(shí)體型n連線表示兩實(shí)體型間的一對多聯(lián)系n樹的特性n每棵樹有且僅有一個(gè)節(jié)點(diǎn)無父節(jié)點(diǎn),稱為樹的根n樹中的其它節(jié)點(diǎn)都有且僅有一個(gè)父節(jié)點(diǎn)n代表產(chǎn)品nIBM的IMS數(shù)據(jù)庫,1969年研制成功102.1 層次數(shù)據(jù)模型地址系名系號(hào)教研室名教研室號(hào)年級(jí)姓名學(xué)號(hào)職稱姓名職工號(hào)系教研室學(xué)生教員1 : N聯(lián)系實(shí)體型112.1 層次數(shù)據(jù)模型R1101計(jì)算機(jī)D02數(shù)據(jù)庫R01G1王明S0012教授何璧E1101G2鄭直S00

7、20G3周密S0199網(wǎng)絡(luò)R02人工智能R03講師劉新E3721教授王恩E1234助教付弈E3721122.1 層次數(shù)據(jù)模型n缺點(diǎn)n支持的聯(lián)系種類太少n只支持二元一對多聯(lián)系n只允許實(shí)體集間的一種聯(lián)系,不支持實(shí)體集間的多種聯(lián)系n數(shù)據(jù)操縱不方便n子結(jié)點(diǎn)的存取只能通過父結(jié)點(diǎn)來進(jìn)行n插入、刪除復(fù)雜,父結(jié)點(diǎn)的刪除導(dǎo)致子結(jié)點(diǎn)的刪除,丟失必要的信息13IMS的數(shù)據(jù)存儲(chǔ)A1B3B2B1C8C7C6C5C4C3C2C1A1B1C1C2C3B2C4C5B3C6C7C8鄰接法:自頂向下、自左向右排列14目錄 Contentsn2.1 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.2 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.3 關(guān)系數(shù)據(jù)模

8、型關(guān)系數(shù)據(jù)模型n2.4 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.5 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.6 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*15目錄 Contentsn2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*162.3 網(wǎng)狀數(shù)據(jù)模型n一、結(jié)構(gòu)n對事物及其特征的描述n記錄記錄(Record)及其數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)(Date Item);簡單數(shù)據(jù)類型、向量、重復(fù)組。 n對事物聯(lián)系

9、的描述n系系(Set);只能表示二元1:N聯(lián)系,表示其他聯(lián)系需引進(jìn)聯(lián)系聯(lián)系記錄記錄(Linking Record)。為增加靈活性,可有單屬系單屬系、多屬系多屬系、無首系無首系。 n數(shù)據(jù)模式n利用若干SET型構(gòu)成的記錄型之間的一個(gè)有向圖。 n二、約束n模式本身固有的約束;系籍約束系籍約束(Set Membership Constraints)。 n三、操作三、操作n對圖的遍歷。典型的導(dǎo)航式操作導(dǎo)航式操作(Navigational Operations);n一次一記錄。 172.3 網(wǎng)狀數(shù)據(jù)模型n數(shù)據(jù)結(jié)構(gòu)n是一個(gè)滿足下列條件的有向圖n可以有一個(gè)以上的節(jié)點(diǎn)無父節(jié)點(diǎn)n至少有一個(gè)節(jié)點(diǎn)有多于一個(gè)的父節(jié)點(diǎn)(

10、排除樹結(jié)構(gòu))n節(jié)點(diǎn)代表實(shí)體型,有向邊(從箭尾到箭頭)表示兩實(shí)體型間的一對多聯(lián)系科室科室醫(yī)生醫(yī)生病房病房病人病人實(shí)體型1 : N聯(lián)系182.3 網(wǎng)狀數(shù)據(jù)模型學(xué)生學(xué)生課程課程選課選課年級(jí)姓名學(xué)號(hào)學(xué)分課程名課程號(hào)成績課程號(hào)學(xué)號(hào)AC1S1AC2S1BC1S2A-C2S2CC1S3S1S2S3C1C2192.3 網(wǎng)狀數(shù)據(jù)模型n缺點(diǎn)n結(jié)構(gòu)復(fù)雜n語言復(fù)雜n1964年,美國通用電器公司Bachman等人開發(fā)成功的IDS (Integrated Data Store)奠定了網(wǎng)狀數(shù)據(jù)庫的基礎(chǔ)20目錄 Contentsn2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)

11、狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*212.4 關(guān)系數(shù)據(jù)模型n一、結(jié)構(gòu)n是以集合論中的關(guān)系(Relation)概念為基礎(chǔ)的。 n定義:屬性屬性和域域n要描述現(xiàn)實(shí)世界中的一個(gè)事物,常常取其若干特征來表示,每個(gè)特征稱為屬性屬性(Attibute)。n每個(gè)屬性對應(yīng)一個(gè)值的集合,作為其取值范圍,稱為該屬性的域域(Domain)。ne.g. “性別”是人的屬性,其域是男,女 or M,F(xiàn) or 男,女,未知,變性n注注:a. 域中的值是原子數(shù)據(jù)原子數(shù)據(jù)(Atomic D

12、ata),這種限制稱第一第一范式范式(First Normal Form,1NF)條件;如域中的值可以是組合數(shù)組合數(shù)據(jù)據(jù)(Aggregated Data),稱非第一范式非第一范式(Non-First Normal Form,NF2)條件.nb. 關(guān)系模型中允許某些屬性的值未知或無值,此時(shí),用空值空值NULL表示。 222.4 關(guān)系數(shù)據(jù)模型n定義:笛卡爾積、元組和分量n給定一組域D1,D2,Dn,這些域中可以有相同的,它們的笛卡爾積笛卡爾積(Cartesian Product)定義為以下集合:nD1D2Dn=(d1, d2, , dn)| diDi, i=1, 2, , n。n其中,每個(gè)元素(d

13、1, d2, , dn) 稱作一個(gè)n元組元組(n-tuple)。元素中每個(gè)值叫作一個(gè)分量分量(Component)。n注:笛卡爾積可表示成一個(gè)二維表表(Table)。 232.4 關(guān)系數(shù)據(jù)模型ne.g. D1: 男人=王兵,李平, D2: 女人=丁美,吳芳, D3: 兒童=王小兵,李小平,吳小芳 則,D1D2D3=(王兵,丁美,王小兵), (王兵,丁美, 李小平), (王兵,丁美,吳小芳),(王兵,吳芳,王小兵), (李平,吳芳,李小平),(李平,吳芳,吳小芳) 其可表示成一個(gè)二維表:行行(Row)D1D2D3王兵丁美王小兵王兵丁美李小平王兵丁美吳小芳李平吳芳李小平李平吳芳吳小芳列列(Colu

14、mn)242.4 關(guān)系數(shù)據(jù)模型n定義:關(guān)系關(guān)系nD1D2Dn的某個(gè)子集稱定義在域D1,D2,Dn上的一個(gè)關(guān)系關(guān)系(Relation)。n用R(A1 / D1,A2 / D2,An / Dn)或R(A1,A2,An)表示。n其中,R為關(guān)系名關(guān)系名,Ai為屬性名屬性名,n為關(guān)系的目目(Degree)。n對關(guān)系也要區(qū)分其型(Type)和值(Value), 其型稱為關(guān)系的模式模式(Schema)/內(nèi)涵內(nèi)涵(Intension); 其值稱為關(guān)系的實(shí)例實(shí)例(Instance)/外延外延(Extension)。n注注:a. 關(guān)系的性質(zhì): 關(guān)系必須滿足要求1NF條件; 行、列的次序無所謂; 任意兩行不能全同;

15、 列是同質(zhì)的同質(zhì)的(Homogeneous)。nb. 關(guān)系既可用來表示一個(gè)實(shí)體,又用來表示實(shí)體間的聯(lián)系。 252.4 關(guān)系數(shù)據(jù)模型n定義:鍵鍵和和超鍵超鍵n關(guān)系中滿足如下兩個(gè)條件的屬性(組)稱為此關(guān)系的候選鍵候選鍵(candidate key),或簡稱鍵鍵(Key): a. 決定性條件:這個(gè)屬性(組)的值唯一地決定了其他屬性的值(因而也決定了整個(gè)元組); b. 最小性條件:這個(gè)屬性(組)的任何真子集均不滿足決定性條件。n關(guān)系中包含鍵的屬性(組)稱為超鍵超鍵(Superkey, i.e. superset of a key)。ne.g. 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè),入學(xué)年度,ID-no)nke

16、y1=學(xué)號(hào),key2= ID-no 。而學(xué)號(hào),性別、學(xué)號(hào),ID-no 不是key,而是superkey。學(xué)號(hào)、 ID-no 也是superkey。 262.4 關(guān)系數(shù)據(jù)模型n定義:主鍵主鍵和和外鍵外鍵n在關(guān)系模式機(jī)器實(shí)現(xiàn)時(shí),從一個(gè)關(guān)系中(多個(gè))鍵中選定一個(gè)作為此關(guān)系模式的鍵,稱被選定者為主鍵主鍵(Primary Key, PK)。其他鍵稱為候補(bǔ)鍵候補(bǔ)鍵(Alternate Key)。n若一個(gè)關(guān)系中某個(gè)屬性(組)并不是本關(guān)系的主鍵,但它的值引用了其他關(guān)系(或本關(guān)系)的主鍵的值,則稱這個(gè)屬性(組)為本關(guān)系的外鍵外鍵(Foreign Key, FK)。 n若鍵由所有的屬性構(gòu)成,則此屬性組稱為全鍵全鍵

17、(all key)。n包含在任何一個(gè)候選鍵中的屬性稱為主屬性主屬性主屬性(prime attribute) 。n不包含在任何候選鍵中的屬性稱為非主屬性非主屬性(non-prime attribute) 。272.4 關(guān)系數(shù)據(jù)模型ne.g. 學(xué)生(學(xué)號(hào), 姓名, 班級(jí)) PK = 學(xué)號(hào) 課程(課程號(hào), 課程名, 學(xué)分) PK = 課程號(hào) 學(xué)生選課(學(xué)號(hào),課程號(hào),成績) PK = 學(xué)號(hào),課程號(hào) FK1 = 學(xué)號(hào),F(xiàn)K2 = 課程號(hào)。ne.g. 部門(部門號(hào),部門名,地點(diǎn)) PK = 部門號(hào) 職工(職工號(hào),姓名,工種,主管經(jīng)理,所在部門號(hào)) PK = 職工號(hào) FK1 = 主管經(jīng)理,F(xiàn)K2 = 所在部

18、門號(hào)282.4 關(guān)系數(shù)據(jù)模型n二、約束n關(guān)系模式R(A1 / D1,A2 / D2,An / Dn)的定義實(shí)際上僅僅指出了R的任一實(shí)例r中的每個(gè)元組t應(yīng)滿足的語法語法條件: r = t D1D2Dn 在實(shí)現(xiàn)時(shí),域Di通常用數(shù)據(jù)類型(及取值規(guī)則)來表示。n但是,數(shù)據(jù)是有語義約束語義約束的(即完整性約束完整性約束)。n設(shè)rc是R的所有滿足完整性約束的元組的集合,顯然應(yīng): r = t rc D1D2Dnn因此,一個(gè)好的DBMS應(yīng)盡可能地具備完整性約束的定義定義和檢查檢查機(jī)制。n“定義”在模式定義時(shí)申明;“檢查”在數(shù)據(jù)庫初始加載及事后更新時(shí)進(jìn)行。 292.4 關(guān)系數(shù)據(jù)模型n完整性約束的類型n域完整性約

19、束域完整性約束(Domain Integrity Constraints)n屬性值應(yīng)在域中取值n屬性值是否可為NULLn實(shí)體完整性約束實(shí)體完整性約束(Entity Integrity Constraints)n每個(gè)關(guān)系應(yīng)有一個(gè)PK,每個(gè)元組的PK值應(yīng)唯一。n引用完整性約束引用完整性約束(Referential Integrity Constraints)n一個(gè)關(guān)系中的FK值必須引用(另一個(gè)關(guān)系或本關(guān)系中)實(shí)際存在的PK值,否則只能取NULL。n一般完整性約束一般完整性約束 / 業(yè)務(wù)規(guī)則業(yè)務(wù)規(guī)則(Business Rules)n由特定應(yīng)用領(lǐng)域中的業(yè)務(wù)規(guī)則所決定。n迄今為止還沒有一個(gè)DBMS完全實(shí)

20、現(xiàn)了所有的完整性約束,但總的趨勢是朝這個(gè)方向努力。 302.4 關(guān)系數(shù)據(jù)模型n三、操作n有兩類/三種表達(dá)能力上等價(jià)的操作:n關(guān)系代數(shù)操作關(guān)系代數(shù)操作(Relational Algebra Operations) 用關(guān)系代數(shù)來表示。包括傳統(tǒng)的集合運(yùn)算(并、交、差、笛卡爾積、外并,etc.)和關(guān)系專用操作(選擇、投影、連接、除、外連接,etc.)n關(guān)系演算關(guān)系演算(Relational Calculus) 用謂詞演算來表示。根據(jù)變量是元組還是域進(jìn)一步區(qū)分為: 元組關(guān)系演算元組關(guān)系演算(Tuple Relational Calculus) 域關(guān)系演算域關(guān)系演算(Domain Relational C

21、alculus)312.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作關(guān)系代數(shù)操作篩選型操作篩選型操作n選擇選擇(Selection)n選出關(guān)系r中滿足的元組,構(gòu)成一個(gè)新的關(guān)系。(橫向篩選)n( r ) = t | t r AND ne.g. deptno = 2 AND job = salesman(emp)n投影投影(Projection)n選出關(guān)系r中由所示的諸屬性列值,構(gòu)成一個(gè)新的關(guān)系。(縱向篩選)n( r ) = t | t rne.g. job, sal (emp) 322.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作關(guān)系代數(shù)操作傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算n要求參與運(yùn)算的關(guān)系要求參與運(yùn)算的關(guān)系并兼容并兼容(U

22、nion Compatibility), 即即具有相同的目、且對應(yīng)的屬性域相同。具有相同的目、且對應(yīng)的屬性域相同。n并并(Union)nrs = t | t r OR t s ne.g. (deptno = 2 AND job = salesman (emp) (deptno = 1 (emp)n差差(Difference)nr s = t | t r AND (t s) ne.g. (deptno = 2(emp) (job = manager (emp)n交交(Intersection)n不是獨(dú)立的操作。因?yàn)椴皇仟?dú)立的操作。因?yàn)閞s = r(rs)332.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作關(guān)系

23、代數(shù)操作拼接型操作拼接型操作n笛卡爾積笛卡爾積(Cartesian Product)nrs = | t r AND g s n序偶序偶稱元組稱元組t與元組與元組g的拼接的拼接(Concatenation)nrs的目為的目為nr+ns,元組數(shù)為,元組數(shù)為|r|s|。ne.g. empdept342.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作關(guān)系代數(shù)操作拼接型操作拼接型操作n連接連接(Join):從兩個(gè)關(guān)系 r 和 s 的所有元組拼接中選出滿足者,構(gòu)成一個(gè)新關(guān)系。nr s = (rs)n的一般形式為:C1 AND C2 AND AND Ck 其中,Ci形式為: AiBi, Ai, Bi分別為r, s中的屬性。

24、為關(guān)系運(yùn)算符。n故連接也稱連接(Theta-join)。當(dāng)為“=”時(shí),有兩類特殊連接:n等連接(Equijoin):在連接結(jié)果中保留兩關(guān)系中重復(fù)的屬性列。n自然連接(Natural Join):在連接結(jié)果中只保留兩關(guān)系中重復(fù)屬性列中之一。n在實(shí)際中,連接常指自然連接。ne.g. emp emp.deptno = dept.deptno deptn另外,因rs = r TURE s,故笛卡爾積與連接不是相互獨(dú)立的操作,實(shí)際中常取其一。而且連接更有意義。 352.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作關(guān)系代數(shù)操作其他操作其他操作n除除(Division)、外連接外連接(Outer Join)、外并外并(U

25、nion)n與前述操作不獨(dú)立。而且很少使用。 n綜上所述,, , , , 或, , , , 是關(guān)系完備操作集關(guān)系完備操作集。而支持關(guān)系完備操作集的DBMS稱關(guān)系完備的關(guān)系完備的(Relationally Complete)。n目前,大部分SQL RDBMS e.g. Oracle, Sybase, SQL Server 是關(guān)系完備的,而大部分PC數(shù)據(jù)庫系統(tǒng) e.g. Foxbase, FoxPro 不是關(guān)系完備的。362.4 關(guān)系數(shù)據(jù)模型n關(guān)系代數(shù)操作表達(dá)式對應(yīng)一顆語法樹語法樹/查詢樹查詢樹 empnoenamejobsaldeptno25張三accountant4000130李四manage

26、r5000231王五salesman3000232趙六salesmam35002deptnodnameLoc1財(cái)務(wù)部Shanghai2市場部Nanjing關(guān)系關(guān)系 emp:關(guān)系關(guān)系 dept:enameLoc張三Shanghai李四Nanjing結(jié)果:結(jié)果:語法查詢樹:語法查詢樹: ename, loc (sal4000 ( emp emp.deeptno = dept.deptno dept ) ) ename, locsal4000 emp.deeptno = dept.deptnoempdept37目錄 Contentsn2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)

27、模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*382.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n一、傳統(tǒng)數(shù)據(jù)模型n傳統(tǒng)數(shù)據(jù)模型傳統(tǒng)數(shù)據(jù)模型(Traditional Data Models)n層次、網(wǎng)狀、關(guān)系模型。n非傳統(tǒng)數(shù)據(jù)模型非傳統(tǒng)數(shù)據(jù)模型 / 后關(guān)系模型后關(guān)系模型(Post Relational Data Models)nER (Entity/Relationship)、O-O (Object-Oriented)、基于邏輯的(Logic)模型。 392

28、.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)n二、評價(jià)n肯定之處肯定之處n向用戶提供了統(tǒng)一的數(shù)據(jù)模型。n數(shù)據(jù)與程序之間具有相當(dāng)程度的獨(dú)立性。n向用戶提供了統(tǒng)一的數(shù)據(jù)庫語言。n在數(shù)據(jù)共享性、安全性、完整性及故障恢復(fù)等方面提供了足夠的保障。n總之,從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)管理技術(shù)不能不說是一個(gè)飛躍。尤其是關(guān)系數(shù)據(jù)模型(RDBMS),在量大面廣的聯(lián)機(jī)事務(wù)處理(OLTP)系統(tǒng)中基本上能滿足應(yīng)用的需求。40目錄 Contentsn2.1 數(shù)據(jù)模型的概念數(shù)據(jù)模型的概念n2.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型*n2.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型*n2.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型n2.5 對傳統(tǒng)數(shù)據(jù)模型的評價(jià)對傳統(tǒng)數(shù)據(jù)模型的評

29、價(jià)n2.6 E-R數(shù)據(jù)模型數(shù)據(jù)模型n2.7 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型*412.6 E-R數(shù)據(jù)模型n1976年,Peter Pin-Shan Chen在論文:The entity-relationship modeltoward a unified view of data, in: ACM Transactions on Database Systems (TODS), Volume 1, Issue 1, March 1976, Pages: 936. 中首先提出ER模型時(shí)有三個(gè)目的,現(xiàn)主要作為數(shù)據(jù)建模(即DB概念設(shè)計(jì)概念設(shè)計(jì))的有力工具。Peter Pin-Shan Chen模型稱

30、基本ER模型,后來有許多擴(kuò)充版本,稱擴(kuò)充擴(kuò)充ER模型模型(Extended ER Data Model, EER)。n觀點(diǎn)n世界是由一組稱作實(shí)體的基本對象和這些對象之間的聯(lián)系構(gòu)成的。422.6 E-R數(shù)據(jù)模型n一、基本ER模型n三種抽象三種抽象 n實(shí)體實(shí)體(Entity)與弱實(shí)體弱實(shí)體(Weak Entity)對事物的一種抽象。 實(shí)體集(Entity Set):對同類事物的一種抽象。 實(shí)體(Entity):實(shí)體集中的一個(gè)實(shí)例,是對某個(gè)具體事物的一種描述。 e.g. 實(shí)體集S = e e是學(xué)生;而張三,李四,王五,S,是一個(gè)個(gè)學(xué)生。 實(shí)體鍵&實(shí)體主鍵:同關(guān)系模型中的概念。 e.g. “學(xué)

31、號(hào)”是“學(xué)生”實(shí)體的實(shí)體鍵 / 實(shí)體主鍵。 弱實(shí)體:不能獨(dú)立存在,依附與其他實(shí)體集中的某個(gè)實(shí)體(稱所有者實(shí)體)。其實(shí)體鍵必須包含其所有者實(shí)體的鍵。 e.g. “職工”與“家屬”,“電影廠”與“攝制組”。432.6 E-R數(shù)據(jù)模型n屬性屬性(Attribute)對事物(或事物間聯(lián)系)特征的一對事物(或事物間聯(lián)系)特征的一種抽象。種抽象。 原子屬性:不可再分的數(shù)據(jù)項(xiàng)。 e.g. 學(xué)號(hào),姓名,性別,專業(yè),是學(xué)生的屬性。 非原子屬性: 組合屬性/元組屬性 e.g. 通訊地址:(郵編,街區(qū)) 街區(qū):(街道名,號(hào)碼,住宅號(hào)) 多值屬性/集合屬性 e.g. 選修課程:C語言,DB,匯編 442.6 E-R數(shù)

32、據(jù)模型n聯(lián)系聯(lián)系(Relationship)對事物之間某種關(guān)系的一種抽象。n如學(xué)生與老師間的授課關(guān)系,學(xué)生與學(xué)生間有班長關(guān)系。n聯(lián)系也可以有屬性,如學(xué)生與課程之間有選課聯(lián)系,每個(gè)選課聯(lián)系都有一個(gè)成績作為其屬性。n聯(lián)系集聯(lián)系集:事物之間同類聯(lián)系所組成的一個(gè)集合。n聯(lián)系聯(lián)系:聯(lián)系集中的一個(gè)實(shí)例。 e.g. 聯(lián)系集MARR(M,F)= e1Me2Fe1與e2是夫妻;而, , ,MARR是一對對夫妻。452.6 E-R數(shù)據(jù)模型n聯(lián)系聯(lián)系(Relationship)n聯(lián)系的語義約束聯(lián)系的語義約束結(jié)構(gòu)約束(Structural Constraints)n基數(shù)比基數(shù)比(Cardinality Ratio)對

33、聯(lián)系R(E1,E2,En),當(dāng)n = 2時(shí),二元聯(lián)系(Binary Relationship):1:1, 1:N, M:N當(dāng)n 2時(shí),多元聯(lián)系(Multiway Relationship) e.g.三元聯(lián)系:1:1:1,1:1:P,M:N:P, etc.當(dāng)n = 1時(shí), 自聯(lián)系/遞歸聯(lián)系(Recursive Relationship):1:1, 1:N, M:Nn參與度參與度(Participation)對聯(lián)系R(E1,E2,En)中的某個(gè)Ei,若 ei Ei均參與聯(lián)系R,則稱實(shí)體集Ei是全參與的(Total);若 ei Ei不參與聯(lián)系R,則稱實(shí)體集Ei是部分參與的(Partial)。462.

34、6 E-R數(shù)據(jù)模型n一、基本ER模型nER數(shù)據(jù)模式與ER圖 n運(yùn)用ER模型對一個(gè)企業(yè)的全體數(shù)據(jù)進(jìn)行建摸得出的結(jié)果程ER數(shù)據(jù)模式,簡稱ER模式(ER Schema),其常用ER圖(ER Diagram)的形式表示。472.6 E-R數(shù)據(jù)模型nER圖的符號(hào)(Notation)實(shí)體名實(shí)體名1實(shí)體名實(shí)體名2實(shí)體名實(shí)體名3聯(lián)系名聯(lián)系名1弱實(shí)體名弱實(shí)體名聯(lián)系名聯(lián)系名2屬性名屬性名1屬性名屬性名u屬性名屬性名n屬性名屬性名1屬性名屬性名k屬性名屬性名1屬性名屬性名s屬性名屬性名2屬性名屬性名1屬性名屬性名1屬性名屬性名v. . . . . . .1MP11482.6 E-R數(shù)據(jù)模型nER圖例子:從Stanf

35、ord Univ.s textbook中拷貝的ER圖moviepresidentstarstudiocrewstars-inunit-ofrun-byowned-byMNN1111Nsequel-oforiginalsequelN1titleyearlennamegenderaddrewardnameaddclassNonameCERT#start-date492.6 E-R數(shù)據(jù)模型nER圖例子:用ER Modeling tool 創(chuàng)建的ER圖ne.g., Sybases PowerDesigner 9.5502.6 E-R數(shù)據(jù)模型n二、擴(kuò)充ER模型n特殊化特殊化(Specialization

36、)與普遍化與普遍化(Generalization) 超實(shí)體超實(shí)體子實(shí)體子實(shí)體1子實(shí)體子實(shí)體md / o. . .部分特殊化部分特殊化全特殊化全特殊化不相交特殊化不相交特殊化重疊特殊化重疊特殊化特殊化特殊化普遍化普遍化51特殊化n自頂向下、逐步求精的數(shù)據(jù)庫設(shè)計(jì)過程n實(shí)體集中某些子集具有區(qū)別于該實(shí)體集內(nèi)其它實(shí)體的特性,可以根據(jù)這些差異特性對實(shí)體集進(jìn)行分組,這一分組的過程稱作特殊化n父類 子類n子類特例更小的實(shí)體集更多的屬性n一個(gè)銀行帳號(hào)可以有存款帳號(hào)、貸款帳號(hào)n學(xué)生可以有研究生、本科生52特殊化n特殊化在E-R圖中的表示n特殊化用標(biāo)記為ISA的圖形來表示nISA = “is”,表示高層實(shí)體和低層實(shí)

37、體之間的“父類子類”聯(lián)系本科生本科生研究生研究生學(xué)生學(xué)生ISAISA碩士碩士ISAISA博士博士姓名姓名學(xué)號(hào)學(xué)號(hào)DissertationDissertationPapersPapers軍訓(xùn)軍訓(xùn)53普遍化n自底向上、逐步合成的數(shù)據(jù)庫設(shè)計(jì)過程n各個(gè)實(shí)體集根據(jù)共有的性質(zhì),合成一個(gè)較高層的實(shí)體集。n普遍化是一個(gè)高層實(shí)體集與若干個(gè)低層實(shí)體集之間的包含關(guān)系n普遍化 Vs 特殊化n普遍化與特殊化是個(gè)互逆的過程,在E-R圖中的表示方法是相同的。n特殊化強(qiáng)調(diào)同一實(shí)體集內(nèi)不同實(shí)體之間的差異,普遍化強(qiáng)調(diào)不同實(shí)體集之間的相似性n反映了數(shù)據(jù)庫設(shè)計(jì)的不同方法542.6 E-R數(shù)據(jù)模型n二、擴(kuò)充ER模型n聚集聚集(Aggr

38、egation)n參與某個(gè)聯(lián)系的全部實(shí)體組成一個(gè)新實(shí)體(稱聚集),其屬性是所有這些實(shí)體的屬性及這個(gè)聯(lián)系的屬性之并。n聚集可象一般的實(shí)體一樣參與聯(lián)系。這樣,聯(lián)系也可參與聯(lián)系了。 聯(lián)系聯(lián)系聯(lián)系聯(lián)系實(shí)體實(shí)體實(shí)體實(shí)體. . .聚集聚集實(shí)體實(shí)體屬性. . . . .屬性實(shí)體實(shí)體屬性. . .屬性屬性屬性55n實(shí)例:職工參加項(xiàng)目,并在此過程中可能使用機(jī)器聚集職工職工項(xiàng)目項(xiàng)目參加參加并并使用使用姓名姓名 工種工種名稱名稱類型類型機(jī)器名機(jī)器名型號(hào)型號(hào)方案方案1 1工時(shí)工時(shí)機(jī)器機(jī)器職工號(hào)項(xiàng)目號(hào)機(jī)器號(hào)工時(shí)e1j1m13e1j1m23e1j2m34e2j1m15e3j2null4e4j2null4e5j2null6

39、e6j2null556聚集職工號(hào)機(jī)器號(hào)e1m1e1m2e1m3e2m1職工號(hào)項(xiàng)目號(hào)工時(shí)e1j13e1j24e2j15e3j24e4j24e5j26e6j25職工職工項(xiàng)目項(xiàng)目參加參加姓名姓名 工種工種名稱名稱類型類型機(jī)器名機(jī)器名型號(hào)型號(hào)方案方案2 2工時(shí)工時(shí)使用使用機(jī)器機(jī)器e1在j1項(xiàng)目中使用什么機(jī)器?57n聚集是一種抽象,通過它聯(lián)系被作為高層實(shí)體集n實(shí)體集A與B以及它們的聯(lián)系可與另一實(shí)體集C發(fā)生聯(lián)系聚集ABR1R2C58聚集職工職工項(xiàng)目項(xiàng)目參加參加姓名姓名 工種工種名稱名稱類型類型機(jī)器名機(jī)器名型號(hào)型號(hào)工時(shí)工時(shí)使用使用機(jī)器機(jī)器59聚集職工號(hào)項(xiàng)目號(hào)工時(shí)e1j13e1j24e2j15e3j24e4j24e5j26e6j25職工號(hào)項(xiàng)目號(hào)機(jī)器號(hào)e1j1m1e1j1m2e1j2m3e2j1m1602.6 E-R數(shù)據(jù)模型n二、擴(kuò)充ER模型n范疇范疇(Category)n不同類型的實(shí)體組成新實(shí)體,稱范疇。不同類型的實(shí)體組成新實(shí)體,稱范疇。范疇范疇實(shí)體實(shí)體1實(shí)體實(shí)體n. . .61設(shè)計(jì)實(shí)例n考慮一個(gè)學(xué)校數(shù)據(jù)庫系統(tǒng),它要存儲(chǔ)以下信息:n教師有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論