關(guān)系數(shù)據(jù)庫(kù)理論_第1頁(yè)
關(guān)系數(shù)據(jù)庫(kù)理論_第2頁(yè)
關(guān)系數(shù)據(jù)庫(kù)理論_第3頁(yè)
關(guān)系數(shù)據(jù)庫(kù)理論_第4頁(yè)
關(guān)系數(shù)據(jù)庫(kù)理論_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)系數(shù)據(jù)庫(kù)理論第一頁(yè),共五十一頁(yè),2022年,8月28日1、規(guī)范化問題的提出

1.1規(guī)范化理論的主要內(nèi)容在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,關(guān)系模型包括一組關(guān)系模型,并且各個(gè)關(guān)系不是完全孤立的。關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論主要包括的內(nèi)容:函數(shù)依賴,范式和模式設(shè)計(jì)。函數(shù)依賴起核心作用,是模式分解和模式設(shè)計(jì)的基礎(chǔ),范式是模式分解的標(biāo)準(zhǔn)。第二頁(yè),共五十一頁(yè),2022年,8月28日1、規(guī)范化問題的提出1.2不合理的關(guān)系模式存在的存儲(chǔ)異常問題

由書上的例子知道:

.數(shù)據(jù)冗余

.插入異常

.刪除異常

.更新異常第三頁(yè),共五十一頁(yè),2022年,8月28日1、規(guī)范化問題的提出一個(gè)好的關(guān)系模式應(yīng)滿足條件:

.盡可能少的數(shù)據(jù)冗余

.沒有插入異常

.沒有刪除異常

.沒有更新異常按照一定的規(guī)范設(shè)計(jì)關(guān)系模式,將結(jié)構(gòu)復(fù)雜的關(guān)系分解成結(jié)構(gòu)簡(jiǎn)單的關(guān)系,從而把不好的關(guān)系數(shù)據(jù)庫(kù)模式轉(zhuǎn)變?yōu)楹玫年P(guān)系數(shù)據(jù)庫(kù)模式,即關(guān)系的規(guī)范化。第四頁(yè),共五十一頁(yè),2022年,8月28日1.3模式分解是關(guān)系規(guī)范化的主要方法怎樣才能得到一個(gè)好的關(guān)系模式呢?我們把關(guān)系模式SCD分解為下面三個(gè)結(jié)構(gòu)簡(jiǎn)單的關(guān)系模式,如下圖所示。學(xué)生關(guān)系S(SNO,SN,AGE,DEPT)選課關(guān)系SC(SNO,CNO,SCORE)系關(guān)系D(DEPT,MN)第五頁(yè),共五十一頁(yè),2022年,8月28日SNOSNAGEDEPTS1趙亦17計(jì)算機(jī)S2錢爾18信息S3孫珊20信息S4李思21自動(dòng)化DEPTMN計(jì)算機(jī)劉偉信息王平DS1.3模式分解是關(guān)系規(guī)范化的主要方法第六頁(yè),共五十一頁(yè),2022年,8月28日SNOCNOSCORES1C190S1C285S2C557S2C680S2C7S2C570S3C10S3C270S3C485SC1.3模式分解是關(guān)系規(guī)范化的主要方法第七頁(yè),共五十一頁(yè),2022年,8月28日在以上三個(gè)關(guān)系模式中,實(shí)現(xiàn)了信息的某種程度的分離,S中存儲(chǔ)學(xué)生基本信息,與所選課程及系主任無關(guān);D中存儲(chǔ)系的有關(guān)信息,與學(xué)生無關(guān);SC中存儲(chǔ)學(xué)生選課的信息,而與所學(xué)生及系的有關(guān)信息無關(guān)。與SCD相比,分解為三個(gè)關(guān)系模式后,數(shù)據(jù)的冗余度明顯降低。當(dāng)新插入一個(gè)系時(shí),只要在關(guān)系D中添加一條記錄。當(dāng)某個(gè)學(xué)生尚未選課,只要在關(guān)系S中添加一條學(xué)生記錄,而與選課關(guān)系無關(guān),這就避免了插入異常。當(dāng)一個(gè)系的學(xué)生全部畢業(yè)時(shí),只需在S中刪除該系的全部學(xué)生記錄,而關(guān)系D中有關(guān)該系的信息仍然保留,從而不會(huì)引起刪除異常。同時(shí),由于數(shù)據(jù)冗余度的降低,數(shù)據(jù)沒有重復(fù)存儲(chǔ),也不會(huì)引起更新異常。1.3模式分解是關(guān)系規(guī)范化的主要方法第八頁(yè),共五十一頁(yè),2022年,8月28日經(jīng)過上述分析,我們說分解后的關(guān)系模式是一個(gè)好的關(guān)系數(shù)據(jù)庫(kù)模式。從而得出結(jié)論,一個(gè)好的關(guān)系模式應(yīng)該具備以下四個(gè)條件:1.盡可能少的數(shù)據(jù)冗余。2.沒有插入異常。3.沒有刪除異常。4.沒有更新異常。但要注意,一個(gè)好的關(guān)系模式并不是在任何情況下都是最優(yōu)的,比如查詢某個(gè)學(xué)生選修課程名及所在系的系主任時(shí),要通過連接,而連接所需要的系統(tǒng)開銷非常大,因此要以實(shí)際設(shè)計(jì)的目標(biāo)出發(fā)進(jìn)行設(shè)計(jì)。1.3模式分解是關(guān)系規(guī)范化的主要方法第九頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴2.1函數(shù)依賴的定義及性質(zhì)

