關(guān)系數(shù)據(jù)庫理論基礎(chǔ)_第1頁
關(guān)系數(shù)據(jù)庫理論基礎(chǔ)_第2頁
關(guān)系數(shù)據(jù)庫理論基礎(chǔ)_第3頁
關(guān)系數(shù)據(jù)庫理論基礎(chǔ)_第4頁
關(guān)系數(shù)據(jù)庫理論基礎(chǔ)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)系數(shù)據(jù)庫理論基礎(chǔ)第1頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)22.1關(guān)系的基本概念2.1.1關(guān)系的數(shù)學(xué)定義1.域(Domain)域:是一組具有相同數(shù)據(jù)類型的值集合。例如:{自然數(shù)},{男,女},{0,1}等都可以是域。基數(shù):域中數(shù)據(jù)的個數(shù)稱為域的基數(shù)。域被命名后用如下方法表示:D1={白亞春,陳韜,王雪蓮},表示姓名的集合,基數(shù)是3;D2={計算機系,電子系}第2頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)32.笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Di,…,Dn(可以有相同的域),則笛卡爾積定義為:D1D2…Di…Dn={(d1,d2,…,di,…,dn)∣di∈Di,i=1,2,…,n}D1D2={(陳韜,計算機系),(陳韜,電子系),(王雪蓮,計算機系),(王雪蓮,電子系),(白亞春,計算機系),(白亞春,電子系)}其中每個(d1,d2,…,di,…,dn)叫做元組,元組中的每一個值di叫做分量,di必須是Di中的一個值。顯然,笛卡爾積的基數(shù)就是構(gòu)成該積所有域的基數(shù)累乘積,若Di(i=1,2,…,n)為有限集合,其基數(shù)為mi(i=1,2,…,n),則D1D2…Di…Dn笛卡爾積的基數(shù)M為:第3頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)4該笛卡爾積的基數(shù)是M=m1m2=3*2=6,即該笛卡爾積共有6個元組,它可組成一張二維表姓名籍貫陳韜計算機系陳韜電子系王雪蓮計算機系王雪蓮電子系白亞春計算機系白亞春電子系第4頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)53.關(guān)系(Relation)關(guān)系:笛卡爾積D1D2…Di…Dn的子集R稱作在域D1,D2,…,Dn上的關(guān)系,記作:R(D1,D2,…,Di,…,Dn)其中:R為關(guān)系名,n為關(guān)系的度或目(Degree),Di是域組中的第i個域名.當(dāng)n=1時,稱該關(guān)系為單元關(guān)系;當(dāng)n=2時,稱該關(guān)系為二元關(guān)系;以此類推,關(guān)系中有n個域,稱該關(guān)系為n元關(guān)系。把列稱為屬性(Attribute)。一般來說,一個取自笛卡爾積的子集才有意義。

第5頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)6關(guān)系可以分為三種類型:基本關(guān)系(又稱基本表):是實際存在的表,它是實際存儲數(shù)據(jù)的邏輯表示;查詢表:是對基本表進行查詢后得到的結(jié)果表;視圖表:是由基本表或其它視圖導(dǎo)出的表,是一個虛表,不對應(yīng)實際存儲的數(shù)據(jù)。

姓名籍貫陳韜計算機系王雪蓮電子系白亞春計算機系第6頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)72.1.2關(guān)系的性質(zhì)1.列是同質(zhì)的。

2.關(guān)系中行的順序、列的順序可以任意互換,不會改變關(guān)系的意義。

學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系計算機系白亞春男1981-1-2500513090052201陳韜男計算機系1981-5-60052217袁更旭男1980-12-8計算機系第7頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)83.關(guān)系中的任意兩個元組不能相同。

4、關(guān)系中的元組分量具有原子性,即每一個分量都必須是不可分的數(shù)據(jù)項。

學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計算機系0051309白亞春男1981-1-25計算機系0052217袁更旭男1980-12-8計算機系第8頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)92.2關(guān)系的完整性2.2.1鍵1.候選鍵(Candidatekey)若關(guān)系中的某一屬性組的值能惟一地標(biāo)識一個元組,則稱該屬性組為候選鍵。2.主鍵(Primarykey)若一個關(guān)系中有多個候選鍵,則選定一個為主鍵。第9頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)103.主屬性(PrimaryAttribute)主鍵的屬性稱為主屬性。4.外鍵(Foreignkey)設(shè)F是基本關(guān)系R的一個或一組屬性,但不是R的鍵(主鍵或候選鍵),如果F與基本關(guān)系S的主鍵K相對應(yīng),則稱F是R的外鍵,并稱R為參照關(guān)系,S為被參照關(guān)系。

