數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)_第1頁
數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)_第2頁
數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)_第3頁
數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)_第4頁
數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)第一頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬實(shí)體與聯(lián)系問題在軟件開發(fā)過程中,數(shù)據(jù)庫如何設(shè)計(jì)?在設(shè)計(jì)過程中要注意什么問題?實(shí)體實(shí)體:客觀存在并可以相互區(qū)分的事物稱為實(shí)體。屬性:實(shí)體所具有的某一特性。實(shí)例:實(shí)體表示的是一類事物,其中的一個(gè)具體事物稱之為該實(shí)體的一個(gè)實(shí)例。第二頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬實(shí)體標(biāo)識(shí)符能唯一地標(biāo)識(shí)出實(shí)體中的每一行的某個(gè)屬性或?qū)傩缘慕M合。聯(lián)系就是實(shí)體與實(shí)體之間的聯(lián)系。實(shí)體間的聯(lián)系分為1對(duì)1、1對(duì)多和多對(duì)多三種??梢允褂脤?shí)體關(guān)系圖(E-R圖)描述實(shí)體與實(shí)體間的聯(lián)系。第三頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬E-R模型數(shù)據(jù)庫設(shè)計(jì)就是將現(xiàn)實(shí)世界的數(shù)據(jù)組織成數(shù)據(jù)庫管理系統(tǒng)所采取的數(shù)據(jù)模型。利用E-R圖來描述現(xiàn)實(shí)世界的信息結(jié)構(gòu),并將所描述的結(jié)果稱為E-R模型。E-R圖有3個(gè)要素實(shí)體:使用矩形表示,框內(nèi)標(biāo)注實(shí)體名稱。屬性:使用橢圓形表示,并用連線與實(shí)體連接起來。實(shí)體之間的聯(lián)系:使用菱形框表示,框內(nèi)注明聯(lián)系名稱,并用連線將菱形框分別與有關(guān)實(shí)體相連,并在連線上注明聯(lián)系類型。第四頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬學(xué)生選修課程的E-R圖選課學(xué)生課程學(xué)號(hào)姓名年齡課程號(hào)課程名學(xué)分課程號(hào)成績(jī)學(xué)號(hào)第五頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬關(guān)系模型關(guān)系模型概念

關(guān)系模型是通過表格數(shù)據(jù)來表示兩個(gè)實(shí)體間的聯(lián)系。關(guān)系就是一個(gè)具有下列特點(diǎn)的二維表格:表格中的每一列都是不可再分的基本數(shù)據(jù)項(xiàng)。每列的名字不同,同一列的數(shù)據(jù)類型相同。行的順序無關(guān)緊要。列的順無關(guān)緊要。關(guān)系中不允許有完全相同的兩行存在。第六頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【注意】將關(guān)系稱之為表,將關(guān)系中的行稱之為元組,也稱之為記錄或行;將關(guān)系中的列稱之為屬性,也稱之為字段或列。第七頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬E-R模型轉(zhuǎn)換為關(guān)系模型

在關(guān)系型數(shù)據(jù)庫中,實(shí)體和聯(lián)系表現(xiàn)為表(table)。方法:一個(gè)實(shí)體或聯(lián)系轉(zhuǎn)換為一個(gè)表,屬性就是表的列(字段),實(shí)體標(biāo)識(shí)符就是表的主關(guān)鍵字。

【例】將學(xué)生選修課程的E-R圖轉(zhuǎn)換為關(guān)系模型。課程表(課程號(hào),課程名,學(xué)分)學(xué)生表(學(xué)號(hào),姓名,年齡)學(xué)生選課表(學(xué)號(hào),課程號(hào),成績(jī))第八頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬關(guān)系模型規(guī)范化關(guān)系模型規(guī)范化的目的是為了消除存儲(chǔ)異常,減少數(shù)據(jù)冗余、保證數(shù)據(jù)的完整性(即數(shù)據(jù)的正確性和一致性)和存儲(chǔ)效率,一般規(guī)范為Ⅲ范式即可。I范式(1NF)每個(gè)屬性都是不可再分的基本數(shù)據(jù)項(xiàng),則稱該關(guān)系是I范式。存在數(shù)據(jù)冗余、數(shù)據(jù)不一致和維護(hù)困難等缺點(diǎn),需要對(duì)關(guān)系模型進(jìn)一步規(guī)范。第九頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例】設(shè)某單位的職工評(píng)價(jià)信息關(guān)系:評(píng)價(jià)(職工編號(hào),姓名,工作表現(xiàn)(工作態(tài)度,業(yè)績(jī)),綜合評(píng)價(jià),評(píng)價(jià)日期),對(duì)應(yīng)元組如下表。