數(shù)據(jù)依賴:關(guān)系模型中的各屬性之間相互依賴、相互制約的聯(lián)系。

數(shù)據(jù)依賴分為:函數(shù)依賴、多值依賴和連接依賴。函數(shù)依賴是關(guān)系模型中屬性之間的一種邏輯關(guān)系。第十頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴2.1.1函數(shù)依賴的定義概念:設(shè)關(guān)系模式R(U,F),U是屬性全集,F(xiàn)是U上的函數(shù)依賴集,X和Y是U的子集,如果對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,對(duì)于X的每一個(gè)具體值,Y都有惟一的具體值與之對(duì)應(yīng),則稱X決定函數(shù)Y,或Y函數(shù)依賴于X,記作XY。其中為X決定因素,Y為依賴因素。當(dāng)Y函數(shù)不依賴于X時(shí),記作XY;當(dāng)XY且YX時(shí),記作XY第十一頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴函數(shù)依賴的說明:

.平凡的函數(shù)依賴與非平凡的函數(shù)依賴

!當(dāng)屬性集Y是屬性集X的子集時(shí),則必然存在函數(shù)依賴XY,這種類型的函數(shù)依賴稱為平凡的函數(shù)依賴;!當(dāng)屬性集Y不是屬性集X的子集時(shí),則稱XY為非平凡的函數(shù)依賴。第十二頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴

.

函數(shù)依賴是語(yǔ)義范疇的依賴函數(shù)依賴只能根據(jù)語(yǔ)義來確定,不能根據(jù)其形式化定義。

.函數(shù)依賴與屬性之間的聯(lián)系類型有關(guān)!在一個(gè)關(guān)系模型中,如果屬性X與Y有1:1聯(lián)系時(shí),則存在函數(shù)依賴XY,YX,即XY。例如:成績(jī)表中學(xué)號(hào)為主鍵,姓名無重復(fù)姓名:學(xué)號(hào)=1:1第十三頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴!如屬性X與Y有m:1的聯(lián)系時(shí),則只存在函數(shù)依賴XY

例如:學(xué)生成績(jī)表中學(xué)號(hào)(主鍵)與英語(yǔ)成績(jī)學(xué)號(hào):英語(yǔ)=m:1

!如屬性X和Y有m:n的聯(lián)系是,則X與Y之間不存在函數(shù)依賴關(guān)系

例如:一個(gè)學(xué)生可以選多門課,一門課可由多個(gè)學(xué)生選第十四頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴

.函數(shù)依賴關(guān)系的存在和時(shí)間無關(guān)函數(shù)依賴是指關(guān)系中的所有元組應(yīng)該滿足的約束條件,而不是指關(guān)系中某個(gè)或某些元組所滿足的約束條件;當(dāng)關(guān)系中的元組增加、刪除或更新后都不能被破壞這種函數(shù)依賴。因此,必須根據(jù)語(yǔ)義來確定屬性之間的函數(shù)依賴,而不能單憑某一時(shí)刻關(guān)系中的實(shí)際數(shù)據(jù)值來判斷。第十五頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴

