版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)系數(shù)據(jù)庫(kù)理論基礎(chǔ)第1頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)22.1關(guān)系的基本概念2.1.1關(guān)系的數(shù)學(xué)定義1.域(Domain)域:是一組具有相同數(shù)據(jù)類(lèi)型的值集合。例如:{自然數(shù)},{男,女},{0,1}等都可以是域?;鶖?shù):域中數(shù)據(jù)的個(gè)數(shù)稱(chēng)為域的基數(shù)。域被命名后用如下方法表示:D1={白亞春,陳韜,王雪蓮},表示姓名的集合,基數(shù)是3;D2={計(jì)算機(jī)系,電子系}第2頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)32.笛卡爾積(CartesianProduct)給定一組域D1,D2,…,Di,…,Dn(可以有相同的域),則笛卡爾積定義為:D1D2…Di…Dn={(d1,d2,…,di,…,dn)∣di∈Di,i=1,2,…,n}D1D2={(陳韜,計(jì)算機(jī)系),(陳韜,電子系),(王雪蓮,計(jì)算機(jī)系),(王雪蓮,電子系),(白亞春,計(jì)算機(jī)系),(白亞春,電子系)}其中每個(gè)(d1,d2,…,di,…,dn)叫做元組,元組中的每一個(gè)值di叫做分量,di必須是Di中的一個(gè)值。顯然,笛卡爾積的基數(shù)就是構(gòu)成該積所有域的基數(shù)累乘積,若Di(i=1,2,…,n)為有限集合,其基數(shù)為mi(i=1,2,…,n),則D1D2…Di…Dn笛卡爾積的基數(shù)M為:第3頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)4該笛卡爾積的基數(shù)是M=m1m2=3*2=6,即該笛卡爾積共有6個(gè)元組,它可組成一張二維表姓名籍貫陳韜計(jì)算機(jī)系陳韜電子系王雪蓮計(jì)算機(jī)系王雪蓮電子系白亞春計(jì)算機(jī)系白亞春電子系第4頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)53.關(guān)系(Relation)關(guān)系:笛卡爾積D1D2…Di…Dn的子集R稱(chēng)作在域D1,D2,…,Dn上的關(guān)系,記作:R(D1,D2,…,Di,…,Dn)其中:R為關(guān)系名,n為關(guān)系的度或目(Degree),Di是域組中的第i個(gè)域名.當(dāng)n=1時(shí),稱(chēng)該關(guān)系為單元關(guān)系;當(dāng)n=2時(shí),稱(chēng)該關(guān)系為二元關(guān)系;以此類(lèi)推,關(guān)系中有n個(gè)域,稱(chēng)該關(guān)系為n元關(guān)系。把列稱(chēng)為屬性(Attribute)。一般來(lái)說(shuō),一個(gè)取自笛卡爾積的子集才有意義。
第5頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)6關(guān)系可以分為三種類(lèi)型:基本關(guān)系(又稱(chēng)基本表):是實(shí)際存在的表,它是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示;查詢(xún)表:是對(duì)基本表進(jìn)行查詢(xún)后得到的結(jié)果表;視圖表:是由基本表或其它視圖導(dǎo)出的表,是一個(gè)虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。
姓名籍貫陳韜計(jì)算機(jī)系王雪蓮電子系白亞春計(jì)算機(jī)系第6頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)72.1.2關(guān)系的性質(zhì)1.列是同質(zhì)的。
2.關(guān)系中行的順序、列的順序可以任意互換,不會(huì)改變關(guān)系的意義。
學(xué)號(hào)姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系計(jì)算機(jī)系白亞春男1981-1-2500513090052201陳韜男計(jì)算機(jī)系1981-5-60052217袁更旭男1980-12-8計(jì)算機(jī)系第7頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)83.關(guān)系中的任意兩個(gè)元組不能相同。
4、關(guān)系中的元組分量具有原子性,即每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。
學(xué)號(hào)姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計(jì)算機(jī)系0051309白亞春男1981-1-25計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系第8頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)92.2關(guān)系的完整性2.2.1鍵1.候選鍵(Candidatekey)若關(guān)系中的某一屬性組的值能惟一地標(biāo)識(shí)一個(gè)元組,則稱(chēng)該屬性組為候選鍵。2.主鍵(Primarykey)若一個(gè)關(guān)系中有多個(gè)候選鍵,則選定一個(gè)為主鍵。第9頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)103.主屬性(PrimaryAttribute)主鍵的屬性稱(chēng)為主屬性。4.外鍵(Foreignkey)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是R的鍵(主鍵或候選鍵),如果F與基本關(guān)系S的主鍵K相對(duì)應(yīng),則稱(chēng)F是R的外鍵,并稱(chēng)R為參照關(guān)系,S為被參照關(guān)系。
2.2關(guān)系的完整性第10頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)11學(xué)號(hào)姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計(jì)算機(jī)系0052201陳韜男1981-5-6計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系課程號(hào)學(xué)號(hào)成績(jī)C201002210275C505005130995C508005220192C506005221780第11頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)122.2.2實(shí)體完整性實(shí)體完整性規(guī)則:關(guān)系中的主鍵不能為空值(Null)??罩稻褪恰安恢馈被颉盁o(wú)意義”2.2.3參照完整性參照完整性規(guī)則:表的外鍵必須是另一個(gè)表主鍵的有效值,或者是空值。2.2關(guān)系的完整性第12頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)13學(xué)號(hào)姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0051309白亞春男1981-1-25計(jì)算機(jī)系0052201陳韜男1981-5-6計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系課程號(hào)學(xué)號(hào)成績(jī)C201002210275C505005130995C508A10286992C506005221780實(shí)體完整性和參照完整性實(shí)例第13頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)142.2.4用戶(hù)定義完整性用戶(hù)按照實(shí)際的數(shù)據(jù)庫(kù)運(yùn)行環(huán)境要求,對(duì)關(guān)系中的數(shù)據(jù)所定義的約束條件,它反映的是某一具體應(yīng)用所涉及的數(shù)據(jù)必須要滿(mǎn)足的條件。
2.2關(guān)系的完整性第14頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)152.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算當(dāng)集合運(yùn)算并、交、差用于關(guān)系時(shí),要求參與運(yùn)算的兩個(gè)關(guān)系必須時(shí)相容的,即兩個(gè)關(guān)系的度數(shù)一致,并且關(guān)系屬性的性質(zhì)必須一致。第15頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)161.并并:是將兩個(gè)關(guān)系中的所有元組構(gòu)成新的關(guān)系,并運(yùn)算的結(jié)果中必須消除重復(fù)值。關(guān)系R與S的并運(yùn)算記作:R∪S。
學(xué)號(hào)姓名性別出生日期所在系0022101何芊女1982-6-5電子系0022102王雪蓮女1980-9-15電子系0022201葉媛媛女1982-3-5電子系0051309白亞春男1981-1-25計(jì)算機(jī)系0052201陳韜男1981-5-6計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系第16頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)172.交交:將兩個(gè)關(guān)系中的公共元組構(gòu)成新的關(guān)系。關(guān)系R與S的交運(yùn)算記作:R∩S。
學(xué)號(hào)姓名性別出生日期所在系0051309白亞春男1981-1-25計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系第17頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)183.差差:運(yùn)算結(jié)果是由屬于一個(gè)關(guān)系并且不屬于另一個(gè)關(guān)系的元組構(gòu)成的新關(guān)系,就是從一個(gè)關(guān)系中減去另一個(gè)關(guān)系。關(guān)系R與S的差運(yùn)算記作:R-S。
學(xué)號(hào)姓名性別出生日期所在系0022102王雪蓮女1980-9-15電子系0052201陳韜男1981-5-6計(jì)算機(jī)系第18頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)192.3.2專(zhuān)門(mén)的關(guān)系運(yùn)算專(zhuān)門(mén)的關(guān)系運(yùn)算包括:選擇、投影和連接,用于數(shù)據(jù)查詢(xún)服務(wù)。1.選擇(Selection)選擇:是按照給定條件從指定的關(guān)系中挑選出滿(mǎn)足條件的元組構(gòu)成新的關(guān)系?;蛘哒f(shuō),選擇運(yùn)算的結(jié)果是一個(gè)表的行的子集。記作
學(xué)號(hào)姓名性別出生日期所在系0051309白亞春男1981-1-25計(jì)算機(jī)系0052201陳韜男1981-5-6計(jì)算機(jī)系0052217袁更旭男1980-12-8計(jì)算機(jī)系第19頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)202.投影(Projection)投影:是從指定的關(guān)系中挑選出某些屬性構(gòu)成新的關(guān)系。或者說(shuō),選擇運(yùn)算的結(jié)果是一個(gè)表的列的子集。記作,其中A為R的屬性列。投影的結(jié)果將取消由于取消了某些列而產(chǎn)生的重復(fù)元組。
學(xué)號(hào)姓名性別0022102王雪蓮女0051309白亞春男0052201陳韜男0052217袁更旭男第20頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)213.連接(Join)連接:是將兩個(gè)和多個(gè)關(guān)系連接在一起,形成一個(gè)新的關(guān)系。連接運(yùn)算是按照給定條件,把滿(mǎn)足條件的各關(guān)系的所有元組,按照一切可能組合成新的關(guān)系?;蛘哒f(shuō),連接運(yùn)算的結(jié)果是在兩關(guān)系的笛卡爾積上的選擇。記作:自然連接:當(dāng)連接的兩關(guān)系有相同的屬性名時(shí),稱(chēng)這種連接為自然連接,它是連接的一個(gè)特例。記作:第21頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)22學(xué)號(hào)姓名性別出生日期所在系課程號(hào)成績(jī)0022102王雪蓮女1980-9-15電子系C201750051309白亞春男1981-1-25計(jì)算機(jī)系C505950052201陳韜男1981-5-6計(jì)算機(jī)系C508920052217袁更旭男1980-12-8計(jì)算機(jī)系C50680
學(xué)生基本情況表學(xué)生選課表
第22頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)232.4關(guān)系規(guī)范化2.4.1問(wèn)題的提出在設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)時(shí),經(jīng)常采用一種自下而上的設(shè)計(jì)方法。這種方法是對(duì)涉及的所有數(shù)據(jù)進(jìn)行收集,然后按照欄目進(jìn)行歸納分類(lèi)。插入異常:如果某個(gè)教師的所開(kāi)課程某學(xué)期沒(méi)有,或者學(xué)生沒(méi)有選修他開(kāi)的該課程,那么就無(wú)法將該教師及其所開(kāi)課程的信息存入數(shù)據(jù)庫(kù)。
刪除異常:如果某屆學(xué)生全部畢業(yè),在刪除該系學(xué)生時(shí)會(huì)將課程及相關(guān)教師刪除。
數(shù)據(jù)冗余:比如,一門(mén)課程及其教師要與選修該課程的每一個(gè)學(xué)生出現(xiàn)的次數(shù)一樣多
解決這些問(wèn)題的辦法就是重新設(shè)計(jì)數(shù)據(jù)庫(kù)。第23頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)24學(xué)號(hào)姓名性別出生日期所在系課程名稱(chēng)成績(jī)課程教師職稱(chēng)0052201陳韜男1981-5-6計(jì)算機(jī)系數(shù)據(jù)庫(kù)技術(shù)90陳剛副教授0052201陳韜男1981-5-6計(jì)算機(jī)系操作系統(tǒng)85溫翠靈講師0052201陳韜男1981-5-6計(jì)算機(jī)系C語(yǔ)言75陳剛副教授0051309白亞春男1981-1-25計(jì)算機(jī)系數(shù)據(jù)庫(kù)技術(shù)95陳剛副教授0051309白亞春男1981-1-25計(jì)算機(jī)系操作系統(tǒng)88溫翠靈講師0051309白亞春男1981-1-25計(jì)算機(jī)系編譯技術(shù)85李建義講師第24頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)25
1.函數(shù)依賴(lài)的概念在數(shù)據(jù)庫(kù)中,屬性值之間會(huì)發(fā)生聯(lián)系。例如每一本圖書(shū)只有一個(gè)書(shū)號(hào),每本書(shū)入庫(kù)只有一個(gè)操作員等等。這類(lèi)聯(lián)系,稱(chēng)為函數(shù)依賴(lài)。關(guān)系理論中函數(shù)依賴(lài)是指關(guān)系中屬性間的對(duì)應(yīng)關(guān)系。如關(guān)系中對(duì)于屬性(組)X的每一個(gè)值,屬性(組)Y只有唯一的值與之對(duì)應(yīng),則稱(chēng)Y函數(shù)依賴(lài)于X,或稱(chēng)X函數(shù)決定Y,記為X→Y。其中,X稱(chēng)為決定因素。X→Y為模式R的一個(gè)函數(shù)依賴(lài)。
【例2.8】設(shè)有一個(gè)職工關(guān)系(職工編號(hào),姓名,性別,所在部門(mén)),職工編號(hào)是關(guān)系的主鍵。對(duì)于該關(guān)系中的每一個(gè)職工的職工編號(hào),都對(duì)應(yīng)著姓名屬性中的唯一值,即該職工的姓名也就是說(shuō),一個(gè)職工的姓名由他的職工編號(hào)唯一確定,所以稱(chēng)職工編號(hào)函數(shù)決定姓名,或者稱(chēng)姓名函數(shù)依賴(lài)于職工編號(hào),記作:職工編號(hào)→姓名,職工編號(hào)為該函數(shù)依賴(lài)的決定因素。同理,職工編號(hào)決定性別、所在部門(mén)等屬性,分別記作:職工編號(hào)→性別,職工編號(hào)→所在部門(mén)。
第25頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)26
在一個(gè)關(guān)系中,可分析出許多依賴(lài)關(guān)系。函數(shù)依賴(lài)可區(qū)分為完全依賴(lài)、部分依賴(lài)和傳遞依賴(lài)三類(lèi)。2.完全函數(shù)依賴(lài)若X、Y是關(guān)系R中屬性(組),Y函數(shù)依賴(lài)X(X→Y)但Y函數(shù)不依賴(lài)X的任一真子集,則稱(chēng)Y完全函數(shù)依賴(lài)于X,記作XY。
【例2.9】在職工關(guān)系(職工編號(hào),姓名,性別,所在部門(mén))中,職工編號(hào)同其他每個(gè)屬性之間的函數(shù)依賴(lài)都是完全函數(shù)依賴(lài),即職工編號(hào)姓名,職工編號(hào)性別,職工編號(hào)所在部門(mén)。因?yàn)槁毠ぞ幪?hào)不可能再包含其他的任何屬性,也不可能存在真子集函數(shù)決定其他每一個(gè)屬性的情況。第26頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)273.部分函數(shù)依賴(lài)若X、Y為關(guān)系R中的屬性(組),如Y函數(shù)依賴(lài)X(X→Y),且X中存在真子集X'(X'≠X,且X'X),滿(mǎn)足Y函數(shù)依賴(lài)X'(X'→Y),則稱(chēng)Y部分函數(shù)依賴(lài)于X,記作X。
【例2.10】職工關(guān)系(職工編號(hào),姓名,性別,所在部門(mén))中,屬性組(職工編號(hào),性別)的值能夠決定相應(yīng)職工所在的部門(mén),但其真子集中的職工編號(hào)也能函數(shù)決定所在部門(mén),所以所在部門(mén)部分函數(shù)依賴(lài)于(職工編號(hào),性別)。4.傳遞函數(shù)依賴(lài)設(shè)X、Y、Z是關(guān)系R(U)的屬性集上的子集,其中Y函數(shù)依賴(lài)X(X→Y),Z函數(shù)依賴(lài)Y(Y→Z),但X不函數(shù)依賴(lài)于Y,則稱(chēng)Z傳遞函數(shù)依賴(lài)于X,記作:X。(注意這里必須強(qiáng)調(diào)X不函數(shù)依賴(lài)于Y,因?yàn)槿绻亍偻瑫r(shí)Y→X,則為XY,這樣X和Y是等價(jià)的,在函數(shù)依賴(lài)中是可以互換的,X→Z就是直接函數(shù)依賴(lài),而不是傳遞函數(shù)依賴(lài)。)第27頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)282.4.2關(guān)系模式的規(guī)范化1.范式(Normalform)范式:建立關(guān)系時(shí)需要滿(mǎn)足的約束條件劃分成若干標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)稱(chēng)為范式,簡(jiǎn)寫(xiě)為NF。范式的級(jí)別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時(shí)花費(fèi)時(shí)間也會(huì)相應(yīng)增加。2.第一范式(1NF)對(duì)于給定的關(guān)系R,如果R中的所有行、列交點(diǎn)處的值都是不可再分的數(shù)據(jù)項(xiàng),則稱(chēng)關(guān)系R屬于第一范式,記作:R∈1NF。1NF是關(guān)系數(shù)據(jù)庫(kù)中對(duì)關(guān)系的最低要求,它是從關(guān)系的基本性質(zhì)而來(lái)的,任何關(guān)系必須遵守。第28頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)293.第二范式(2NF)如果關(guān)系R∈1NF,并且R的每一個(gè)非主屬性都決定于主鍵,則稱(chēng)R屬于第二范式,記作:R∈2NF。思考:主鍵沒(méi)有冗余,非主鍵存在冗余。3.第三范式(3NF)第三范式:如果關(guān)系R∈2NF,并且R的每一個(gè)非主屬性都不間接決定于主鍵,則稱(chēng)R屬于第三范式,記作:R∈3NF。達(dá)到第三范式的關(guān)系仍有可能存在冗余等問(wèn)題,所以關(guān)系數(shù)據(jù)庫(kù)理論還有BCNF、4NF、5NF等范式。在實(shí)際應(yīng)用中,一般達(dá)到了3NF的關(guān)系就可以認(rèn)為是較為優(yōu)化的關(guān)系。
第29頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)30
2.5.3規(guī)范化和范式規(guī)范化表示了從數(shù)據(jù)存儲(chǔ)中移去數(shù)據(jù)冗余的過(guò)程。規(guī)范化避免了數(shù)據(jù)冗余,節(jié)省了空間,對(duì)數(shù)據(jù)的一致性提供了根本的保障,杜絕了數(shù)據(jù)不一致的現(xiàn)象,在一定范圍內(nèi)提高了效率。規(guī)范化有許多層次,對(duì)關(guān)系最基本的要求是每個(gè)屬性值必須是不可分割的數(shù)據(jù)單元,即表中不能再包含表。滿(mǎn)足一定條件的關(guān)系模式,稱(chēng)為范式(NormalForm)。范式就是某一種級(jí)別的關(guān)系模式的集合,人們稱(chēng)某一關(guān)系模式R為第n范式,就表示該關(guān)系的級(jí)別。一個(gè)低級(jí)范式的關(guān)系模式,通過(guò)分解(投影)方法可轉(zhuǎn)換成多個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過(guò)程稱(chēng)為規(guī)范化。1.第一范式1NF
定義如果一個(gè)關(guān)系R的每一個(gè)屬性都是不可分的數(shù)據(jù)項(xiàng),則稱(chēng)R是符合第一范式的,記做R1NF。若一個(gè)關(guān)系數(shù)據(jù)庫(kù)中所有的關(guān)系都滿(mǎn)足第一范式要求,則稱(chēng)為滿(mǎn)足第一范式的數(shù)據(jù)庫(kù)。第30頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)31
【例2.12】設(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)元組如表2.18。
表2.18不是一個(gè)規(guī)范化的關(guān)系,因?yàn)楣ぷ鞅憩F(xiàn)屬性不是原子屬性,包含了三個(gè)屬性,因此必須把每個(gè)屬性提升為一般屬性,得到規(guī)范化的關(guān)系,如表2.19。
第31頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)32第32頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)33
2.第二范式2NF
定義設(shè)關(guān)系R1NF,且它的每一非主屬性完全依賴(lài)于主鍵,則稱(chēng)R是符合第二范式的,記作R∈2NF。
如果一個(gè)關(guān)系只滿(mǎn)足第一范式,那么可能會(huì)帶來(lái)數(shù)據(jù)冗余和操作異常,即插入異常、刪除異常和修改異常。
【例2.13】設(shè)有一個(gè)圖書(shū)銷(xiāo)售關(guān)系TSXS(書(shū)號(hào),書(shū)名,出版社,作者,單價(jià),數(shù)量,折扣,日期,操作員帳號(hào),姓名,密碼)中,每位操作員可以銷(xiāo)售多種書(shū),每種書(shū)可由多個(gè)操作員銷(xiāo)售。TSXS具體實(shí)例如表2.20。
第33頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)34在該關(guān)系中,由于書(shū)號(hào)和操作員帳號(hào)屬性沒(méi)有決定因素,所以它們包含在候選鍵中,而由這兩個(gè)屬性構(gòu)成屬性組則能夠函數(shù)決定所有屬性,因此(書(shū)號(hào),操作員帳號(hào))是關(guān)系的主鍵。在該關(guān)系中存在著非主屬性對(duì)主鍵的部分依賴(lài),其中書(shū)名、出版社、作者、單價(jià)、庫(kù)存數(shù)量、折扣依賴(lài)于書(shū)號(hào),姓名、密碼依賴(lài)于操作員帳號(hào),所以該關(guān)系中必然存在數(shù)據(jù)冗余,在對(duì)該關(guān)系進(jìn)行插入、刪除和修改時(shí),也會(huì)帶來(lái)意外的麻煩。我們可以通過(guò)關(guān)系分解的方法來(lái)消除部份依賴(lài)。對(duì)應(yīng)的圖書(shū)銷(xiāo)售關(guān)系TSXS可分解成以下幾個(gè)關(guān)系:圖書(shū)(書(shū)號(hào),書(shū)名,出版社,單價(jià),折扣)操作員(操作員帳號(hào),姓名,密碼)銷(xiāo)售(書(shū)號(hào),操作員帳號(hào),數(shù)量)
第34頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)35
【說(shuō)明】不符合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中不含依賴(lài)于X的屬性,則把R(U)分解為兩個(gè)關(guān)系R1(X,Y)和R2(W,X,Z)后就取消了Y對(duì)(W,X)的部分依賴(lài),其中X是R1的主鍵和R2的外鍵,通過(guò)X使R1和R2自然連接仍然可得到原來(lái)的R(U)。同理,若R2(W,X,Z)中仍存在著部分依賴(lài),仍可以按此方法繼續(xù)分解,直到消除全部部分依賴(lài)為止。
3.第三范式3NF
定義設(shè)關(guān)系R∈2NF,且它的每一非主屬性不傳遞依賴(lài)于主鍵,則該關(guān)系是符合第三范式的,記作R∈3NF。一個(gè)符合第三范式的關(guān)系必須具有以下三個(gè)條件:(1)每個(gè)屬性的值唯一,不具有多義性。(2)每個(gè)非主屬性必須完全依賴(lài)于整個(gè)主鍵,而非主鍵的一部分。(3)每個(gè)非主屬性不能依賴(lài)于其他關(guān)系中的屬性。從以上可知,2NF可從1NF關(guān)系消除非主屬性對(duì)主鍵的部分函數(shù)依賴(lài)后獲得,3NF關(guān)系可從2NF關(guān)系消除非主屬性對(duì)主鍵的傳遞函數(shù)依賴(lài)后獲得。第35頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)36
【例2.14】圖書(shū)銷(xiāo)售關(guān)系(流水號(hào),書(shū)號(hào),書(shū)名,數(shù)量,入庫(kù)價(jià),銷(xiāo)售價(jià),入庫(kù)時(shí)間,操作員賬戶(hù),姓名,密碼,銷(xiāo)售日期,總金額),一個(gè)流水號(hào)只由一個(gè)操作員帳號(hào)處理,一個(gè)操作員帳號(hào)可以處理多個(gè)流水號(hào),而操作員帳號(hào)決定操作員姓名、密碼,所以圖書(shū)銷(xiāo)售關(guān)系中函數(shù)依賴(lài)關(guān)系如下:流水號(hào)→書(shū)號(hào),流水號(hào)→操作員帳號(hào),書(shū)號(hào)→書(shū)名,書(shū)號(hào)→數(shù)量,書(shū)號(hào)→入庫(kù)價(jià),書(shū)號(hào)→銷(xiāo)售價(jià),書(shū)號(hào)→入庫(kù)時(shí)間,操作員帳號(hào)→姓名,操作員帳號(hào)→密碼,流水號(hào)→銷(xiāo)售日期,流水號(hào)→總金額。在圖書(shū)銷(xiāo)售關(guān)系中,只有流水號(hào)沒(méi)有決定因素,所以流水號(hào)屬性必然包含在候選鍵中,由流水號(hào)可以直接決定書(shū)號(hào)、操作員帳號(hào)、銷(xiāo)售日期、總金額等屬性,同時(shí)流水號(hào)傳遞決定書(shū)名、數(shù)量、入庫(kù)價(jià)、銷(xiāo)售價(jià)、入庫(kù)時(shí)間、姓名、密碼等屬性,所以流水號(hào)能函數(shù)決定所有屬性,流水號(hào)用作該關(guān)系的主鍵。由于該關(guān)系是單屬性候選鍵,所以不會(huì)存在部分函數(shù)依賴(lài),它自然滿(mǎn)足第二范式。由于該關(guān)系中存在著書(shū)的各屬性對(duì)流水號(hào)的傳遞依賴(lài),存在著操作員各屬性對(duì)流水號(hào)的傳遞依賴(lài),所以必然會(huì)產(chǎn)生數(shù)據(jù)冗余和操作異常。第36頁(yè),課件共42頁(yè),創(chuàng)作于2023年2月2023/7/30數(shù)據(jù)庫(kù)原理及開(kāi)發(fā)37消除關(guān)系中的傳遞依賴(lài)也是通過(guò)關(guān)系分解的方法來(lái)實(shí)現(xiàn)。設(shè)一個(gè)關(guān)系為R(U),X、Y、Z、W是U的互不相交的屬性子集,其中X為主鍵,Y→Z是直接函數(shù)依賴(lài)(也可能包含部分函數(shù)依賴(lài)),X→Z是傳遞函數(shù)依賴(lài),則把R(U)分解成兩個(gè)關(guān)系R1(Y,Z)和R2(X,Y,W),其中Y是R1的主鍵,R2是外鍵,這樣就消除了Z對(duì)X的傳遞依賴(lài),通過(guò)Y對(duì)R1和R2自然連接仍可得到原來(lái)的R,同樣,若R1和R2中仍存在著傳遞依賴(lài),則繼續(xù)按此方法
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告服務(wù)咨詢(xún)合同范例
- 天津?yàn)I海職業(yè)學(xué)院《衛(wèi)生檢驗(yàn)綜合技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 算法課程設(shè)計(jì)關(guān)于游戲
- 公司設(shè)立協(xié)議合同范例
- 污水管道強(qiáng)修施工方案
- 好朋友一起開(kāi)店合同范例
- 他人捐款合同范例
- 勞動(dòng)合同范例長(zhǎng)春
- 房產(chǎn)抵押合同范例范例
- 演員經(jīng)紀(jì)約合同范例
- 無(wú)領(lǐng)導(dǎo)小組討論案例題目及答案分析
- 多學(xué)科綜合MDT2024年度多學(xué)科綜合MDT工作總結(jié)與計(jì)劃
- 惡性腫瘤患者的心理護(hù)理
- 《現(xiàn)場(chǎng)問(wèn)題分析》課件
- 北京海淀區(qū)2024屆高三最后一模語(yǔ)文試題含解析
- 天津市南開(kāi)區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末語(yǔ)文試卷
- 數(shù)據(jù)中心智能運(yùn)維體系建設(shè)
- 2023年計(jì)劃訂單專(zhuān)員年度總結(jié)及下一年規(guī)劃
- 體質(zhì)測(cè)試成績(jī)表(自動(dòng)統(tǒng)計(jì)數(shù)據(jù))(小學(xué)、初中)
- 2022年全國(guó)垃圾分類(lèi)知識(shí)競(jìng)賽試題庫(kù)(附含答案與解析)
- 2024版醫(yī)院手術(shù)安全管理學(xué)習(xí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論