第十頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬前表不是一個(gè)規(guī)范化的關(guān)系,因?yàn)楣ぷ鞅憩F(xiàn)屬性不是原子屬性,包含了兩個(gè)屬性,因此必須把每個(gè)屬性提升為一般屬性,得到規(guī)范化的關(guān)系,如下表。第十一頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬關(guān)系模型函數(shù)依賴

完全函數(shù)依賴部分函數(shù)依賴傳遞函數(shù)依賴第十二頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬1.函數(shù)依賴的概念在數(shù)據(jù)庫中,屬性值之間會(huì)發(fā)生聯(lián)系。例如每一本圖書只有一個(gè)書號(hào),每本書入庫只有一個(gè)操作員等等。這類聯(lián)系,稱為函數(shù)依賴。關(guān)系理論中函數(shù)依賴是指關(guān)系中屬性間的對(duì)應(yīng)關(guān)系。如關(guān)系中對(duì)于屬性(組)X的每一個(gè)值,屬性(組)Y只有唯一的值與之對(duì)應(yīng),則稱Y函數(shù)依賴于X,或稱X函數(shù)決定Y,記為X→Y。其中,X稱為決定因素。X→Y為模式R的一個(gè)函數(shù)依賴。

第十三頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例】設(shè)有一個(gè)職工關(guān)系(職工編號(hào),姓名,性別,所在部門),職工編號(hào)是關(guān)系的主鍵。對(duì)于該關(guān)系中的每一個(gè)職工的職工編號(hào),都對(duì)應(yīng)著姓名屬性中的唯一值,即該職工的姓名,也就是說,一個(gè)職工的姓名由他的職工編號(hào)唯一確定,所以稱職工編號(hào)函數(shù)決定姓名,或者稱姓名函數(shù)依賴于職工編號(hào),記作:職工編號(hào)→姓名,職工編號(hào)為該函數(shù)依賴的決定因素。同理,職工編號(hào)決定性別、所在部門等屬性,分別記作:職工編號(hào)→性別,職工編號(hào)→所在部門。

第十四頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬在一個(gè)關(guān)系中,可分析出許多依賴關(guān)系。函數(shù)依賴可區(qū)分為完全依賴、部分依賴和傳遞依賴三類。2.完全函數(shù)依賴若X、Y是關(guān)系R中屬性(組),Y函數(shù)依賴X(X→Y)但Y函數(shù)不依賴X的任一真子集,則稱Y完全函數(shù)依賴于X,記作XY。第十五頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例】在職工關(guān)系(職工編號(hào),姓名,性別,所在部門)中,職工編號(hào)同其他每個(gè)屬性之間的函數(shù)依賴都是完全函數(shù)依賴,即職工編號(hào)姓名,職工編號(hào)性別,職工編號(hào)所在部門。因?yàn)槁毠ぞ幪?hào)不可能再包含其他的任何屬性,也不可能存在真子集函數(shù)決定其他每一個(gè)屬性的情況。第十六頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬3.部分函數(shù)依賴若X、Y為關(guān)系R中的屬性(組),如Y函數(shù)依賴X(X→Y),且X中存在真子集X‘(即X‘X),滿足Y函數(shù)依賴X‘(X'→Y),則稱Y部分函數(shù)依賴于X。

第十七頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例2.10】職工關(guān)系(職工編號(hào),姓名,性別,所在部門)中,屬性組(職工編號(hào),性別)的值能夠決定相應(yīng)職工所在的部門,但其真子集中的職工編號(hào)也能函數(shù)決定所在部門,所以所在部門部分函數(shù)依賴于(職工編號(hào),性別)。

第十八頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬4.傳遞函數(shù)依賴設(shè)X、Y、Z是關(guān)系R(U)的屬性集上的子集,其中Y函數(shù)依賴X(X→Y),Z函數(shù)依賴Y(Y→Z),但X不函數(shù)依賴于Y,則稱Z傳遞函數(shù)依賴于X,記作:X。

注意:這里必須強(qiáng)調(diào)X不函數(shù)依賴于Y,因?yàn)槿绻亍偻瑫r(shí)Y→X,則為XY,這樣X和Y是等價(jià)的,在函數(shù)依賴中是可以互換的,X→Z就是直接函數(shù)依賴,而不是傳遞函數(shù)依賴。第十九頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬II范式(2NF)