.函數(shù)依賴可以保證關(guān)系分解的無損連接性設(shè)R(X,Y,Z),X,Y,Z為不相交的屬性集合,如果XY或XZ,則有R(X,Y,Z)=R[X,Y]*R[X,Z],其中,R[X,Y]表示關(guān)系R在屬性(X,Y)上的投影,即R等于其投影在X上的自然連接,這樣便保證了關(guān)系R分解后不會(huì)丟失原有的信息,稱為關(guān)系分解的無損連接性第十六頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴2.1.2函數(shù)依賴的基本性質(zhì)

a.投影性一組屬性函數(shù)決定它的所有子集

例如:在關(guān)系成績(jī)表中,(姓名,學(xué)號(hào))姓名

(姓名,學(xué)號(hào))學(xué)號(hào)

b.擴(kuò)張性若XY且WZ,則(X,W)(Y,Z)C.合并性若XY且XZ則必有X(Y,Z)

d.分解性若X(Y,Z),則XY且XZ第十七頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴2.2完全函數(shù)依賴和部分函數(shù)依賴設(shè)有關(guān)系模式R(U),U是屬性全集,X和Y是U的子集,如果XY,并且對(duì)于X的任何一個(gè)真子集X’,都有X’Y,則稱Y對(duì)X完全函數(shù)依賴(fullfunctionaldependency),記作XY。如果對(duì)X的某個(gè)真子集X’,有X’Y,則稱Y對(duì)X部分函數(shù)依賴(partialfunctionaldependency),記作XYfp第十八頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴?yán)纾簩W(xué)生成績(jī)表中姓名不能推出年齡,學(xué)號(hào)不能推出年齡,但是姓名+學(xué)號(hào)能推出年齡,故完全依賴;學(xué)號(hào)能直接推出籍貫,故是部分依賴姓名學(xué)號(hào)年齡籍貫王一116河北王二215山東王三316北京王一416天津第十九頁(yè),共五十一頁(yè),2022年,8月28日2、函數(shù)依賴2.3傳遞函數(shù)依賴設(shè)有關(guān)系模式R(U),U是屬性全集,X,Y,Z是U的子集,若XY,但YX,而YZ(YX,ZY),則稱Z對(duì)X傳遞函數(shù)依賴,記作:XZ。如果YX,則XY,稱Z對(duì)X直接函數(shù)依賴歸納:函數(shù)依賴分為:直接函數(shù)依賴、部分函數(shù)依賴和傳遞函數(shù)依賴t第二十頁(yè),共五十一頁(yè),2022年,8月28日3、范式規(guī)范化的基本思想是:消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時(shí)發(fā)生的異?,F(xiàn)象。

范式:把關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)。

范式主要有(關(guān)系數(shù)據(jù)庫(kù)規(guī)范):1NF、2NF、3NF、BCNF、4NF、5NF

各范式的聯(lián)系:

5NF4NFBCNF3NF2NF1NF第二十一頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.1第一范式

定義:如果關(guān)系模式R所有的屬性均為簡(jiǎn)單屬性,即每個(gè)屬性都是不可再分的,則稱R屬性第一范式,記作R1NF。備注:一個(gè)關(guān)系模式不能僅僅屬于第一范式,否則會(huì)有大量的數(shù)據(jù)冗余,具有插入異常、刪除異常和更新異常等弊端。第二十二頁(yè),共五十一頁(yè),2022年,8月28日3、范式分析:在關(guān)系模式SCD中,即存在完全函數(shù)依賴又存在部分函數(shù)依賴和傳遞函數(shù)依賴。但這種情況是不允許的,解決辦法是用投影運(yùn)算將關(guān)系分解,去掉過于復(fù)雜的函數(shù)依賴關(guān)系,向高一級(jí)范式轉(zhuǎn)換。第二十三頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.2第二范式