2.2關(guān)系的完整性第10頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)11學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計算機系0052201陳韜男1981-5-6計算機系0052217袁更旭男1980-12-8計算機系課程號學(xué)號成績C201002210275C505005130995C508005220192C506005221780第11頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)122.2.2實體完整性實體完整性規(guī)則:關(guān)系中的主鍵不能為空值(Null)。空值就是“不知道”或“無意義”2.2.3參照完整性參照完整性規(guī)則:表的外鍵必須是另一個表主鍵的有效值,或者是空值。2.2關(guān)系的完整性第12頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)13學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計算機系0052201陳韜男1981-5-6計算機系0052217袁更旭男1980-12-8計算機系課程號學(xué)號成績C201002210275C505005130995C508A10286992C506005221780實體完整性和參照完整性實例第13頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)142.2.4用戶定義完整性用戶按照實際的數(shù)據(jù)庫運行環(huán)境要求,對關(guān)系中的數(shù)據(jù)所定義的約束條件,它反映的是某一具體應(yīng)用所涉及的數(shù)據(jù)必須要滿足的條件。

2.2關(guān)系的完整性第14頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)152.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運算當(dāng)集合運算并、交、差用于關(guān)系時,要求參與運算的兩個關(guān)系必須時相容的,即兩個關(guān)系的度數(shù)一致,并且關(guān)系屬性的性質(zhì)必須一致。第15頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)161.并并:是將兩個關(guān)系中的所有元組構(gòu)成新的關(guān)系,并運算的結(jié)果中必須消除重復(fù)值。關(guān)系R與S的并運算記作:R∪S。

學(xué)號姓名性別出生日期所在系0022101何芊女1982-6-5電子系0022102王雪蓮女1980-9-15電子系0022201葉媛媛女1982-3-5電子系0051309白亞春男1981-1-25計算機系0052201陳韜男1981-5-6計算機系0052217袁更旭男1980-12-8計算機系第16頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)172.交交:將兩個關(guān)系中的公共元組構(gòu)成新的關(guān)系。關(guān)系R與S的交運算記作:R∩S。

學(xué)號姓名性別出生日期所在系0051309白亞春男1981-1-25計算機系0052217袁更旭男1980-12-8計算機系第17頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)183.差差:運算結(jié)果是由屬于一個關(guān)系并且不屬于另一個關(guān)系的元組構(gòu)成的新關(guān)系,就是從一個關(guān)系中減去另一個關(guān)系。關(guān)系R與S的差運算記作:R-S。

學(xué)號姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0052201陳韜男1981-5-6計算機系第18頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)192.3.2專門的關(guān)系運算專門的關(guān)系運算包括:選擇、投影和連接,用于數(shù)據(jù)查詢服務(wù)。1.選擇(Selection)選擇:是按照給定條件從指定的關(guān)系中挑選出滿足條件的元組構(gòu)成新的關(guān)系?;蛘哒f,選擇運算的結(jié)果是一個表的行的子集。記作

學(xué)號姓名性別出生日期所在系0051309白亞春男1981-1-25計算機系0052201陳韜男1981-5-6計算機系0052217袁更旭男1980-12-8計算機系第19頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)202.投影(Projection)投影:是從指定的關(guān)系中挑選出某些屬性構(gòu)成新的關(guān)系?;蛘哒f,選擇運算的結(jié)果是一個表的列的子集。記作,其中A為R的屬性列。投影的結(jié)果將取消由于取消了某些列而產(chǎn)生的重復(fù)元組。

學(xué)號姓名性別0022102王雪蓮女0051309白亞春男0052201陳韜男0052217袁更旭男第20頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)213.連接(Join)連接:是將兩個和多個關(guān)系連接在一起,形成一個新的關(guān)系。連接運算是按照給定條件,把滿足條件的各關(guān)系的所有元組,按照一切可能組合成新的關(guān)系。或者說,連接運算的結(jié)果是在兩關(guān)系的笛卡爾積上的選擇。記作:自然連接:當(dāng)連接的兩關(guān)系有相同的屬性名時,稱這種連接為自然連接,它是連接的一個特例。記作:第21頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)22學(xué)號姓名性別出生日期所在系課程號成績0022102王雪蓮女1980-9-15電子系C201750051309白亞春男1981-1-25計算機系C505950052201陳韜男1981-5-6計算機系C508920052217袁更旭男1980-12-8計算機系C50680