II范式首先是I范式,而且每一個(gè)非主屬性完全依賴于任何關(guān)鍵字。如果一個(gè)關(guān)系只滿足第一范式,那么可能會(huì)帶來數(shù)據(jù)冗余和操作異常,即插入異常、刪除異常和修改異常。第二十頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例】設(shè)有一個(gè)圖書銷售關(guān)系TSXS(書號(hào),書名,出版社,作者,單價(jià),數(shù)量,折扣,日期,操作員帳號(hào),姓名,密碼)中,每位操作員可以銷售多種書,每種書可由多個(gè)操作員銷售。TSXS具體實(shí)例如下表。第二十一頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬在該關(guān)系中,由于書號(hào)和操作員帳號(hào)屬性沒有決定因素,所以它們包含在候選鍵中,而由這兩個(gè)屬性構(gòu)成屬性組則能夠函數(shù)決定所有屬性,因此(書號(hào),操作員帳號(hào))是關(guān)系的主鍵。在該關(guān)系中存在著非主屬性對(duì)主鍵的部分依賴,其中書名、出版社、作者、單價(jià)、庫存數(shù)量、折扣依賴于書號(hào),姓名、密碼依賴于操作員帳號(hào),所以該關(guān)系中必然存在數(shù)據(jù)冗余,在對(duì)該關(guān)系進(jìn)行插入、刪除和修改時(shí),也會(huì)帶來意外的麻煩。

第二十二頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬我們可以通過關(guān)系分解的方法來消除部份依賴。對(duì)應(yīng)的圖書銷售關(guān)系TSXS可分解成以下幾個(gè)關(guān)系:圖書(書號(hào),書名,出版社,單價(jià),折扣)操作員(操作員帳號(hào),姓名,密碼)銷售(書號(hào),操作員帳號(hào),數(shù)量)第二十三頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【說明】不符合2NF的關(guān)系R規(guī)范化為第二范式的方法:對(duì)于一個(gè)關(guān)系R(U),假定W、X、Y、Z是U的互不相交的屬性子集,其中(W,X)是主鍵,X完全函數(shù)決定Y,(W,X)函數(shù)決定Z,但Z中不含依賴于X的屬性,則把R(U)分解為兩個(gè)關(guān)系R1(X,Y)和R2(W,X,Z)后就取消了Y對(duì)(W,X)的部分依賴,其中X是R1的主鍵和R2的外鍵,通過X使R1和R2自然連接仍然可得到原來的R(U)。同理,若R2(W,X,Z)中仍存在著部分依賴,仍可以按此方法繼續(xù)分解,直到消除全部部分依賴為止。第二十四頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬III范式(3NF)

III范式首先是II范式,且關(guān)系中的任何一個(gè)非主屬性都不傳遞依賴于任何關(guān)鍵字。一個(gè)符合第三范式的關(guān)系必須具有以下三個(gè)條件(1)每個(gè)屬性的值唯一,不具有多義性。(2)每個(gè)非主屬性必須完全依賴于整個(gè)主鍵,而非主鍵的一部分。(3)每個(gè)非主屬性不能依賴于其他關(guān)系中的屬性。從以上可知,2NF可從1NF關(guān)系消除非主屬性對(duì)主鍵的部分函數(shù)依賴后獲得,3NF關(guān)系可從2NF關(guān)系消除非主屬性對(duì)主鍵的傳遞函數(shù)依賴后獲得。第二十五頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬【例】圖書銷售關(guān)系(流水號(hào),書號(hào),書名,數(shù)量,入庫價(jià),銷售價(jià),入庫時(shí)間,操作員賬戶,姓名,密碼,銷售日期,總金額),一個(gè)流水號(hào)只由一個(gè)操作員帳號(hào)處理,一個(gè)操作員帳號(hào)可以處理多個(gè)流水號(hào),而操作員帳號(hào)決定操作員姓名、密碼,所以圖書銷售關(guān)系中函數(shù)依賴關(guān)系如下:流水號(hào)→書號(hào),流水號(hào)→操作員帳號(hào),書號(hào)→書名,書號(hào)→數(shù)量,書號(hào)→入庫價(jià),書號(hào)→銷售價(jià),書號(hào)→入庫時(shí)間,操作員帳號(hào)→姓名,操作員帳號(hào)→密碼,流水號(hào)→銷售日期,流水號(hào)→總金額。

