




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)原理與應(yīng)用數(shù)據(jù)庫(kù)原理與應(yīng)用課課2第第3章章 數(shù)據(jù)概念模型及關(guān)系模型設(shè)計(jì)數(shù)據(jù)概念模型及關(guān)系模型設(shè)計(jì)3【知識(shí)目標(biāo)知識(shí)目標(biāo)】 了解數(shù)據(jù)庫(kù)發(fā)展過(guò)程中的了解數(shù)據(jù)庫(kù)發(fā)展過(guò)程中的3個(gè)模型個(gè)模型 理解實(shí)體與概念模型的概念理解實(shí)體與概念模型的概念 理解實(shí)體與關(guān)系模型的概念理解實(shí)體與關(guān)系模型的概念 掌握掌握1NF、2NF、3NF【能力目標(biāo)能力目標(biāo)】 明確與數(shù)據(jù)庫(kù)技術(shù)相關(guān)的職業(yè)技術(shù)崗位明確與數(shù)據(jù)庫(kù)技術(shù)相關(guān)的職業(yè)技術(shù)崗位 能夠根據(jù)項(xiàng)目需求分析進(jìn)行數(shù)據(jù)庫(kù)的概念模型設(shè)計(jì)能夠根據(jù)項(xiàng)目需求分析進(jìn)行數(shù)據(jù)庫(kù)的概念模型設(shè)計(jì) 能夠根據(jù)項(xiàng)目需求分析將概念模型轉(zhuǎn)換為關(guān)系模型能夠根據(jù)項(xiàng)目需求分析將概念模型轉(zhuǎn)換為關(guān)系模型 能夠分析關(guān)系
2、模型并將其規(guī)范化能夠分析關(guān)系模型并將其規(guī)范化 通過(guò)項(xiàng)目需求分析,培養(yǎng)和客戶溝通的能力。通過(guò)項(xiàng)目需求分析,培養(yǎng)和客戶溝通的能力?!局攸c(diǎn)難點(diǎn)重點(diǎn)難點(diǎn)】 概念模型、關(guān)系模型概念模型、關(guān)系模型 關(guān)系規(guī)范化關(guān)系規(guī)范化【知識(shí)框架知識(shí)框架】 本章知識(shí)內(nèi)容為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)流程中需求分本章知識(shí)內(nèi)容為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)流程中需求分析、概念模型設(shè)計(jì)和邏輯模型設(shè)計(jì),學(xué)習(xí)內(nèi)容知識(shí)析、概念模型設(shè)計(jì)和邏輯模型設(shè)計(jì),學(xué)習(xí)內(nèi)容知識(shí)框架如圖框架如圖3-1所示。所示??傢?xiàng)目:學(xué)生選課管理系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)總項(xiàng)目:學(xué)生選課管理系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)總項(xiàng)目概述:學(xué)生學(xué)籍管理系統(tǒng)包括班級(jí)、學(xué)生、總項(xiàng)目概述:學(xué)生學(xué)籍管理系統(tǒng)包括班級(jí)、學(xué)生、課
3、程、教師等實(shí)體,含有學(xué)生選課管理子模塊、學(xué)生課程、教師等實(shí)體,含有學(xué)生選課管理子模塊、學(xué)生檔案管理子模塊、學(xué)生成績(jī)管理子模塊、課程管理子檔案管理子模塊、學(xué)生成績(jī)管理子模塊、課程管理子模塊、教師授課管理子模塊、教師檔案管理子模塊等,模塊、教師授課管理子模塊、教師檔案管理子模塊等,其中學(xué)生選課子模塊中包含其中學(xué)生選課子模塊中包含“學(xué)生學(xué)生”和和“課程課程”兩個(gè)兩個(gè)實(shí)體,在實(shí)體,在“學(xué)生學(xué)生”和和“課程課程”之間,學(xué)生通過(guò)之間,學(xué)生通過(guò)“選課選課”與與“課程課程”發(fā)生聯(lián)系,因此把發(fā)生聯(lián)系,因此把“選修選修”確定為聯(lián)系類確定為聯(lián)系類型,并且型,并且“學(xué)生學(xué)生”和和“課程課程”之間是之間是m:nm:n聯(lián)
4、系聯(lián)系。1.1任務(wù)情境任務(wù)情境 為為“學(xué)生選課管理系統(tǒng)學(xué)生選課管理系統(tǒng)”設(shè)計(jì)一個(gè)設(shè)計(jì)一個(gè)ER模型模型12.任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)(1)首先確定實(shí)體,本題有兩個(gè)實(shí)體類型:學(xué)生首先確定實(shí)體,本題有兩個(gè)實(shí)體類型:學(xué)生s,課程,課程c。(2)確定聯(lián)系。實(shí)體確定聯(lián)系。實(shí)體s與實(shí)體與實(shí)體c之間有聯(lián)系,且為之間有聯(lián)系,且為m:n聯(lián)系(多對(duì)多聯(lián)聯(lián)系(多對(duì)多聯(lián)系)系),命名為命名為sc。(3)確定實(shí)體和聯(lián)系的屬性。實(shí)體學(xué)生確定實(shí)體和聯(lián)系的屬性。實(shí)體學(xué)生s的屬性有:學(xué)號(hào)的屬性有:學(xué)號(hào)sno,班級(jí)班級(jí)class,姓名姓名sname,性別,性別ssex,出生日期出生日期birthday,地址,地址address,電話,電話
5、tel,郵箱,郵箱email,其中實(shí)體標(biāo)識(shí)符為,其中實(shí)體標(biāo)識(shí)符為sno(實(shí)體的主碼);實(shí)體課程(實(shí)體的主碼);實(shí)體課程c的屬性有:課程編號(hào)的屬性有:課程編號(hào)cno,課程名稱,課程名稱cname,學(xué)分,學(xué)分credit,其中實(shí),其中實(shí)體標(biāo)識(shí)符為體標(biāo)識(shí)符為cno(實(shí)體的主碼實(shí)體的主碼);聯(lián)系選課;聯(lián)系選課sc的屬性是某學(xué)生選修某課的屬性是某學(xué)生選修某課程的成績(jī)程的成績(jī)score。利用利用E-R方法畫(huà)出方法畫(huà)出“學(xué)生選課管理系統(tǒng)學(xué)生選課管理系統(tǒng)”ER圖,如圖圖,如圖3-2所示。所示。7圖圖3-2 “學(xué)生選課管理系統(tǒng)學(xué)生選課管理系統(tǒng)”ER圖圖8數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)是針對(duì)特定的應(yīng)用需求和環(huán)境,創(chuàng)建一數(shù)據(jù)庫(kù)設(shè)
6、計(jì)的任務(wù)是針對(duì)特定的應(yīng)用需求和環(huán)境,創(chuàng)建一個(gè)性能良好的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù),并基于數(shù)據(jù)庫(kù)開(kāi)發(fā)及個(gè)性能良好的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù),并基于數(shù)據(jù)庫(kù)開(kāi)發(fā)及其應(yīng)用軟件系統(tǒng),使系統(tǒng)能有效地收集、存貯和管理數(shù)據(jù),并其應(yīng)用軟件系統(tǒng),使系統(tǒng)能有效地收集、存貯和管理數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行處理和加工。對(duì)數(shù)據(jù)進(jìn)行處理和加工。一、一、數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)步驟分為數(shù)據(jù)庫(kù)設(shè)計(jì)步驟分為6個(gè)階段個(gè)階段:需求分析需求分析邏輯設(shè)計(jì)邏輯設(shè)計(jì)概念設(shè)計(jì)概念設(shè)計(jì)物理設(shè)計(jì)物理設(shè)計(jì)實(shí)施實(shí)施運(yùn)行和維護(hù)運(yùn)行和維護(hù)1. 需求分析階段需求分析階段進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確地了解與分析用戶需求(包進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確地了解與分析
7、用戶需求(包括括數(shù)據(jù)和處理數(shù)據(jù)和處理),需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、),需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗時(shí)間的一步。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)最耗時(shí)間的一步。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。設(shè)計(jì)返工重做。92. 2. 概念結(jié)構(gòu)設(shè)計(jì)階段概念結(jié)構(gòu)設(shè)計(jì)階段概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMSDBMS的概念模型的概念模型(實(shí)體模型(實(shí)體模型也叫概念模型也叫概念模型)。)。3. 3. 邏輯結(jié)構(gòu)設(shè)
8、計(jì)階段邏輯結(jié)構(gòu)設(shè)計(jì)階段邏輯結(jié)構(gòu)設(shè)計(jì)是將概念模型轉(zhuǎn)換為某個(gè)邏輯結(jié)構(gòu)設(shè)計(jì)是將概念模型轉(zhuǎn)換為某個(gè)DBMSDBMS所支持的數(shù)據(jù)模所支持的數(shù)據(jù)模型(關(guān)系模型),并對(duì)其進(jìn)行優(yōu)化。型(關(guān)系模型),并對(duì)其進(jìn)行優(yōu)化。4. 4. 數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存貯結(jié)構(gòu)和存貯方法)。的物理結(jié)構(gòu)(包括存貯結(jié)構(gòu)和存貯方法)。105. 5. 數(shù)據(jù)庫(kù)實(shí)施階段數(shù)據(jù)庫(kù)實(shí)施階段運(yùn)用運(yùn)用DBMSDBMS提供的數(shù)據(jù)語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)提供的數(shù)據(jù)語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果果建立數(shù)據(jù)庫(kù)建立數(shù)據(jù)
9、庫(kù),編制與調(diào)試應(yīng)用程序編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。試運(yùn)行。6. 6. 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行之后,即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行之后,即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整和修改。數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整和修改。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是不可能一蹴而就的,它設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是不可能一蹴而就的,它往往是上述往往是上述6個(gè)階段的不斷反復(fù)的過(guò)程。個(gè)階段的不斷反復(fù)的過(guò)程。11現(xiàn)實(shí)世界是存在于人腦之外的客觀世界,如現(xiàn)實(shí)世界是存在于人腦之外
10、的客觀世界,如何使用數(shù)據(jù)來(lái)解釋和認(rèn)識(shí)現(xiàn)實(shí)世界,則需要相應(yīng)何使用數(shù)據(jù)來(lái)解釋和認(rèn)識(shí)現(xiàn)實(shí)世界,則需要相應(yīng)手段進(jìn)行描述。手段進(jìn)行描述。模型是對(duì)現(xiàn)實(shí)世界的模擬和抽象。船模、航模型是對(duì)現(xiàn)實(shí)世界的模擬和抽象。船模、航模等都是對(duì)現(xiàn)實(shí)世界事物的一種模擬。數(shù)據(jù)模型模等都是對(duì)現(xiàn)實(shí)世界事物的一種模擬。數(shù)據(jù)模型也是一種模型,它是對(duì)現(xiàn)實(shí)世界問(wèn)題的數(shù)據(jù)特征也是一種模型,它是對(duì)現(xiàn)實(shí)世界問(wèn)題的數(shù)據(jù)特征的描述的描述。121.現(xiàn)實(shí)世界現(xiàn)實(shí)世界泛指存在于人們頭腦之外的客觀世界,其中存在著各種事物,事泛指存在于人們頭腦之外的客觀世界,其中存在著各種事物,事物間又具有不同的聯(lián)系。為了用數(shù)據(jù)庫(kù)系統(tǒng)來(lái)解決現(xiàn)實(shí)世界中的問(wèn)題,物間又具有不同的聯(lián)
11、系。為了用數(shù)據(jù)庫(kù)系統(tǒng)來(lái)解決現(xiàn)實(shí)世界中的問(wèn)題,就必須先深入實(shí)際,把要解決的問(wèn)題調(diào)查清楚,分析與問(wèn)題有關(guān)的事就必須先深入實(shí)際,把要解決的問(wèn)題調(diào)查清楚,分析與問(wèn)題有關(guān)的事物及其聯(lián)系。物及其聯(lián)系。關(guān)鍵詞:關(guān)鍵詞:事物事物聯(lián)系聯(lián)系2.信息世界信息世界是現(xiàn)實(shí)世界在人們頭腦中的反映??陀^事物在觀念世界中稱為實(shí)是現(xiàn)實(shí)世界在人們頭腦中的反映。客觀事物在觀念世界中稱為實(shí)體,反映事物聯(lián)系的是實(shí)體模型(概念模型)。體,反映事物聯(lián)系的是實(shí)體模型(概念模型)。關(guān)鍵詞:關(guān)鍵詞:實(shí)體實(shí)體聯(lián)系聯(lián)系概念模型概念模型3.數(shù)據(jù)世界數(shù)據(jù)世界信息世界中的信息經(jīng)數(shù)字化處理形成計(jì)算機(jī)能夠處理的數(shù)據(jù),就信息世界中的信息經(jīng)數(shù)字化處理形成計(jì)算機(jī)能
12、夠處理的數(shù)據(jù),就進(jìn)入了數(shù)據(jù)世界。現(xiàn)實(shí)世界中的實(shí)體及其相互聯(lián)系被轉(zhuǎn)換成數(shù)據(jù)世界進(jìn)入了數(shù)據(jù)世界?,F(xiàn)實(shí)世界中的實(shí)體及其相互聯(lián)系被轉(zhuǎn)換成數(shù)據(jù)世界中的數(shù)據(jù)及其聯(lián)系,這種聯(lián)系是用數(shù)據(jù)模型描述的。中的數(shù)據(jù)及其聯(lián)系,這種聯(lián)系是用數(shù)據(jù)模型描述的。關(guān)鍵詞:關(guān)鍵詞:數(shù)據(jù)數(shù)據(jù)聯(lián)系聯(lián)系數(shù)據(jù)模型數(shù)據(jù)模型13因此,客觀事物系信息之源,是設(shè)計(jì)數(shù)據(jù)庫(kù)的出發(fā)點(diǎn),也因此,客觀事物系信息之源,是設(shè)計(jì)數(shù)據(jù)庫(kù)的出發(fā)點(diǎn),也是使用數(shù)據(jù)庫(kù)的最終歸宿。實(shí)體模型(概念模型)與數(shù)據(jù)模型是使用數(shù)據(jù)庫(kù)的最終歸宿。實(shí)體模型(概念模型)與數(shù)據(jù)模型是對(duì)客觀事物及其聯(lián)系的兩種抽象描述。數(shù)據(jù)庫(kù)的核心問(wèn)題是是對(duì)客觀事物及其聯(lián)系的兩種抽象描述。數(shù)據(jù)庫(kù)的核心問(wèn)題是數(shù)據(jù)
13、模型,為了得到正確的模型,首先要充分了解客觀事物。數(shù)據(jù)模型,為了得到正確的模型,首先要充分了解客觀事物。4. 現(xiàn)實(shí)世界、信息世界、數(shù)據(jù)世界的關(guān)系現(xiàn)實(shí)世界、信息世界、數(shù)據(jù)世界的關(guān)系現(xiàn)實(shí)世界現(xiàn)實(shí)世界事物及聯(lián)系事物及聯(lián)系系統(tǒng)分析系統(tǒng)分析信息化信息化信息世界信息世界概念模型概念模型數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)化數(shù)據(jù)化計(jì)算機(jī)世界計(jì)算機(jī)世界數(shù)據(jù)模型數(shù)據(jù)模型信息的三個(gè)世界的聯(lián)系和轉(zhuǎn)換過(guò)程信息的三個(gè)世界的聯(lián)系和轉(zhuǎn)換過(guò)程14現(xiàn)實(shí)世界中的事物在人們頭腦中反映的信息世界是用文字和符號(hào)記載下現(xiàn)實(shí)世界中的事物在人們頭腦中反映的信息世界是用文字和符號(hào)記載下來(lái)的,描述事物的術(shù)語(yǔ)有以下幾種:來(lái)的,描述事物的術(shù)語(yǔ)有以下幾種:1.實(shí)
14、體(實(shí)體(Entity)客觀世界中存在的并可以相互區(qū)分的事物或概念,稱為實(shí)體??陀^世界中存在的并可以相互區(qū)分的事物或概念,稱為實(shí)體。實(shí)體可以是具體的,如一個(gè)學(xué)生、一本書(shū);也可以是抽象的事件,如一實(shí)體可以是具體的,如一個(gè)學(xué)生、一本書(shū);也可以是抽象的事件,如一場(chǎng)足球比賽。場(chǎng)足球比賽。實(shí)體的表征:實(shí)體的表征:實(shí)體用型(實(shí)體用型(Type)和值()和值(Value)來(lái)表征。例如:一個(gè)學(xué))來(lái)表征。例如:一個(gè)學(xué)生是一個(gè)實(shí)體,學(xué)生的生是一個(gè)實(shí)體,學(xué)生的“學(xué)號(hào),姓名,年齡,系別學(xué)號(hào),姓名,年齡,系別”是實(shí)體的型描述,而具是實(shí)體的型描述,而具體的學(xué)生:體的學(xué)生:“021031001,王明,王明,20,計(jì)計(jì)信系信
15、系”是實(shí)體值。是實(shí)體值。2.屬性(屬性(Attribute)實(shí)體所具有的某一特性在信息世界中稱為屬性。一個(gè)實(shí)體可以由若干個(gè)實(shí)體所具有的某一特性在信息世界中稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫(huà)。例:一個(gè)學(xué)生有屬性來(lái)刻畫(huà)。例:一個(gè)學(xué)生有姓名姓名、性別性別、年齡年齡等屬性。等屬性。屬性的域:屬性的域:屬性的取值范圍稱為該屬性的域。屬性的取值范圍稱為該屬性的域。每個(gè)屬性都有一個(gè)值域(每個(gè)屬性都有一個(gè)值域(Domain),例:性別),例:性別“男男”、”女女”,年齡,年齡2035;值域有類型,可以是整數(shù),實(shí)數(shù)或字符型等。例姓名的類型為字;值域有類型,可以是整數(shù),實(shí)數(shù)或字符型等。例姓名的類型為字符型,
16、年齡的類型為整型。符型,年齡的類型為整型。屬性的表征:屬性的表征:屬性用型(屬性用型(Type)和值()和值(Value)表征,例:學(xué)號(hào)、姓名、)表征,例:學(xué)號(hào)、姓名、性別、年齡、是屬性的型,而具體的性別、年齡、是屬性的型,而具體的021031001、王明、男、王明、男、20則是屬性值。則是屬性值。153.實(shí)體型(實(shí)體型(Entity Type)或?qū)嶓w的描述)或?qū)嶓w的描述具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì),用實(shí)體名及具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì),用實(shí)體名及其屬性名其屬性名集合集合來(lái)抽象和刻畫(huà)同類實(shí)體,稱為實(shí)體型。如,學(xué)生實(shí)體,來(lái)抽象和刻畫(huà)同類實(shí)體,稱為實(shí)體型。如,學(xué)生實(shí)體
17、,其型的描述為:學(xué)生(學(xué)號(hào),姓名,性別,年齡)是一個(gè)實(shí)體型。其型的描述為:學(xué)生(學(xué)號(hào),姓名,性別,年齡)是一個(gè)實(shí)體型。4.實(shí)體值實(shí)體值是實(shí)體的具體實(shí)例,是屬性值的集合。如,學(xué)生王明的實(shí)體值是實(shí)體的具體實(shí)例,是屬性值的集合。如,學(xué)生王明的實(shí)體值是:(是:(021031001,王明,男,王明,男,18)。)。屬于同一實(shí)體集的實(shí)體的實(shí)體型是相同的,但實(shí)體值是不同的。屬于同一實(shí)體集的實(shí)體的實(shí)體型是相同的,但實(shí)體值是不同的。5.實(shí)體集(實(shí)體集(Entity set)性質(zhì)相同的同類實(shí)體的集合稱為實(shí)體集?;蛲蛯?shí)體的集合稱性質(zhì)相同的同類實(shí)體的集合稱為實(shí)體集?;蛲蛯?shí)體的集合稱為實(shí)體集。如,一班學(xué)生,一批書(shū)籍
18、。為實(shí)體集。如,一班學(xué)生,一批書(shū)籍。6.碼(鍵碼(鍵Key)能惟一標(biāo)識(shí)實(shí)體集中每個(gè)實(shí)體的屬性或?qū)傩越M稱為實(shí)體集的碼能惟一標(biāo)識(shí)實(shí)體集中每個(gè)實(shí)體的屬性或?qū)傩越M稱為實(shí)體集的碼(鍵(鍵Key)。當(dāng)一個(gè)實(shí)體集中包括多個(gè)碼時(shí),通常要選定其中一個(gè))。當(dāng)一個(gè)實(shí)體集中包括多個(gè)碼時(shí),通常要選定其中一個(gè)碼為主碼,其他是候選碼,實(shí)體集中不能惟一標(biāo)識(shí)實(shí)體屬性的叫次碼為主碼,其他是候選碼,實(shí)體集中不能惟一標(biāo)識(shí)實(shí)體屬性的叫次碼。碼。167.實(shí)體集聯(lián)系實(shí)體集聯(lián)系建立實(shí)體模型的一個(gè)重要任務(wù)就是要找出實(shí)體集之間的聯(lián)系。常建立實(shí)體模型的一個(gè)重要任務(wù)就是要找出實(shí)體集之間的聯(lián)系。常見(jiàn)的實(shí)體集聯(lián)系有以下見(jiàn)的實(shí)體集聯(lián)系有以下3種:(設(shè)種:
19、(設(shè)A和和B為兩個(gè)實(shí)體集,用為兩個(gè)實(shí)體集,用 矩形矩形表示表示實(shí)體集,實(shí)體集, 菱形菱形表示聯(lián)系)。表示聯(lián)系)。 一對(duì)一聯(lián)系一對(duì)一聯(lián)系(1:1)如果如果A 中的任一實(shí)體至多對(duì)應(yīng)中的任一實(shí)體至多對(duì)應(yīng)B 中的一個(gè)實(shí)體;且中的一個(gè)實(shí)體;且B中的任一實(shí)中的任一實(shí)體至多對(duì)應(yīng)體至多對(duì)應(yīng)A中的一個(gè)實(shí)體,則稱中的一個(gè)實(shí)體,則稱A 與與B是一對(duì)一聯(lián)系。是一對(duì)一聯(lián)系。例:例:電影院觀眾與座位實(shí)體集之間、乘車旅客與車票之間、病人電影院觀眾與座位實(shí)體集之間、乘車旅客與車票之間、病人與病床之間等都是一對(duì)一聯(lián)系。與病床之間等都是一對(duì)一聯(lián)系。a1a2a3a4a5b1b2b3b4b5AB11示范示范表示表示叫E 圖,也稱為E
20、 模型17 一對(duì)多聯(lián)系一對(duì)多聯(lián)系(1:N)如果如果A 中中至少至少有一個(gè)實(shí)體對(duì)應(yīng)有一個(gè)實(shí)體對(duì)應(yīng)B中一個(gè)以上實(shí)體,且中一個(gè)以上實(shí)體,且B中中任一實(shí)體任一實(shí)體至多至多對(duì)應(yīng)對(duì)應(yīng)A中一個(gè)實(shí)體,則稱中一個(gè)實(shí)體,則稱A對(duì)對(duì)B是一對(duì)多聯(lián)系。是一對(duì)多聯(lián)系。例:學(xué)校對(duì)系、班級(jí)對(duì)學(xué)生等都是一對(duì)多聯(lián)系。例:學(xué)校對(duì)系、班級(jí)對(duì)學(xué)生等都是一對(duì)多聯(lián)系。a1a2a3a4a5b1b2b3b4b5AB1N示范示范表示表示18 多對(duì)多聯(lián)系(多對(duì)多聯(lián)系(M:N)如果如果A中至少有一個(gè)實(shí)體對(duì)應(yīng)中至少有一個(gè)實(shí)體對(duì)應(yīng)B中一個(gè)以上實(shí)體,且中一個(gè)以上實(shí)體,且B中中也至少有一個(gè)實(shí)體對(duì)應(yīng)也至少有一個(gè)實(shí)體對(duì)應(yīng)A中一個(gè)以上實(shí)體,則稱中一個(gè)以上實(shí)體,則
21、稱A與與B是多對(duì)多是多對(duì)多聯(lián)系。聯(lián)系。例如:例如:學(xué)生與課程、工廠與產(chǎn)品、商品與顧客等都是多對(duì)學(xué)生與課程、工廠與產(chǎn)品、商品與顧客等都是多對(duì)多聯(lián)系。多聯(lián)系。a1a2a3a4a5b1b2b3b4b5ABMN示范示范表示表示198.E-R模型模型E-R模型是一種語(yǔ)義模型,又叫模型是一種語(yǔ)義模型,又叫E-R圖、實(shí)體圖、實(shí)體聯(lián)系模型聯(lián)系模型(EntityRelationship Approach)E-R模型的模型的構(gòu)成成分構(gòu)成成分是是實(shí)體集實(shí)體集、屬性屬性和和聯(lián)系集聯(lián)系集(一對(duì)一、(一對(duì)一、一對(duì)多、多對(duì)多)。構(gòu)成方法如下:一對(duì)多、多對(duì)多)。構(gòu)成方法如下: 實(shí)體集用實(shí)體集用矩形矩形框表示,框內(nèi)寫(xiě)上實(shí)體集名
22、??虮硎?,框內(nèi)寫(xiě)上實(shí)體集名。 實(shí)體的屬性用實(shí)體的屬性用圓圓或或橢圓橢圓表示,其內(nèi)寫(xiě)上屬性名,并用表示,其內(nèi)寫(xiě)上屬性名,并用無(wú)無(wú)向邊向邊與其實(shí)體集相連。與其實(shí)體集相連。學(xué)生學(xué)生學(xué)號(hào)學(xué)號(hào)姓名姓名性別性別年齡年齡所在系所在系20 實(shí)體集間的聯(lián)系用菱形框表示,聯(lián)系以適當(dāng)含義命名,名實(shí)體集間的聯(lián)系用菱形框表示,聯(lián)系以適當(dāng)含義命名,名字寫(xiě)在菱形框內(nèi),用無(wú)向連線將參加相應(yīng)聯(lián)系的實(shí)體矩形框分字寫(xiě)在菱形框內(nèi),用無(wú)向連線將參加相應(yīng)聯(lián)系的實(shí)體矩形框分別與菱形相連,并在連線上標(biāo)明聯(lián)系的類型別與菱形相連,并在連線上標(biāo)明聯(lián)系的類型。注意:注意:1和和M要寫(xiě)在對(duì)應(yīng)實(shí)體矩形那邊的連線上,不可寫(xiě)反。要寫(xiě)在對(duì)應(yīng)實(shí)體矩形那邊的連線
23、上,不可寫(xiě)反。2122例:例:班級(jí)班級(jí)、學(xué)生學(xué)生實(shí)體集及其聯(lián)系。實(shí)體集及其聯(lián)系。性別性別學(xué)號(hào)學(xué)號(hào)姓名姓名年齡年齡學(xué)生學(xué)生屬于屬于班級(jí)班級(jí)班級(jí)號(hào)班級(jí)號(hào)班級(jí)名班級(jí)名人數(shù)人數(shù)n1實(shí)體集:學(xué)生:學(xué)號(hào)、姓名、性別、年齡;實(shí)體集:學(xué)生:學(xué)號(hào)、姓名、性別、年齡;班級(jí)班級(jí): : 班級(jí)號(hào)、班級(jí)名、人數(shù);班級(jí)號(hào)、班級(jí)名、人數(shù);屬性:屬性:“學(xué)號(hào)學(xué)號(hào)”、“班級(jí)號(hào)班級(jí)號(hào)”分別是學(xué)生實(shí)體集和班級(jí)實(shí)體集的碼或分別是學(xué)生實(shí)體集和班級(jí)實(shí)體集的碼或鍵,故其屬性名有下劃線。鍵,故其屬性名有下劃線?!叭藬?shù)人數(shù)”屬性是派生屬性屬性是派生屬性( (其值可以從其他相關(guān)實(shí)體或?qū)傩灾信缮銎渲悼梢詮钠渌嚓P(guān)實(shí)體或?qū)傩灾信缮鰜?lái)來(lái)) ),其值
24、可以通過(guò)計(jì)算該班級(jí)學(xué)生實(shí)體的數(shù)目而獲得,故用虛橢圓形框,其值可以通過(guò)計(jì)算該班級(jí)學(xué)生實(shí)體的數(shù)目而獲得,故用虛橢圓形框表示。表示。聯(lián)系:聯(lián)系:“屬于屬于”是是1 1對(duì)多,由于參與者對(duì)多,由于參與者“學(xué)生學(xué)生”在在“屬于屬于”聯(lián)系中是聯(lián)系中是全部的,所以用雙線將其與全部的,所以用雙線將其與“屬于屬于”聯(lián)系相連。聯(lián)系相連。 23例:例:“課程課程”實(shí)體集、實(shí)體集、“教師教師”實(shí)體集及相互間的聯(lián)系。實(shí)體集及相互間的聯(lián)系。教師號(hào)教師號(hào)姓名姓名性別性別職稱職稱電話號(hào)電話號(hào)碼碼E-mailE-mail地址地址城市城市教師教師家庭地址家庭地址區(qū)區(qū)街道街道郵政編郵政編碼碼課程課程課程號(hào)課程號(hào)課程名課程名學(xué)分學(xué)分周
25、學(xué)時(shí)周學(xué)時(shí)教授教授nm24其中:其中:“E-mail地址地址”屬性是一個(gè)多值屬性,故用雙橢圓形屬性是一個(gè)多值屬性,故用雙橢圓形框表示;框表示;“家庭地址家庭地址”屬性是一個(gè)復(fù)合屬性,在其下面還有屬性是一個(gè)復(fù)合屬性,在其下面還有4個(gè)屬性與個(gè)屬性與其相連。其相連?!敖處熖?hào)教師號(hào)”下有一下劃線,表示此屬性是下有一下劃線,表示此屬性是“教師教師”實(shí)體的碼實(shí)體的碼(鍵)。(鍵)??傊嚎傊篍-R模型是數(shù)據(jù)庫(kù)設(shè)計(jì)人員與用戶進(jìn)行交互的最有效工模型是數(shù)據(jù)庫(kù)設(shè)計(jì)人員與用戶進(jìn)行交互的最有效工具,用具,用E-R模型來(lái)描述概念模非常接近人的思維,易被人模型來(lái)描述概念模非常接近人的思維,易被人理解,而且理解,而且E-
26、R模型與具體的計(jì)算機(jī)系統(tǒng)無(wú)關(guān),易被不具模型與具體的計(jì)算機(jī)系統(tǒng)無(wú)關(guān),易被不具備計(jì)算機(jī)知識(shí)的最終用戶接受。備計(jì)算機(jī)知識(shí)的最終用戶接受。25人們常常首先將現(xiàn)實(shí)世界人們常常首先將現(xiàn)實(shí)世界抽象為信息世界,然后將信息抽象為信息世界,然后將信息世界轉(zhuǎn)換為機(jī)器世界。也就是世界轉(zhuǎn)換為機(jī)器世界。也就是說(shuō),首先把現(xiàn)實(shí)世界中的客觀說(shuō),首先把現(xiàn)實(shí)世界中的客觀對(duì)象抽象為某一種信息結(jié)構(gòu),對(duì)象抽象為某一種信息結(jié)構(gòu),這種信息結(jié)構(gòu)并不依賴于具體這種信息結(jié)構(gòu)并不依賴于具體的計(jì)算機(jī)系統(tǒng),不是某一個(gè)的計(jì)算機(jī)系統(tǒng),不是某一個(gè)DBMS支持的數(shù)據(jù)模型,而是概支持的數(shù)據(jù)模型,而是概念級(jí)的模型;然后再把概念模念級(jí)的模型;然后再把概念模型轉(zhuǎn)換為計(jì)
27、算機(jī)上某一型轉(zhuǎn)換為計(jì)算機(jī)上某一DBMS支支持的數(shù)據(jù)模型。持的數(shù)據(jù)模型。現(xiàn)實(shí)世界現(xiàn)實(shí)世界認(rèn)認(rèn)識(shí)識(shí)抽抽象象信息世界:概念模型信息世界:概念模型機(jī)器世界機(jī)器世界DBMS支持的數(shù)據(jù)模型支持的數(shù)據(jù)模型對(duì)象的抽象過(guò)程對(duì)象的抽象過(guò)程概念模型小結(jié)概念模型小結(jié)26定義:反映實(shí)體集之間聯(lián)系的模型稱為模念模型,又稱為實(shí)體定義:反映實(shí)體集之間聯(lián)系的模型稱為模念模型,又稱為實(shí)體模型。它獨(dú)立于計(jì)算機(jī)系統(tǒng),它是按用戶的觀點(diǎn)來(lái)描述某個(gè)模型。它獨(dú)立于計(jì)算機(jī)系統(tǒng),它是按用戶的觀點(diǎn)來(lái)描述某個(gè)業(yè)務(wù)所關(guān)心的信息結(jié)構(gòu),是對(duì)現(xiàn)實(shí)世界的第一層抽象。業(yè)務(wù)所關(guān)心的信息結(jié)構(gòu),是對(duì)現(xiàn)實(shí)世界的第一層抽象。數(shù)據(jù)庫(kù)設(shè)計(jì)的重要任務(wù)就是建立概念數(shù)據(jù)庫(kù)設(shè)計(jì)的重
28、要任務(wù)就是建立概念 ( (實(shí)體實(shí)體) )模型,它是概念數(shù)模型,它是概念數(shù)據(jù)庫(kù)的具體描述。在建立實(shí)體模型中,實(shí)體要逐一命名以示據(jù)庫(kù)的具體描述。在建立實(shí)體模型中,實(shí)體要逐一命名以示區(qū)別,并描述其間的各種聯(lián)系。區(qū)別,并描述其間的各種聯(lián)系。概念模型的表示:用概念模型的表示:用E-RE-R圖(圖(E-RE-R模型、實(shí)體模型、實(shí)體- -聯(lián)系模型)。聯(lián)系模型)。2.1 任務(wù)情境任務(wù)情境將任務(wù)將任務(wù)1的的“學(xué)生選課管理系統(tǒng)學(xué)生選課管理系統(tǒng)”的的ER模型轉(zhuǎn)換為關(guān)系模型模型轉(zhuǎn)換為關(guān)系模型2.2 任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)首先轉(zhuǎn)換兩個(gè)實(shí)體為關(guān)系。首先轉(zhuǎn)換兩個(gè)實(shí)體為關(guān)系。 學(xué)生關(guān)系模式學(xué)生關(guān)系模式s(sno,class,sna
29、me,ssex,birthday,address,tel,email) 課程關(guān)系模式課程關(guān)系模式c(cno,cname,credit)再轉(zhuǎn)換一個(gè)聯(lián)系為關(guān)系。選課關(guān)系模式再轉(zhuǎn)換一個(gè)聯(lián)系為關(guān)系。選課關(guān)系模式sc(sno,cno,score)最后將具有相同碼的關(guān)系合并,得出新的關(guān)系模型如下表最后將具有相同碼的關(guān)系合并,得出新的關(guān)系模型如下表3-2所示。所示。28在描述現(xiàn)實(shí)世界的過(guò)程中,通常將在描述現(xiàn)實(shí)世界的過(guò)程中,通常將模型分為兩個(gè)層次模型分為兩個(gè)層次:第第1是概念模型是概念模型(也稱信息模型、實(shí)體模型),它是對(duì)(也稱信息模型、實(shí)體模型),它是對(duì)現(xiàn)實(shí)世界的第一層抽象,是根據(jù)用戶的觀點(diǎn)對(duì)信息建模,現(xiàn)實(shí)
30、世界的第一層抽象,是根據(jù)用戶的觀點(diǎn)對(duì)信息建模,與計(jì)算機(jī)系統(tǒng)無(wú)關(guān);與計(jì)算機(jī)系統(tǒng)無(wú)關(guān);第第2是數(shù)據(jù)模型是數(shù)據(jù)模型,是對(duì)現(xiàn)實(shí)世界的第二層抽象,直接與,是對(duì)現(xiàn)實(shí)世界的第二層抽象,直接與DBMS有關(guān),這類模型有嚴(yán)格的形式化定義,以便于在計(jì)有關(guān),這類模型有嚴(yán)格的形式化定義,以便于在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。它通常有一組嚴(yán)格定義的無(wú)二義性語(yǔ)法算機(jī)系統(tǒng)中實(shí)現(xiàn)。它通常有一組嚴(yán)格定義的無(wú)二義性語(yǔ)法和語(yǔ)義的數(shù)據(jù)庫(kù)語(yǔ)言,人們可以用這種語(yǔ)言來(lái)定義、操作和語(yǔ)義的數(shù)據(jù)庫(kù)語(yǔ)言,人們可以用這種語(yǔ)言來(lái)定義、操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)中的數(shù)據(jù)。定義:定義:一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合,一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合,
31、這些概念精確地描述了系統(tǒng)的這些概念精確地描述了系統(tǒng)的靜態(tài)特征靜態(tài)特征、動(dòng)態(tài)特征動(dòng)態(tài)特征和和完整完整性約束性約束。因此,數(shù)據(jù)模型通常由。因此,數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作數(shù)據(jù)操作和和完完整性約束整性約束三部分組成,又稱為數(shù)據(jù)模型的三要素。三部分組成,又稱為數(shù)據(jù)模型的三要素。29 數(shù)據(jù)模型三要素?cái)?shù)據(jù)模型三要素1.1.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型的集合。它規(guī)定了數(shù)據(jù)結(jié)構(gòu)是所研究的對(duì)象類型的集合。它規(guī)定了如何把基本的數(shù)據(jù)項(xiàng)組織成較大的數(shù)據(jù)單位,以描述如何把基本的數(shù)據(jù)項(xiàng)組織成較大的數(shù)據(jù)單位,以描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì)和數(shù)據(jù)之間的相互關(guān)系。它數(shù)據(jù)的類型、內(nèi)容、性質(zhì)和數(shù)據(jù)之間的相
32、互關(guān)系。它是數(shù)據(jù)模型最基本的組成部分,規(guī)定了數(shù)據(jù)模型的是數(shù)據(jù)模型最基本的組成部分,規(guī)定了數(shù)據(jù)模型的靜靜態(tài)特性態(tài)特性。在數(shù)據(jù)庫(kù)系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類型來(lái)命名在數(shù)據(jù)庫(kù)系統(tǒng)中通常按照數(shù)據(jù)結(jié)構(gòu)的類型來(lái)命名數(shù)據(jù)模型。例如,采用層次型數(shù)據(jù)結(jié)構(gòu)、網(wǎng)狀型數(shù)據(jù)數(shù)據(jù)模型。例如,采用層次型數(shù)據(jù)結(jié)構(gòu)、網(wǎng)狀型數(shù)據(jù)結(jié)構(gòu)和關(guān)系型數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型分別稱為層次模型、結(jié)構(gòu)和關(guān)系型數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型分別稱為層次模型、網(wǎng)狀模型和關(guān)系模型。網(wǎng)狀模型和關(guān)系模型。302.2.數(shù)據(jù)操作數(shù)據(jù)操作數(shù)據(jù)操作是對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)數(shù)據(jù)操作是對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及操作規(guī)則。數(shù)據(jù)庫(kù)操允
33、許執(zhí)行的操作的集合,包括操作及操作規(guī)則。數(shù)據(jù)庫(kù)操作主要包括查詢和更新(包括扦入、刪除、修改)兩類操作主要包括查詢和更新(包括扦入、刪除、修改)兩類操作。作。數(shù)據(jù)模型要給出這些操作確切的含義,操作規(guī)則和實(shí)數(shù)據(jù)模型要給出這些操作確切的含義,操作規(guī)則和實(shí)現(xiàn)操作的語(yǔ)言。因此,數(shù)據(jù)操作規(guī)定了數(shù)據(jù)模型的現(xiàn)操作的語(yǔ)言。因此,數(shù)據(jù)操作規(guī)定了數(shù)據(jù)模型的動(dòng)態(tài)特動(dòng)態(tài)特性性。3.數(shù)據(jù)約束數(shù)據(jù)約束數(shù)據(jù)約束是指一組完整性規(guī)則的集合。數(shù)據(jù)約束是指一組完整性規(guī)則的集合。完整性規(guī)則是對(duì)給定的數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所完整性規(guī)則是對(duì)給定的數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所制定的制定的約約束和依存束和依存規(guī)則規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)
34、據(jù)庫(kù),用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及可容許的狀態(tài)改變,以保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)的正狀態(tài)以及可容許的狀態(tài)改變,以保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)的正確性、有效性和相容性。確性、有效性和相容性。31完整性約束的定義對(duì)數(shù)據(jù)模型的動(dòng)態(tài)特性做了進(jìn)一步的描完整性約束的定義對(duì)數(shù)據(jù)模型的動(dòng)態(tài)特性做了進(jìn)一步的描述與限定。因?yàn)樵谀承┣闆r下,若只限定使用的數(shù)據(jù)結(jié)構(gòu)及可述與限定。因?yàn)樵谀承┣闆r下,若只限定使用的數(shù)據(jù)結(jié)構(gòu)及可在該結(jié)構(gòu)上執(zhí)行的操作,仍然不能確保數(shù)據(jù)的正確性、有效性在該結(jié)構(gòu)上執(zhí)行的操作,仍然不能確保數(shù)據(jù)的正確性、有效性和相容性。為此,每種數(shù)據(jù)模型都規(guī)定有通用和特殊的完整性和相容性。為此,每種數(shù)據(jù)模型都規(guī)定有通用和特殊的
35、完整性約束條件:約束條件: 通用的完整性約束條件:通用的完整性約束條件:通常把具有普遍性的問(wèn)題歸納成一組通用的約束規(guī)則,只通常把具有普遍性的問(wèn)題歸納成一組通用的約束規(guī)則,只有在滿足給定約束規(guī)則的條件下才允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作。有在滿足給定約束規(guī)則的條件下才允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作。例如,關(guān)系模型中通用的約束規(guī)則是實(shí)體完整性和參照完整性。例如,關(guān)系模型中通用的約束規(guī)則是實(shí)體完整性和參照完整性。 特殊的完整性約束條件。特殊的完整性約束條件。把能夠反映某一應(yīng)用所涉及的數(shù)據(jù)所必須遵守的特定的語(yǔ)把能夠反映某一應(yīng)用所涉及的數(shù)據(jù)所必須遵守的特定的語(yǔ)義約束條件定義成特殊的完整性條件。例如,關(guān)系模型中特殊義約
36、束條件定義成特殊的完整性條件。例如,關(guān)系模型中特殊的約束規(guī)則是用戶定義的完整性。又例如,在實(shí)行學(xué)分制的條的約束規(guī)則是用戶定義的完整性。又例如,在實(shí)行學(xué)分制的條件下,一個(gè)學(xué)籍管理數(shù)據(jù)庫(kù)中學(xué)生的修業(yè)年限限定在件下,一個(gè)學(xué)籍管理數(shù)據(jù)庫(kù)中學(xué)生的修業(yè)年限限定在6年之內(nèi)。年之內(nèi)。32 常見(jiàn)的三種數(shù)據(jù)模型常見(jiàn)的三種數(shù)據(jù)模型數(shù)據(jù)庫(kù)系統(tǒng)中最常使用的數(shù)據(jù)模型是:數(shù)據(jù)庫(kù)系統(tǒng)中最常使用的數(shù)據(jù)模型是:層次模型(層次模型(hierarchical model)網(wǎng)狀模型(網(wǎng)狀模型(network model)關(guān)系模型(關(guān)系模型(relational)不同的數(shù)據(jù)模型具有不同的數(shù)據(jù)結(jié)構(gòu)形式、操作特點(diǎn)。不同的數(shù)據(jù)模型具有不同的數(shù)
37、據(jù)結(jié)構(gòu)形式、操作特點(diǎn)。1. 層次模型:是數(shù)據(jù)庫(kù)中使用得較早的一種數(shù)據(jù)模型層次模型:是數(shù)據(jù)庫(kù)中使用得較早的一種數(shù)據(jù)模型ABCDEF院系院系院系編號(hào)院系編號(hào) 院系名稱院系名稱 辦公地點(diǎn)辦公地點(diǎn)教研室教研室教研室編號(hào)教研室編號(hào) 教研室名稱教研室名稱學(xué)號(hào)學(xué)號(hào) 姓名姓名 年齡年齡學(xué)生學(xué)生教師教師教師號(hào)教師號(hào) 教師姓名教師姓名 專業(yè)方向?qū)I(yè)方向圖圖1.層次模型示例層次模型示例圖圖2.學(xué)校、教學(xué)單位層次模型示例學(xué)校、教學(xué)單位層次模型示例332.網(wǎng)狀模型網(wǎng)狀模型在現(xiàn)實(shí)世界中事物之間的聯(lián)系更多的是非層次關(guān)系,用層次模在現(xiàn)實(shí)世界中事物之間的聯(lián)系更多的是非層次關(guān)系,用層次模型表示非樹(shù)形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可
38、以克服這一弊型表示非樹(shù)形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。病。結(jié)構(gòu)是結(jié)點(diǎn)的連通圖:結(jié)構(gòu)是結(jié)點(diǎn)的連通圖:ABCD學(xué)號(hào)學(xué)號(hào) 姓名姓名 年齡年齡 性別性別學(xué)生學(xué)生(s)課程課程(c)學(xué)生選課學(xué)生選課(sc)學(xué)號(hào)學(xué)號(hào) 課程號(hào)課程號(hào) 成績(jī)成績(jī)課程號(hào)課程號(hào) 課程名課程名學(xué)生成績(jī)單學(xué)生成績(jī)單(ssc)課程成績(jī)單課程成績(jī)單(csc)343.關(guān)系模型關(guān)系模型關(guān)系模型是目前最重要的、應(yīng)用最廣泛的一種數(shù)關(guān)系模型是目前最重要的、應(yīng)用最廣泛的一種數(shù)據(jù)模型。據(jù)模型。原因:首先,關(guān)系模型是建立在嚴(yán)格的數(shù)學(xué)概念原因:首先,關(guān)系模型是建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上的,有其堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)。其次這種數(shù)據(jù)模型基礎(chǔ)上的,有其堅(jiān)
39、實(shí)的數(shù)學(xué)基礎(chǔ)。其次這種數(shù)據(jù)模型被實(shí)踐證明是正確有效的數(shù)據(jù)模型。被實(shí)踐證明是正確有效的數(shù)據(jù)模型。 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)在用戶看來(lái),一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二在用戶看來(lái),一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。亦即,在關(guān)系數(shù)據(jù)模型中,維表,它由行和列組成。亦即,在關(guān)系數(shù)據(jù)模型中,把二維表格稱為關(guān)系(把二維表格稱為關(guān)系(Relation)。)。35術(shù)語(yǔ):術(shù)語(yǔ): 字段(字段(Field)信息世界中的信息世界中的“屬性屬性”一詞,在數(shù)據(jù)世界中使用一詞,在數(shù)據(jù)世界中使用“數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)”一詞進(jìn)行描述;從數(shù)據(jù)庫(kù)的角度講,數(shù)據(jù)項(xiàng)就是字段;從表格一詞進(jìn)行描述;從數(shù)據(jù)庫(kù)的角度講,數(shù)據(jù)項(xiàng)就是字段;從表格的
40、角度講,數(shù)據(jù)項(xiàng)稱為列,通常使用字段這一名詞比較通俗。的角度講,數(shù)據(jù)項(xiàng)稱為列,通常使用字段這一名詞比較通俗。例如:學(xué)生的學(xué)號(hào)、姓名、年齡、性別就是字段的字段名,例如:學(xué)生的學(xué)號(hào)、姓名、年齡、性別就是字段的字段名,字段和屬性一樣,也用字段和屬性一樣,也用“型型”和和“值值”表征。由此可見(jiàn),字段表征。由此可見(jiàn),字段、屬性、數(shù)據(jù)項(xiàng)、列這些術(shù)語(yǔ),所描述的對(duì)象是相同的,只是在屬性、數(shù)據(jù)項(xiàng)、列這些術(shù)語(yǔ),所描述的對(duì)象是相同的,只是在不同角度,叫法不同而已。不同角度,叫法不同而已。 記錄(記錄(Record)字段的有序集合稱為記錄,在關(guān)系模型中,記錄稱為元組;字段的有序集合稱為記錄,在關(guān)系模型中,記錄稱為元組;
41、在表中,記錄稱為一行;在概念模型中稱為實(shí)體。即實(shí)體、記在表中,記錄稱為一行;在概念模型中稱為實(shí)體。即實(shí)體、記錄、元組和行是從不同的角度描述同一個(gè)對(duì)象。錄、元組和行是從不同的角度描述同一個(gè)對(duì)象。記錄也由記錄也由“型型”和和“值值”來(lái)描述:來(lái)描述:記錄型是字段型的集合,記錄值是字段值的集合。記錄型是字段型的集合,記錄值是字段值的集合。36例,組成一個(gè)學(xué)生行的字段如:例,組成一個(gè)學(xué)生行的字段如:“學(xué)號(hào),姓名,年齡,性學(xué)號(hào),姓名,年齡,性別別”是記錄的型,而是記錄的型,而“021031002,王小艷,王小艷,18,女,女”就是一就是一條記錄的值。條記錄的值。 表表 即關(guān)系即關(guān)系記錄是字段的集合,表是記
42、錄的集合。記錄的型和值構(gòu)成記錄是字段的集合,表是記錄的集合。記錄的型和值構(gòu)成了關(guān)系數(shù)據(jù)庫(kù)的基本單位即表。了關(guān)系數(shù)據(jù)庫(kù)的基本單位即表。顯然,顯然,表表也分為型和值,表的型也稱為也分為型和值,表的型也稱為關(guān)系模式關(guān)系模式,或稱為,或稱為表結(jié)構(gòu)表結(jié)構(gòu),顯然是由一條列屬性(字段)型組成的。,顯然是由一條列屬性(字段)型組成的。關(guān)系模式一般的表示是:關(guān)系模式一般的表示是:關(guān)系名關(guān)系名(屬性屬性1,屬性,屬性2,屬性屬性n)。例:學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系)。例:學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系)。表的值由記錄的值組成。表的值由記錄的值組成。 關(guān)鍵字(碼,鍵)關(guān)鍵字(碼,鍵)表中能唯一確定一
43、條記錄的表中能唯一確定一條記錄的字段字段或或字段組字段組。其余為次碼。其余為次碼。主碼:一個(gè)表中包括有多個(gè)碼時(shí),通常選定其中一個(gè)碼為主碼主碼:一個(gè)表中包括有多個(gè)碼時(shí),通常選定其中一個(gè)碼為主碼(Primary Key),其他的碼為侯選碼。),其他的碼為侯選碼。37 域:字段的取值范圍域:字段的取值范圍 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)所謂關(guān)系數(shù)據(jù)庫(kù)就是由若干個(gè)表組成的集合。亦即,關(guān)系所謂關(guān)系數(shù)據(jù)庫(kù)就是由若干個(gè)表組成的集合。亦即,關(guān)系數(shù)據(jù)庫(kù)至少有一個(gè)表,才能稱之為關(guān)系數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)至少有一個(gè)表,才能稱之為關(guān)系數(shù)據(jù)庫(kù)。在關(guān)系模型中,在關(guān)系模型中,實(shí)體集實(shí)體集以及之間的以及之間的聯(lián)系聯(lián)系都是用關(guān)系(都是用關(guān)系(表
44、表)來(lái)表示。即用來(lái)表示。即用二維表二維表表示表示實(shí)體集及其屬性實(shí)體集及其屬性,用,用二維表二維表描述實(shí)體描述實(shí)體集間的集間的聯(lián)系聯(lián)系。例如:關(guān)系模型中,學(xué)生、課程、學(xué)生與課程之間的聯(lián)系例如:關(guān)系模型中,學(xué)生、課程、學(xué)生與課程之間的聯(lián)系表示為三個(gè)關(guān)系:表示為三個(gè)關(guān)系:學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系);學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系); 課程(課程號(hào),課程名,先行課);課程(課程號(hào),課程名,先行課); 選修(學(xué)號(hào),課程號(hào),成績(jī))選修(學(xué)號(hào),課程號(hào),成績(jī))學(xué)生學(xué)生選修選修課程課程mn38 關(guān)系組成與性質(zhì)關(guān)系組成與性質(zhì)一個(gè)關(guān)系實(shí)際上就是一個(gè)表,表是由不同的列組合而成的。例:一個(gè)關(guān)系實(shí)際上就
45、是一個(gè)表,表是由不同的列組合而成的。例:“學(xué)生學(xué)生”關(guān)系由型和值組成一個(gè)表。型部分由關(guān)系由型和值組成一個(gè)表。型部分由5個(gè)字段組成,每個(gè)字段組成,每個(gè)字段有:字段名、字段類型、字段寬度。如學(xué)號(hào)字段:名個(gè)字段有:字段名、字段類型、字段寬度。如學(xué)號(hào)字段:名“學(xué)號(hào)學(xué)號(hào)”,類型,類型C(字符型),寬度(字符型),寬度8,表示最大取值范圍。值,表示最大取值范圍。值部分由一條一條記錄值組成。即這個(gè)表是由部分由一條一條記錄值組成。即這個(gè)表是由5個(gè)個(gè) 字段和字段和5條記錄條記錄組成。字段的型、值,域都被一一描述在表中組成。字段的型、值,域都被一一描述在表中。型型 學(xué)號(hào)學(xué)號(hào) 姓名姓名 年齡年齡 性別性別 班級(jí)班級(jí)
46、 201201 201201 張三張三 1818 男男 物聯(lián)物聯(lián)20122012 201202 201202 李四李四 2020 女女 物聯(lián)物聯(lián)20122012 201203 201203 王五王五 1919 男男 物聯(lián)物聯(lián)20122012 201204 201204 趙七趙七 1818 女女 物聯(lián)物聯(lián)201220128 8C C8 8C C2 2N N1010C CC C2 2值值39從這個(gè)關(guān)系中可以得出一些重要的結(jié)論:從這個(gè)關(guān)系中可以得出一些重要的結(jié)論:表中每一列元素是類型相同的數(shù)據(jù);表中每一列元素是類型相同的數(shù)據(jù);列不能重名,列的順序可以任意放置;列不能重名,列的順序可以任意放置;行的順
47、序也可以任意,表中任意兩行不能完全相同(即沒(méi)行的順序也可以任意,表中任意兩行不能完全相同(即沒(méi)有重行);有重行);表中元素是不可再分的最小數(shù)據(jù)項(xiàng)(描述對(duì)象屬性的數(shù)表中元素是不可再分的最小數(shù)據(jù)項(xiàng)(描述對(duì)象屬性的數(shù)據(jù))。據(jù))。 E模型的轉(zhuǎn)換模型的轉(zhuǎn)換模型原主要用于數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)模型原主要用于數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)是由客觀世界到具體是由客觀世界到具體DBMS所支持的數(shù)據(jù)模式的轉(zhuǎn)換過(guò)程。所支持的數(shù)據(jù)模式的轉(zhuǎn)換過(guò)程。ER模型就是插在客觀世界與具體模型就是插在客觀世界與具體DBMS所支持的模型之間的一所支持的模型之間的一個(gè)層次,獨(dú)立于具體的個(gè)層次,獨(dú)立于具體的DBMS。因此在實(shí)際的
48、數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程。因此在實(shí)際的數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中必須將中必須將E模型轉(zhuǎn)換為具體模型轉(zhuǎn)換為具體DBMS所支持的數(shù)據(jù)模型。所支持的數(shù)據(jù)模型。40將將E ER R模型轉(zhuǎn)換為等效的關(guān)系數(shù)據(jù)模型的基本轉(zhuǎn)換模型轉(zhuǎn)換為等效的關(guān)系數(shù)據(jù)模型的基本轉(zhuǎn)換規(guī)規(guī)則則如下:如下:1. 1. 把把E ER R圖中所有圖中所有實(shí)體集及其屬性實(shí)體集及其屬性用用關(guān)系模式關(guān)系模式來(lái)表來(lái)表示;示;2. 2. 把實(shí)體集間的把實(shí)體集間的聯(lián)系聯(lián)系及與被聯(lián)系的兩實(shí)體集中的有及與被聯(lián)系的兩實(shí)體集中的有關(guān)信息也用一個(gè)關(guān)系模式表示。關(guān)信息也用一個(gè)關(guān)系模式表示。具體如下:具體如下:若兩實(shí)體集間為若兩實(shí)體集間為多對(duì)多多對(duì)多聯(lián)系,則兩實(shí)體集關(guān)系的主關(guān)聯(lián)系,
49、則兩實(shí)體集關(guān)系的主關(guān)鍵字(主碼)均放入聯(lián)系中作為其主關(guān)鍵字(主碼)(當(dāng)鍵字(主碼)均放入聯(lián)系中作為其主關(guān)鍵字(主碼)(當(dāng)然聯(lián)系關(guān)系中還可包括其它一些有用的附加信息);然聯(lián)系關(guān)系中還可包括其它一些有用的附加信息);若是若是一對(duì)多一對(duì)多聯(lián)系,則可把表示聯(lián)系,則可把表示“一一”關(guān)系的主關(guān)鍵字關(guān)系的主關(guān)鍵字放入表示放入表示“多多”關(guān)系中作為其外來(lái)關(guān)鍵字(外碼、外鍵),關(guān)系中作為其外來(lái)關(guān)鍵字(外碼、外鍵),而無(wú)需再建立聯(lián)系關(guān)系。而無(wú)需再建立聯(lián)系關(guān)系。41例:例:E ER R圖:圖:教師教師成績(jī)成績(jī)課程課程課程號(hào)課程號(hào)課程名課程名學(xué)分學(xué)分周學(xué)時(shí)周學(xué)時(shí)講授講授教師號(hào)教師號(hào)姓名姓名性別性別職稱職稱 學(xué)生學(xué)生學(xué)
50、號(hào)學(xué)號(hào)姓名姓名年齡年齡性別性別上課上課選課選課1nnn1m42按規(guī)則轉(zhuǎn)換為如下按規(guī)則轉(zhuǎn)換為如下4個(gè)關(guān)系:個(gè)關(guān)系:課程(課程(課程號(hào)課程號(hào),課程名,學(xué)分,周學(xué)時(shí)),課程名,學(xué)分,周學(xué)時(shí))學(xué)生(學(xué)生(學(xué)號(hào)學(xué)號(hào),姓名,年齡,性別,姓名,年齡,性別,教師號(hào)教師號(hào))教師(教師(教師號(hào)教師號(hào),姓名,性別,職稱,姓名,性別,職稱,課程號(hào)課程號(hào))選課(選課(學(xué)號(hào)學(xué)號(hào),課程號(hào)課程號(hào),成績(jī)),成績(jī))這樣就得到一個(gè)關(guān)系數(shù)據(jù)模型。這樣就得到一個(gè)關(guān)系數(shù)據(jù)模型。關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是:關(guān)滿足一定
51、的規(guī)范條件,這些規(guī)范條件中最基本的一條就是:關(guān)系的每一個(gè)分量(字段)必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),也就是系的每一個(gè)分量(字段)必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),也就是說(shuō),不允許表中還有表。下面表不符合要求:說(shuō),不允許表中還有表。下面表不符合要求:學(xué)號(hào)學(xué)號(hào)姓名姓名性別性別年齡年齡系別系別成績(jī)成績(jī)數(shù)學(xué)數(shù)學(xué)物理物理英語(yǔ)英語(yǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)200401李勇李勇男男20信息工程系信息工程系80678688200402劉健劉健女女19信息工程系信息工程系90789599200403趙三豐趙三豐男男20信息工程系信息工程系7890907743 數(shù)據(jù)操作數(shù)據(jù)操作關(guān)系模型中常用的數(shù)據(jù)操作包括兩大部分:關(guān)系模型中常用的數(shù)據(jù)操作包
52、括兩大部分:查詢操作查詢操作(主要部分主要部分):選擇選擇,投影投影,連接連接,除,并,除,并,交交,差等;差等;更新操作更新操作:有:有插入插入、刪除刪除和和修改修改。操作特點(diǎn):關(guān)系模型中的數(shù)據(jù)操作特點(diǎn)是操作特點(diǎn):關(guān)系模型中的數(shù)據(jù)操作特點(diǎn)是“集合操作集合操作”方方式。即操作的對(duì)象和結(jié)果都是集合(即又一個(gè)關(guān)系)。這種操式。即操作的對(duì)象和結(jié)果都是集合(即又一個(gè)關(guān)系)。這種操作方式也稱為作方式也稱為一次一集合一次一集合的方式。相應(yīng)地,非關(guān)系數(shù)據(jù)模型的的方式。相應(yīng)地,非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式則為一次一記錄的方式。數(shù)據(jù)操作方式則為一次一記錄的方式。 完整性約束完整性約束:關(guān)系模型中關(guān)系的數(shù)據(jù)操作必
53、須滿足關(guān)系:關(guān)系模型中關(guān)系的數(shù)據(jù)操作必須滿足關(guān)系的完整性約束條件。的完整性約束條件。關(guān)系的完整性約束條件包括三大類:關(guān)系的完整性約束條件包括三大類: 實(shí)體完整性:實(shí)體完整性: 參照完整性:參照完整性: 用戶定義的完整性:是應(yīng)用領(lǐng)域需要遵循的約束條件,用戶定義的完整性:是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束。體現(xiàn)了具體領(lǐng)域中的語(yǔ)義約束。是關(guān)系模型中必須滿足的完整性約束條件,應(yīng)該由關(guān)是關(guān)系模型中必須滿足的完整性約束條件,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持;系系統(tǒng)自動(dòng)支持;441.實(shí)體完整性實(shí)體完整性(entity integrity)規(guī)則規(guī)則1:實(shí)體完整性規(guī)則:若屬性:實(shí)體完整性規(guī)則:若屬性
54、A是基本關(guān)系是基本關(guān)系R的的主屬性,則屬性主屬性,則屬性A不能取空值。不能取空值。例:學(xué)生關(guān)系中,例:學(xué)生關(guān)系中,“學(xué)號(hào)學(xué)號(hào)”屬性是主屬性,則屬性是主屬性,則“學(xué)學(xué)號(hào)號(hào)”值不能為空。學(xué)生關(guān)系的其他屬性不是主屬性,可值不能為空。學(xué)生關(guān)系的其他屬性不是主屬性,可以是空值。以是空值。實(shí)體完整性規(guī)則是基本關(guān)系的所有主屬性都不能取實(shí)體完整性規(guī)則是基本關(guān)系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值??罩?,而不僅是主碼整體不能取空值。例:學(xué)生選課關(guān)系例:學(xué)生選課關(guān)系“選修(學(xué)號(hào),課程號(hào),成績(jī))選修(學(xué)號(hào),課程號(hào),成績(jī))”中,(學(xué)號(hào),課程號(hào))為主碼,則學(xué)號(hào)和課程號(hào)兩屬性中,(學(xué)號(hào),課程號(hào))為主碼,則
55、學(xué)號(hào)和課程號(hào)兩屬性都不能取空值。都不能取空值。452.參照完整性參照完整性(referential integrity)現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型現(xiàn)實(shí)世界中的實(shí)體之間往往存在某種聯(lián)系,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的。這樣就自然存中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的。這樣就自然存在著關(guān)系與關(guān)系間的在著關(guān)系與關(guān)系間的引用引用。定義:定義:設(shè)設(shè)F是基本關(guān)系是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果的碼,如果F與基本關(guān)系與基本關(guān)系S的主碼的主碼Ks相對(duì)應(yīng),則稱相對(duì)應(yīng),則稱F是基本關(guān)是基本關(guān)系系R的外碼的外碼(Foreign
56、 key),并稱基本關(guān)系,并稱基本關(guān)系R為參照關(guān)系為參照關(guān)系(referencing relation),基本關(guān)系,基本關(guān)系S為被參照關(guān)系為被參照關(guān)系(referenced relation)46例例1:專業(yè)實(shí)體集和學(xué)生實(shí)體集可以用下面的關(guān)系表示,其:專業(yè)實(shí)體集和學(xué)生實(shí)體集可以用下面的關(guān)系表示,其中主碼用下劃線標(biāo)識(shí)中主碼用下劃線標(biāo)識(shí),外碼用下劃線標(biāo)識(shí),外碼用下劃線標(biāo)識(shí):專業(yè)(專業(yè)(專業(yè)號(hào)專業(yè)號(hào),專業(yè)名),專業(yè)名)學(xué)生(學(xué)生(學(xué)號(hào)學(xué)號(hào),姓名,性別,年齡,姓名,性別,年齡,專業(yè)號(hào)專業(yè)號(hào))這兩個(gè)關(guān)系之間存在著屬性的引用,即學(xué)生關(guān)系引用了專這兩個(gè)關(guān)系之間存在著屬性的引用,即學(xué)生關(guān)系引用了專業(yè)關(guān)系的主碼
57、業(yè)關(guān)系的主碼“專業(yè)號(hào)專業(yè)號(hào)”。顯然,。顯然,學(xué)生學(xué)生關(guān)系中關(guān)系中專業(yè)號(hào)專業(yè)號(hào)值必須是確值必須是確實(shí)存在的實(shí)存在的“專業(yè)專業(yè)”的的專業(yè)號(hào)專業(yè)號(hào),即專業(yè)關(guān)系中有該專業(yè)的記錄。這,即專業(yè)關(guān)系中有該專業(yè)的記錄。這也就是說(shuō),學(xué)生關(guān)系中的某個(gè)屬性的取值需要參照專業(yè)關(guān)系的屬也就是說(shuō),學(xué)生關(guān)系中的某個(gè)屬性的取值需要參照專業(yè)關(guān)系的屬性取值。性取值。學(xué)生關(guān)系的學(xué)生關(guān)系的“專業(yè)號(hào)專業(yè)號(hào)”屬性與專業(yè)關(guān)系的主碼屬性與專業(yè)關(guān)系的主碼“專業(yè)號(hào)專業(yè)號(hào)”相對(duì)應(yīng),因此相對(duì)應(yīng),因此“專業(yè)號(hào)專業(yè)號(hào)”屬性是學(xué)生關(guān)系的外碼。專業(yè)關(guān)系為被屬性是學(xué)生關(guān)系的外碼。專業(yè)關(guān)系為被參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系。參照關(guān)系,學(xué)生關(guān)系為參照關(guān)系。學(xué)生關(guān)系
58、學(xué)生關(guān)系專業(yè)關(guān)系專業(yè)關(guān)系專業(yè)號(hào)專業(yè)號(hào)關(guān)系參照?qǐng)D關(guān)系參照?qǐng)D47例例2:學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系的:學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系的3個(gè)關(guān)個(gè)關(guān)系:系:學(xué)生(學(xué)生(學(xué)號(hào)學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡);,姓名,性別,專業(yè)號(hào),年齡);課程(課程(課程號(hào)課程號(hào),課程名,學(xué)分);,課程名,學(xué)分);選選修修(學(xué)號(hào)學(xué)號(hào),課程號(hào)課程號(hào),成績(jī)),成績(jī))選修關(guān)系引用了學(xué)生的主碼選修關(guān)系引用了學(xué)生的主碼“學(xué)號(hào)學(xué)號(hào)”和課程關(guān)系的主碼和課程關(guān)系的主碼“課程號(hào)課程號(hào)”。同樣,選修關(guān)系中的學(xué)號(hào)值必須是確實(shí)存在的學(xué)生。同樣,選修關(guān)系中的學(xué)號(hào)值必須是確實(shí)存在的學(xué)生的學(xué)號(hào),選修關(guān)系中課程號(hào)值也必須是確實(shí)存在的
59、課程的課程號(hào),的學(xué)號(hào),選修關(guān)系中課程號(hào)值也必須是確實(shí)存在的課程的課程號(hào),換句話說(shuō),選修關(guān)系中某些屬性的取值需要參照其他關(guān)系的屬性換句話說(shuō),選修關(guān)系中某些屬性的取值需要參照其他關(guān)系的屬性取值。取值。學(xué)生關(guān)系學(xué)生關(guān)系關(guān)系參照?qǐng)D關(guān)系參照?qǐng)D學(xué)號(hào)學(xué)號(hào)選修關(guān)系選修關(guān)系課程關(guān)系課程關(guān)系課程號(hào)課程號(hào)48參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。參照完整性規(guī)則:參照完整性規(guī)則:若屬性(或?qū)傩越M)若屬性(或?qū)傩越M)F是基本關(guān)系是基本關(guān)系R的外碼,它與基本關(guān)系的外碼,它與基本關(guān)系S的主碼的主碼KS相對(duì)應(yīng),則對(duì)于相對(duì)應(yīng),則對(duì)于R中每個(gè)元組在中每個(gè)元組在F上的值必須
60、為:上的值必須為:或者取空值(或者取空值(F的每個(gè)屬性值均為空值);的每個(gè)屬性值均為空值);或者等于或者等于S中某個(gè)元組的主碼值。中某個(gè)元組的主碼值。例如:對(duì)于例例如:對(duì)于例1,學(xué)生關(guān)系中每個(gè)元組的專業(yè)號(hào)屬性只能取下面兩,學(xué)生關(guān)系中每個(gè)元組的專業(yè)號(hào)屬性只能取下面兩類值:類值:.空值:表示尚未給該學(xué)生分配專業(yè);空值:表示尚未給該學(xué)生分配專業(yè);.非空值:這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的專業(yè)號(hào)值,表非空值:這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的專業(yè)號(hào)值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中,即被參照關(guān)系示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中,即被參照關(guān)系“專業(yè)專業(yè)”中中一定存在一個(gè)元組,它的主碼值
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)開(kāi)戶銀行合同范本
- 個(gè)體老板合同范本
- vr公司合同范本
- 2025年煙臺(tái)駕駛資格證模擬考試
- 化妝店轉(zhuǎn)租上海合同范本
- 獸醫(yī)診所轉(zhuǎn)讓合同范本
- 副業(yè)兼職合同范本
- 二手車行業(yè)勞動(dòng)合同范本
- 軍旅衣服租賃合同范本
- 農(nóng)村房屋場(chǎng)地出租合同范本
- 富氫水水素水推廣方法
- 煤礦職業(yè)衛(wèi)生培訓(xùn)課件2023
- 某小學(xué)申報(bào)廣州市義務(wù)教育規(guī)范化學(xué)校自評(píng)分說(shuō)明
- 面神經(jīng)炎課件完整版
- 根據(jù)銅價(jià)計(jì)算各種電纜參考價(jià)格
- 湘教版五年級(jí)下冊(cè)美術(shù)教學(xué)計(jì)劃
- WB/T 1066-2017貨架安裝及驗(yàn)收技術(shù)條件
- SB/T 10446-2007成品油批發(fā)企業(yè)管理技術(shù)規(guī)范
- 瀝青路面施工質(zhì)量控制要點(diǎn)課件
- 對(duì)建筑工程施工轉(zhuǎn)包違法分包等違法行為認(rèn)定查處管理課件
- 雀巢碘超標(biāo)危機(jī)公關(guān)分析
評(píng)論
0/150
提交評(píng)論