1.定義如果關(guān)系模式R1NF,且每個(gè)非主屬性都完全函數(shù)依賴于R的每個(gè)關(guān)系鍵,則稱R屬于第二范式,即2NF,記作R2NF

例題:

關(guān)系模式SCD中存在非主屬性字段部分依賴主屬性字段的情況,故SCD不是2NF;但SCD拆成S、D、SC后,所有非主屬性字段都完全依賴于主屬性字段,故S、D、SC為2NF第二十四頁(yè),共五十一頁(yè),2022年,8月28日3、范式結(jié)論:

!從1NF關(guān)系中消除了非主屬性對(duì)關(guān)系鍵的部分函數(shù)依賴,則可得到2NF關(guān)系;!如果R的關(guān)系為單屬性,或R的全體屬性均為主屬性,則R2NF2.2NF規(guī)范化

2NF規(guī)范化是指把1NF關(guān)系模式通過投影分解,轉(zhuǎn)換成2NF關(guān)系模式的集合。分解遵循的基本原則是“一事一地”,讓一個(gè)關(guān)系只描述一個(gè)實(shí)體或?qū)嶓w間的聯(lián)系,如果多于一個(gè)實(shí)體或聯(lián)系,則進(jìn)行投影分解。第二十五頁(yè),共五十一頁(yè),2022年,8月28日3、范式對(duì)2NF規(guī)范化作形式化的描述:設(shè)有關(guān)系模式R(X、Y、Z),R1NF,但R2NF,其中,X是鍵屬性,Y,Z是非主屬性,且存在部分函數(shù)依賴,XY。設(shè)X可表示為X1,X2,其中X1Y。則R(X,Y,Z)可分解為R[X1,Y]和R[X,Z]。因?yàn)閄1Y,所以R(X,Y,Z)=R[X1,Y]*R[X1,X2,Z]=R[X1,Y]*R[X,Z],即R等于其投影R[X1,Y]和[X,Z]在X1上的自然連接,R的分解具有無損失連接性。pf第二十六頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.2NF的缺點(diǎn)

.數(shù)據(jù)冗余:如每系的系主任名存儲(chǔ)的次數(shù)與該系的學(xué)生的人數(shù);

.插入異常:如新系且未招生,則無法插入該系信息;

.刪除異常:如該系學(xué)生全部畢業(yè)且未招生,刪除學(xué)生信息同時(shí)將刪除該系信息;

.更新異常:如更換系主任,則學(xué)生信息也更換。第二十七頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.3第三范式

1.定義如果關(guān)系模式R2NF,且每個(gè)非主屬性不傳遞依賴于R的每個(gè)關(guān)系鍵,則稱R屬于第三范式,即3NF,記作R3NF。第三范式的性質(zhì):

a.如果R3NF,則R也是R2NFb.如果R2NF,則R不一定是3NF第二十八頁(yè),共五十一頁(yè),2022年,8月28日3、范式2.3NF規(guī)范化

3NF規(guī)范化是指把2NF的關(guān)系模式通過投影分解轉(zhuǎn)換成3NF關(guān)系模式的集合。

3NF規(guī)范化遵循的原則是讓一個(gè)關(guān)系只描述一個(gè)實(shí)體或?qū)嶓w間的聯(lián)系。例題:書P111第二十九頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.3NF的特點(diǎn)

.數(shù)據(jù)冗余降低了;

.不存在插入異?,F(xiàn)象;

.不存在刪除異?,F(xiàn)象;.不存在更新異常現(xiàn)象缺點(diǎn):沒有限制主屬性對(duì)鍵的依賴關(guān)系第三十頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.4BC范式1.BC范式的定義如果關(guān)系模式R1NF,且所有的函數(shù)依賴XY(XY),決定因素X都包含了R的一個(gè)侯選鍵,則稱R屬于BC范式,記作RBCNF。2.BCNF具有的性質(zhì):

.滿足BCNF的關(guān)系將消除任何屬性(主屬性或非主屬性)對(duì)鍵的部分函數(shù)依賴和傳遞函數(shù)依賴,也就是說,如果RBCNF,則R也是3NF。