第二十六頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬在圖書銷售關(guān)系中,只有流水號(hào)沒有決定因素,所以流水號(hào)屬性必然包含在候選鍵中,由流水號(hào)可以直接決定書號(hào)、操作員帳號(hào)、銷售日期、總金額等屬性,同時(shí)流水號(hào)傳遞決定書名、數(shù)量、入庫價(jià)、銷售價(jià)、入庫時(shí)間、姓名、密碼等屬性,所以流水號(hào)能函數(shù)決定所有屬性,流水號(hào)用作該關(guān)系的主鍵。由于該關(guān)系是單屬性候選鍵,所以不會(huì)存在部分函數(shù)依賴,它自然滿足第二范式。由于該關(guān)系中存在著書的各屬性對(duì)流水號(hào)的傳遞依賴,存在著操作員各屬性對(duì)流水號(hào)的傳遞依賴,所以必然會(huì)產(chǎn)生數(shù)據(jù)冗余和操作異常。第二十七頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬消除關(guān)系中的傳遞依賴也是通過關(guān)系分解的方法來實(shí)現(xiàn)。設(shè)一個(gè)關(guān)系為R(U),X、Y、Z、W是U的互不相交的屬性子集,其中X為主鍵,Y→Z是直接函數(shù)依賴(也可能包含部分函數(shù)依賴),X→Z是傳遞函數(shù)依賴,則把R(U)分解成兩個(gè)關(guān)系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主鍵,R2是外鍵,這樣就消除了Z對(duì)X的傳遞依賴,通過Y對(duì)R1和R2自然連接仍可得到原來的R,同樣,若R1和R2中仍存在著傳遞依賴,則繼續(xù)按此方法分解下去,直到消除全部傳遞依賴為止。

第二十八頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬對(duì)圖書銷售關(guān)系進(jìn)行分解,分解得到三個(gè)關(guān)系:銷售(流水號(hào),書號(hào),操作員賬戶,銷售日期,總金額)圖書(書號(hào),書名,數(shù)量,入庫價(jià),銷售價(jià),入庫時(shí)間)操作員(操作員賬戶,姓名,密碼)從分解后的三個(gè)關(guān)系可以看出,每個(gè)關(guān)系都沒有傳遞依賴,所以都是第三范式。規(guī)范化的過程就是通過關(guān)系的投影分解逐步提高關(guān)系范式等級(jí)的過程。從第一范式到第三范式,其過程可以表示為

INF

2NF

3NF第二十九頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬關(guān)鍵字關(guān)鍵字的概念是能唯一標(biāo)識(shí)每一行的列或列的組合。也可稱之為關(guān)鍵碼、碼或鍵。候選關(guān)鍵字一個(gè)表可能有多個(gè)關(guān)鍵字,選定其中一個(gè)作為主關(guān)鍵字。其余的稱為候選關(guān)鍵字。公共關(guān)鍵字連接兩個(gè)表的公共屬性。第三十頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬外關(guān)鍵字(外鍵)亦稱為外鍵或外碼,它由一個(gè)表中的一個(gè)屬性或多個(gè)屬性所組成。外關(guān)鍵字能表示另一個(gè)表的主關(guān)鍵字,實(shí)際上外關(guān)鍵字本身只是主關(guān)鍵字的拷貝,它是公共關(guān)鍵字。第三十一頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬主表與從表

主鍵所在的表稱之為主表,外鍵所在的表稱為從表。第三十二頁,共三十七頁,2022年,8月28日版權(quán)所有:中國(guó)信息大學(xué)信息工程學(xué)院計(jì)算機(jī)系嚴(yán)芬數(shù)據(jù)完整性

數(shù)據(jù)完整性

數(shù)據(jù)完整性就是關(guān)系(表)中數(shù)據(jù)的正確性和一致性。域完整性(用戶定義的完整性):要求表中列的值滿足一定要求。如性別列的值只能是男或女。表完整性(實(shí)體完整性):要求表中的行有一個(gè)唯一標(biāo)識(shí)符,即表有主關(guān)鍵字。參照完整性(引

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論