學(xué)生基本情況表學(xué)生選課表

第22頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)232.4關(guān)系規(guī)范化2.4.1問題的提出在設(shè)計關(guān)系數(shù)據(jù)庫時,經(jīng)常采用一種自下而上的設(shè)計方法。這種方法是對涉及的所有數(shù)據(jù)進行收集,然后按照欄目進行歸納分類。插入異常:如果某個教師的所開課程某學(xué)期沒有,或者學(xué)生沒有選修他開的該課程,那么就無法將該教師及其所開課程的信息存入數(shù)據(jù)庫。

刪除異常:如果某屆學(xué)生全部畢業(yè),在刪除該系學(xué)生時會將課程及相關(guān)教師刪除。

數(shù)據(jù)冗余:比如,一門課程及其教師要與選修該課程的每一個學(xué)生出現(xiàn)的次數(shù)一樣多

解決這些問題的辦法就是重新設(shè)計數(shù)據(jù)庫。第23頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)24學(xué)號姓名性別出生日期所在系課程名稱成績課程教師職稱0052201陳韜男1981-5-6計算機系數(shù)據(jù)庫技術(shù)90陳剛副教授0052201陳韜男1981-5-6計算機系操作系統(tǒng)85溫翠靈講師0052201陳韜男1981-5-6計算機系C語言75陳剛副教授0051309白亞春男1981-1-25計算機系數(shù)據(jù)庫技術(shù)95陳剛副教授0051309白亞春男1981-1-25計算機系操作系統(tǒng)88溫翠靈講師0051309白亞春男1981-1-25計算機系編譯技術(shù)85李建義講師第24頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)25

1.函數(shù)依賴的概念在數(shù)據(jù)庫中,屬性值之間會發(fā)生聯(lián)系。例如每一本圖書只有一個書號,每本書入庫只有一個操作員等等。這類聯(lián)系,稱為函數(shù)依賴。關(guān)系理論中函數(shù)依賴是指關(guān)系中屬性間的對應(yīng)關(guān)系。如關(guān)系中對于屬性(組)X的每一個值,屬性(組)Y只有唯一的值與之對應(yīng),則稱Y函數(shù)依賴于X,或稱X函數(shù)決定Y,記為X→Y。其中,X稱為決定因素。X→Y為模式R的一個函數(shù)依賴。

【例2.8】設(shè)有一個職工關(guān)系(職工編號,姓名,性別,所在部門),職工編號是關(guān)系的主鍵。對于該關(guān)系中的每一個職工的職工編號,都對應(yīng)著姓名屬性中的唯一值,即該職工的姓名也就是說,一個職工的姓名由他的職工編號唯一確定,所以稱職工編號函數(shù)決定姓名,或者稱姓名函數(shù)依賴于職工編號,記作:職工編號→姓名,職工編號為該函數(shù)依賴的決定因素。同理,職工編號決定性別、所在部門等屬性,分別記作:職工編號→性別,職工編號→所在部門。

第25頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)26