.如果R3NF,則R不一定是BCNF。第三十一頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.BCNF規(guī)范化該規(guī)范化是指把3NF的關(guān)系模式通過投影分解轉(zhuǎn)換成BCNF關(guān)系模式的集合。例題:P113

轉(zhuǎn)換以后數(shù)據(jù)冗余明顯降低,不會(huì)出現(xiàn)修改異常

備注:如果一個(gè)關(guān)系數(shù)據(jù)庫(kù)中所有關(guān)系模式都屬于BCNF,那么在函數(shù)依賴的范疇內(nèi),已經(jīng)實(shí)現(xiàn)了模式的徹底分解,消除了產(chǎn)生插入異常和刪除異常的根源,且數(shù)據(jù)冗余也減少到極小程度。第三十二頁(yè),共五十一頁(yè),2022年,8月28日3、范式3.5多值依賴與4NF

規(guī)范化都是建立在函數(shù)依賴的基礎(chǔ)上,函數(shù)依賴表示的是關(guān)系模式中屬性間的一對(duì)一或一對(duì)多的聯(lián)系,但它并不能表示屬性間的多對(duì)多的關(guān)系。1.多值依賴

設(shè)有關(guān)系R(U),U是屬性全集,X、Y、Z是屬性集U的子集,且Z=U-X-Y,如果對(duì)于R的任一關(guān)系,對(duì)于X的一個(gè)確定值,存在Y的一組值與之對(duì)應(yīng),且Y的這組值僅僅決定于X的值而與Z值無關(guān)。此時(shí)稱Y多值依賴于X,或X多值決定Y,記作X

Y。第三十三頁(yè),共五十一頁(yè),2022年,8月28日3、范式在多值依賴中,若X

Y且Z=U-X-Y,則稱X

Y是非平凡的多值依賴;否則稱為平凡的多值依賴。

多值依賴的形式:設(shè)有關(guān)系模式R(U),U是屬性全集,X、Y、Z屬性集U的子集,且Z=U-X-Y,r是關(guān)系模式R的任一關(guān)系,t、s是r的任意兩個(gè)元組,,如果t[X]=s[X],必有r的兩個(gè)元組u、v存在,使得:

.s[X]=t[X]=u[X]=v[X].u[Y]=t[Y]且u[Z]=s[Z].v[Y]=s[Y]且v[Z]=t[Z]

則稱X多值決定Y或Y多值依賴于X第三十四頁(yè),共五十一頁(yè),2022年,8月28日3、范式多值依賴與函數(shù)依賴的區(qū)別:

a.

在關(guān)系模式R中,函數(shù)依賴XY的有效性僅僅決定于X、Y這兩個(gè)屬性集,不涉及第三個(gè)屬性集,而在多值依賴中,XY在屬性集U(U=X+Y+Z)上是否成立,不僅要檢查屬性集X、Y上的值,而要檢查屬性集U的其余屬性Z上的值。如果XY在屬性集W(WU)上成立,而在屬性集U上不一定成立,所以,多值依賴的有效性與屬性集的范圍有關(guān)。

b.

如果在關(guān)系模式R上存在函數(shù)依賴XY,則任何Y’Y均有XY’成立,而多值依賴XY在R上成立,但不能斷言對(duì)于任何Y’Y有XY’成立第三十五頁(yè),共五十一頁(yè),2022年,8月28日3、范式多值依賴的性質(zhì):

.多值依賴具有對(duì)稱性,即若XY,則XZ,其中Z=U-X-Y。

.多值依賴具有傳遞性,即XY,YZ,則XZ-Y。

.函數(shù)依賴可看作是多值依賴的特殊情況,即若XY,則XY。

.多值依賴合并性,即若XY,XZ,則XYZ。

.多值依賴分解性,即若XY,XZ,則X(YZ),XY-Z,XZ-Y均成立。說明,如果兩個(gè)相交的屬性子集均多值依賴于另一個(gè)屬性子集,則這兩個(gè)屬性子集因相交而分割成的三部分也都多值依賴于該屬性子集。第三十六頁(yè),共五十一頁(yè),2022年,8月28日3、范式2.第四范式(4NF)

a.定義