在一個關(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。

【例2.9】在職工關(guān)系(職工編號,姓名,性別,所在部門)中,職工編號同其他每個屬性之間的函數(shù)依賴都是完全函數(shù)依賴,即職工編號姓名,職工編號性別,職工編號所在部門。因為職工編號不可能再包含其他的任何屬性,也不可能存在真子集函數(shù)決定其他每一個屬性的情況。第26頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)273.部分函數(shù)依賴若X、Y為關(guān)系R中的屬性(組),如Y函數(shù)依賴X(X→Y),且X中存在真子集X'(X'≠X,且X'X),滿足Y函數(shù)依賴X'(X'→Y),則稱Y部分函數(shù)依賴于X,記作X。

【例2.10】職工關(guān)系(職工編號,姓名,性別,所在部門)中,屬性組(職工編號,性別)的值能夠決定相應(yīng)職工所在的部門,但其真子集中的職工編號也能函數(shù)決定所在部門,所以所在部門部分函數(shù)依賴于(職工編號,性別)。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。(注意這里必須強調(diào)X不函數(shù)依賴于Y,因為如果X→Y同時Y→X,則為XY,這樣X和Y是等價的,在函數(shù)依賴中是可以互換的,X→Z就是直接函數(shù)依賴,而不是傳遞函數(shù)依賴。)第27頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)282.4.2關(guān)系模式的規(guī)范化1.范式(Normalform)范式:建立關(guān)系時需要滿足的約束條件劃分成若干標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)稱為范式,簡寫為NF。范式的級別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時花費時間也會相應(yīng)增加。2.第一范式(1NF)對于給定的關(guān)系R,如果R中的所有行、列交點處的值都是不可再分的數(shù)據(jù)項,則稱關(guān)系R屬于第一范式,記作:R∈1NF。1NF是關(guān)系數(shù)據(jù)庫中對關(guān)系的最低要求,它是從關(guān)系的基本性質(zhì)而來的,任何關(guān)系必須遵守。第28頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)293.第二范式(2NF)如果關(guān)系R∈1NF,并且R的每一個非主屬性都決定于主鍵,則稱R屬于第二范式,記作:R∈2NF。思考:主鍵沒有冗余,非主鍵存在冗余。3.第三范式(3NF)第三范式:如果關(guān)系R∈2NF,并且R的每一個非主屬性都不間接決定于主鍵,則稱R屬于第三范式,記作:R∈3NF。達到第三范式的關(guān)系仍有可能存在冗余等問題,所以關(guān)系數(shù)據(jù)庫理論還有BCNF、4NF、5NF等范式。在實際應(yīng)用中,一般達到了3NF的關(guān)系就可以認為是較為優(yōu)化的關(guān)系。

第29頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)30

2.5.3規(guī)范化和范式規(guī)范化表示了從數(shù)據(jù)存儲中移去數(shù)據(jù)冗余的過程。規(guī)范化避免了數(shù)據(jù)冗余,節(jié)省了空間,對數(shù)據(jù)的一致性提供了根本的保障,杜絕了數(shù)據(jù)不一致的現(xiàn)象,在一定范圍內(nèi)提高了效率。規(guī)范化有許多層次,對關(guān)系最基本的要求是每個屬性值必須是不可分割的數(shù)據(jù)單元,即表中不能再包含表。滿足一定條件的關(guān)系模式,稱為范式(NormalForm)。范式就是某一種級別的關(guān)系模式的集合,人們稱某一關(guān)系模式R為第n范式,就表示該關(guān)系的級別。一個低級范式的關(guān)系模式,通過分解(投影)方法可轉(zhuǎn)換成多個高一級范式的關(guān)系模式的集合,這種過程稱為規(guī)范化。1.第一范式1NF

定義如果一個關(guān)系R的每一個屬性都是不可分的數(shù)據(jù)項,則稱R是符合第一范式的,記做R1NF。若一個關(guān)系數(shù)據(jù)庫中所有的關(guān)系都滿足第一范式要求,則稱為滿足第一范式的數(shù)據(jù)庫。第30頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)31

【例2.12】設(shè)某單位的職工評價信息關(guān)系:評價(職工編號,姓名,工作表現(xiàn)(工作態(tài)度,業(yè)績),綜合評價,評價日期),對應(yīng)元組如表2.18。

表2.18不是一個規(guī)范化的關(guān)系,因為工作表現(xiàn)屬性不是原子屬性,包含了三個屬性,因此必須把每個屬性提升為一般屬性,得到規(guī)范化的關(guān)系,如表2.19。

第31頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)32第32頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)33

2.第二范式2NF

定義設(shè)關(guān)系R1NF,且它的每一非主屬性完全依賴于主鍵,則稱R是符合第二范式的,記作R∈2NF。

如果一個關(guān)系只滿足第一范式,那么可能會帶來數(shù)據(jù)冗余和操作異常,即插入異常、刪除異常和修改異常。

【例2.13】設(shè)有一個圖書銷售關(guān)系TSXS(書號,書名,出版社,作者,單價,數(shù)量,折扣,日期,操作員帳號,姓名,密碼)中,每位操作員可以銷售多種書,每種書可由多個操作員銷售。TSXS具體實例如表2.20。