設(shè)有一關(guān)系模式R(U),U是其屬性全集,X、Y是U的子集,D是R上的數(shù)據(jù)依賴集。如果對(duì)于任一多值依賴XY,此多值依賴是平凡的,或者X包含了R的一個(gè)侯選關(guān)系字,則稱R是第四范式的關(guān)系模式,記作R4NF。

備注:一個(gè)BCNF的關(guān)系模式不一定是4NF,而4NF的關(guān)系模式必定是BCNF的關(guān)系模式,即4NF是BCNF的推廣。第三十七頁(yè),共五十一頁(yè),2022年,8月28日3、范式

b.4NF的分解

把一個(gè)關(guān)系模式分解為4NF的方法與分解為BCNF的方法類似,就是當(dāng)把一個(gè)關(guān)系模式利用投影的方法消去非平凡且非函數(shù)依賴的多值依賴,并且有無損連接性。備注:數(shù)據(jù)依賴和多值依賴是兩種重要的數(shù)據(jù)依賴,如只考慮函數(shù)依賴,則屬于BCNF的關(guān)系模式的規(guī)范化程序已經(jīng)最高了,如考慮多值依賴,則屬于4NF的關(guān)系模式化程度是最高的。第三十八頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化

關(guān)系模式的規(guī)范化(normalization):一個(gè)低一級(jí)范式,通過模式分解轉(zhuǎn)化為若干個(gè)高一級(jí)范式的關(guān)系模式的集合。4.1關(guān)系模式規(guī)范化的目的和原則

規(guī)范化的目的:是使結(jié)構(gòu)合理,消除存儲(chǔ)異常,使數(shù)據(jù)冗余盡量小,便于插入、刪除和更新。規(guī)范化的基本原則:遵循“一事一地”的原則,即一個(gè)關(guān)系只描述一個(gè)實(shí)體或?qū)嶓w間的聯(lián)系。若多于一個(gè)實(shí)體,就把它“分離”出來。

規(guī)范化:是概念的單一化,即一個(gè)關(guān)系表示一個(gè)實(shí)體第三十九頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化4.2關(guān)系模式規(guī)范化的步驟規(guī)范化就是對(duì)原關(guān)系進(jìn)行投影,消除決定屬性不是候選鍵的任何函數(shù)依賴,步驟:

.對(duì)1NF關(guān)系進(jìn)行投影,消除原關(guān)系中非主屬性對(duì)鍵的部分函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換成若干個(gè)2NF關(guān)系;

.對(duì)2NF關(guān)系進(jìn)行投影,消除原關(guān)系中非主屬性對(duì)鍵的傳遞函數(shù)依賴,將2NF關(guān)系轉(zhuǎn)換成若干個(gè)3NF關(guān)系;

.對(duì)3NF關(guān)系進(jìn)行投影,消除原關(guān)系中主屬性對(duì)鍵的部分函數(shù)依賴和傳遞函數(shù)依賴;

.對(duì)BCNF關(guān)系進(jìn)行投影,消除原關(guān)系中的非平凡且非函數(shù)依賴的多值依賴,得到一組4NF的關(guān)系。第四十頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化1NF2NF3NFBCNF4NF消除非主屬性對(duì)鍵的部分函數(shù)依賴消除非主屬性對(duì)鍵的傳遞函數(shù)依賴消除主屬性對(duì)鍵的部分和傳遞函數(shù)依賴消除非平凡且非函數(shù)依賴的多值依賴消除決定屬性不是候選鍵的非平凡的函數(shù)依賴規(guī)范化過程第四十一頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化4.3關(guān)系模式規(guī)范化的要求

關(guān)系模式的規(guī)范化過程是通過對(duì)關(guān)系模式的投影分解來實(shí)現(xiàn)的,但投影分解方法不是惟一的,不同的投影分解會(huì)得到不同的結(jié)果。

a.無損連接性(losslessjoin)設(shè)關(guān)系模式R(U,F(xiàn))被分解為若干個(gè)關(guān)系模式R1(U1,F(xiàn)1),R2(U2,F(xiàn)2)…,Rn(Un,F(xiàn)n)其中U=U1UU2U…..UUN,且不存在UNUj,F(xiàn)i為F在Uj上的投影,如果R與R1,R2…Rn自然連接的結(jié)果相等,則稱為關(guān)系模式R的分解具有無損連接性。第四十二頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化