第33頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)34在該關(guān)系中,由于書號和操作員帳號屬性沒有決定因素,所以它們包含在候選鍵中,而由這兩個屬性構(gòu)成屬性組則能夠函數(shù)決定所有屬性,因此(書號,操作員帳號)是關(guān)系的主鍵。在該關(guān)系中存在著非主屬性對主鍵的部分依賴,其中書名、出版社、作者、單價、庫存數(shù)量、折扣依賴于書號,姓名、密碼依賴于操作員帳號,所以該關(guān)系中必然存在數(shù)據(jù)冗余,在對該關(guān)系進行插入、刪除和修改時,也會帶來意外的麻煩。我們可以通過關(guān)系分解的方法來消除部份依賴。對應(yīng)的圖書銷售關(guān)系TSXS可分解成以下幾個關(guān)系:圖書(書號,書名,出版社,單價,折扣)操作員(操作員帳號,姓名,密碼)銷售(書號,操作員帳號,數(shù)量)

第34頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)35

【說明】不符合2NF的關(guān)系R規(guī)范化為第二范式的方法:對于一個關(guān)系R(U),假定W、X、Y、Z是U的互不相交的屬性子集,其中(W,X)是主鍵,X完全函數(shù)決定Y,(W,X)函數(shù)決定Z,但Z中不含依賴于X的屬性,則把R(U)分解為兩個關(guān)系R1(X,Y)和R2(W,X,Z)后就取消了Y對(W,X)的部分依賴,其中X是R1的主鍵和R2的外鍵,通過X使R1和R2自然連接仍然可得到原來的R(U)。同理,若R2(W,X,Z)中仍存在著部分依賴,仍可以按此方法繼續(xù)分解,直到消除全部部分依賴為止。

3.第三范式3NF

定義設(shè)關(guān)系R∈2NF,且它的每一非主屬性不傳遞依賴于主鍵,則該關(guān)系是符合第三范式的,記作R∈3NF。一個符合第三范式的關(guān)系必須具有以下三個條件:(1)每個屬性的值唯一,不具有多義性。(2)每個非主屬性必須完全依賴于整個主鍵,而非主鍵的一部分。(3)每個非主屬性不能依賴于其他關(guān)系中的屬性。從以上可知,2NF可從1NF關(guān)系消除非主屬性對主鍵的部分函數(shù)依賴后獲得,3NF關(guān)系可從2NF關(guān)系消除非主屬性對主鍵的傳遞函數(shù)依賴后獲得。第35頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)36

【例2.14】圖書銷售關(guān)系(流水號,書號,書名,數(shù)量,入庫價,銷售價,入庫時間,操作員賬戶,姓名,密碼,銷售日期,總金額),一個流水號只由一個操作員帳號處理,一個操作員帳號可以處理多個流水號,而操作員帳號決定操作員姓名、密碼,所以圖書銷售關(guān)系中函數(shù)依賴關(guān)系如下:流水號→書號,流水號→操作員帳號,書號→書名,書號→數(shù)量,書號→入庫價,書號→銷售價,書號→入庫時間,操作員帳號→姓名,操作員帳號→密碼,流水號→銷售日期,流水號→總金額。在圖書銷售關(guān)系中,只有流水號沒有決定因素,所以流水號屬性必然包含在候選鍵中,由流水號可以直接決定書號、操作員帳號、銷售日期、總金額等屬性,同時流水號傳遞決定書名、數(shù)量、入庫價、銷售價、入庫時間、姓名、密碼等屬性,所以流水號能函數(shù)決定所有屬性,流水號用作該關(guān)系的主鍵。由于該關(guān)系是單屬性候選鍵,所以不會存在部分函數(shù)依賴,它自然滿足第二范式。由于該關(guān)系中存在著書的各屬性對流水號的傳遞依賴,存在著操作員各屬性對流水號的傳遞依賴,所以必然會產(chǎn)生數(shù)據(jù)冗余和操作異常。第36頁,課件共42頁,創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫原理及開發(fā)37消除關(guān)系中的傳遞依賴也是通過關(guān)系分解的方法來實現(xiàn)。設(shè)一個關(guān)系為R(U),X、Y、Z、W是U的互不相交的屬性子集,其中X為主鍵,Y→Z是直接函數(shù)依賴(也可能包含部分函數(shù)依賴),X→Z是傳遞函數(shù)依賴,則把R(U)分解成兩個關(guān)系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主鍵,R2是外鍵,這樣就消除了Z對X的傳遞依賴,通過Y對R1和R2自然連接仍可得到原來的R,同樣,若R1和R2中仍存在著傳遞依賴,則繼續(xù)按此方法

溫馨提示

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

評論

0/150

提交評論