b.函數(shù)依賴保持性(preservedependency)

設(shè)關(guān)系模式R(U,F(xiàn))被分解為若干個(gè)關(guān)系模式R1(U1,F(xiàn)1),R2(U2,F(xiàn)2)…,Rn(Un,F(xiàn)n),其中U=U1UU2U…..UUN,且不存在UNUj,F(xiàn)i為F在Uj上的投影,如果F所含的函數(shù)依賴一定也由分解得到的某個(gè)關(guān)系模式中的函數(shù)依賴Fi所含,則稱關(guān)系模式R的分解具有函數(shù)依賴保持性。判斷對(duì)于關(guān)系模式的一個(gè)分解是否與原關(guān)系模式等價(jià)可以有三種不同的標(biāo)準(zhǔn):

.分解要具有無損連接性

.分解要具有函數(shù)依賴保持性

.分解既要具有無損連接性,又要具有函數(shù)依賴保持性第四十三頁(yè),共五十一頁(yè),2022年,8月28日4、關(guān)系模式的規(guī)范化

用三種方法分解備注:

.如果一個(gè)分解具有無損連接性,則能夠保證不丟失信息。如果一個(gè)分解具有函數(shù)依賴保持性,則可以減輕或解決各種異常情況。

.無損連接性和函數(shù)依賴保持性是兩個(gè)相互獨(dú)立的標(biāo)準(zhǔn)。具有無損連接性的分解不一定具有函數(shù)依賴保持性。同樣,具有函數(shù)依賴保持性的分解也不一定具有無損連接性。第四十四頁(yè),共五十一頁(yè),2022年,8月28日1.設(shè)有關(guān)系R,如下表問R屬于第幾范式?如何規(guī)范為第3范式?(詳細(xì)寫出規(guī)范化過程)職工號(hào)職工名年齡性別單位號(hào)單位名A1高21女C計(jì)算機(jī)系A(chǔ)2李23男E英語(yǔ)系A(chǔ)3王21女C計(jì)算機(jī)系第四十五頁(yè),共五十一頁(yè),2022年,8月28日解:R不屬于3NF,它是2NF。

R的候選關(guān)鍵字為職工號(hào)和職工名,而:

職工號(hào)→單位號(hào),單位號(hào)

→職工號(hào),單位號(hào)→單位名.所以,職工號(hào)→單位名,即存在非主屬性“單位名”對(duì)候選關(guān)鍵字職工號(hào)的傳遞函數(shù)依賴,所以R不是3NF,規(guī)范化后的關(guān)系子模式如下圖。職工號(hào)職工名年齡性別單位號(hào)A1高21女CA2李23男EA3王21女C第四十六頁(yè),共五十一頁(yè),2022年,8月28日2.設(shè)有關(guān)系模式R(A,B,C,D),函數(shù)依賴F={AC,CA,B(A,C),D(A,C),(B,D)A}a.求出R的所有后選鍵b.根據(jù)函數(shù)依賴關(guān)系,確定關(guān)系模式R屬于第幾范式c.將R分解為3NF第四十七頁(yè),共五十一頁(yè),2022年,8月28日3.設(shè)有關(guān)系R,如下表,問R屬于第幾范式?如何規(guī)范為第3范式?(寫出詳細(xì)的規(guī)范化過程)學(xué)號(hào)姓名年齡院系系主任名課程編號(hào)成績(jī)02301LILI19外語(yǔ)王C19002301LILI19外語(yǔ)王C28502311LUCY18計(jì)算機(jī)夏C55702311LUCY18計(jì)算機(jī)夏C68002311LUCY18計(jì)算機(jī)夏C702311LUCY18計(jì)算機(jī)夏C47002312TOM20計(jì)算機(jī)夏C17502312TOM20計(jì)算機(jī)夏C27002312TOM20計(jì)算機(jī)夏C48502321JOHN21自動(dòng)化劉C190第四十八頁(yè),共五十一頁(yè),2022年,8月28日4.建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。班級(jí):班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。系:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。語(yǔ)義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。請(qǐng)給出關(guān)系模式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論