




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章關(guān)系數(shù)據(jù)庫的規(guī)范化設(shè)計(jì)本章概論關(guān)系數(shù)據(jù)庫的規(guī)范設(shè)計(jì)是關(guān)系數(shù)據(jù)庫原理中的主要理論之一,它與第3章的關(guān)系運(yùn)算知識(shí)一起,構(gòu)成了關(guān)系數(shù)據(jù)庫最重要的、嚴(yán)密的數(shù)學(xué)理論基礎(chǔ)。關(guān)系數(shù)據(jù)庫的規(guī)范化設(shè)計(jì)理論主要包含數(shù)據(jù)依賴、范式和規(guī)范化設(shè)計(jì)理論三部分內(nèi)容。其中,數(shù)據(jù)依賴是核心,范式是規(guī)范化設(shè)計(jì)的標(biāo)準(zhǔn)。數(shù)據(jù)庫設(shè)計(jì)的一個(gè)最基本問題就是如何建立一個(gè)好的數(shù)據(jù)模式,而規(guī)范化設(shè)計(jì)理論則是指導(dǎo)數(shù)據(jù)模式設(shè)計(jì)的標(biāo)準(zhǔn)。因此,規(guī)范化設(shè)計(jì)對(duì)關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)起著非常重要的作用。本章重點(diǎn)介紹數(shù)據(jù)依賴中的函數(shù)依賴以及范式的判定方法。
本章目錄
5.1關(guān)系模式的設(shè)計(jì)問題5.2規(guī)范化理論5.3Armstrong公理系統(tǒng)本章小結(jié)習(xí)題5.1關(guān)系模式的設(shè)計(jì)問題
關(guān)系模式是關(guān)系數(shù)據(jù)庫的型,是關(guān)系數(shù)據(jù)庫中的最重要的內(nèi)容之一。設(shè)計(jì)出一個(gè)規(guī)范的關(guān)系模式,可以盡可能地消除關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)冗余,解決數(shù)據(jù)庫操作中插入、修改和刪除異常的問題。想要設(shè)計(jì)一個(gè)相對(duì)較好的關(guān)系數(shù)據(jù)庫,規(guī)范化理論是必須遵循的。而關(guān)系數(shù)據(jù)庫的設(shè)計(jì)最重要的是關(guān)系模式的設(shè)計(jì),那么什么是一個(gè)較好的關(guān)系模式?一個(gè)不好的關(guān)系模式又會(huì)存在什么樣的問題?例5.1【例5.1】要求設(shè)計(jì)學(xué)生-課程數(shù)據(jù)庫,其關(guān)系模式如下:SDC(SNO,SNAME,AGE,DEPT,DEAN,CNAME,SCORE),其中SNO為學(xué)號(hào),SNAME為姓名,AGE為年齡,DEPT為系別,DEAN為系主任,CNAME為課程名,SCORE為成績(jī)。具體內(nèi)容如表5.1所示。根據(jù)實(shí)際情況,這些數(shù)據(jù)有如下語義規(guī)定:(1)一個(gè)系有若干名學(xué)生,但一名學(xué)生只屬于一個(gè)系;(2)一個(gè)系只有一名系主任,系主任不可以兼任;(3)一名學(xué)生可以選修多門課程,每門課程可被多名
學(xué)生選修。表5.1關(guān)系模式SDC對(duì)應(yīng)的部分表內(nèi)容學(xué)號(hào)SNO姓名SNAME年齡AGE系別DEPT系主任DEAN課程名CNAME成績(jī)SCORE721011程民20計(jì)算機(jī)劉華計(jì)算機(jī)應(yīng)用基礎(chǔ)78721011程民21計(jì)算機(jī)劉華數(shù)據(jù)庫原理82721032李順22電子李國(guó)義高頻技術(shù)67722010王小平22自動(dòng)化王健高電壓75722010王小平23自動(dòng)化王健過程控制60722010王小平21自動(dòng)化王健數(shù)據(jù)庫原理82722131劉婷20計(jì)算機(jī)劉華C++77723011張小惠19自動(dòng)化王健計(jì)算機(jī)應(yīng)用基礎(chǔ)74723011張小惠23自動(dòng)化王健高電壓68723015熊民21計(jì)算機(jī)劉華計(jì)算機(jī)應(yīng)用基礎(chǔ)70723015熊民22計(jì)算機(jī)劉華C++50722017胡麗文22電子李國(guó)義高頻技術(shù)82722017胡麗文21電子李國(guó)義通信原理69721109王少國(guó)23計(jì)算機(jī)劉華數(shù)據(jù)庫原理65候選鍵分析可得,(SNO,CNAME)屬性的組合可以唯一標(biāo)識(shí)一個(gè)元組,即每行的SNO與CNAME組合都是不同的,因此,(SNO,CNAME)是該關(guān)系模式的候選鍵,且為主鍵(只有一個(gè)候選鍵)。但在實(shí)際操行數(shù)據(jù)庫時(shí),將會(huì)出現(xiàn)以下幾種問題。數(shù)據(jù)冗余學(xué)號(hào)SNO姓名SNAME年齡AGE系別DEPT系主任DEAN課程名CNAME成績(jī)SCORE721011程民20計(jì)算機(jī)劉華計(jì)算機(jī)應(yīng)用基礎(chǔ)78721011程民21計(jì)算機(jī)劉華數(shù)據(jù)庫原理82721032李順22電子李國(guó)義高頻技術(shù)67722010王小平22自動(dòng)化王健高電壓75722010王小平23自動(dòng)化王健過程控制60722010王小平21自動(dòng)化王健數(shù)據(jù)庫原理82722131劉婷20計(jì)算機(jī)劉華C++77723011張小惠19自動(dòng)化王健計(jì)算機(jī)應(yīng)用基礎(chǔ)74723011張小惠23自動(dòng)化王健高電壓68723015熊民21計(jì)算機(jī)劉華計(jì)算機(jī)應(yīng)用基礎(chǔ)70723015熊民22計(jì)算機(jī)劉華C++50722017胡麗文22電子李國(guó)義高頻技術(shù)82722017胡麗文21電子李國(guó)義通信原理69721109王少國(guó)23計(jì)算機(jī)劉華數(shù)據(jù)庫原理65每名學(xué)生的信息如姓名和年齡重復(fù)存儲(chǔ),選修幾門課程就要重復(fù)存儲(chǔ)幾次;每個(gè)系的名稱和系主任的名字存儲(chǔ)的次數(shù)等于該系的學(xué)生選修課程門數(shù)的累加和,也存在重復(fù)存儲(chǔ)的問題,數(shù)據(jù)冗余很大,極大的浪費(fèi)了存儲(chǔ)的空間。操作異常(1)插入:應(yīng)該插入的數(shù)據(jù)不能實(shí)現(xiàn)插入。(2)修改:應(yīng)該修改的數(shù)據(jù)沒有進(jìn)行修改。(3)刪除:刪除了不應(yīng)該刪除的數(shù)據(jù)。我們將TDC分解為3個(gè)關(guān)系:學(xué)生關(guān)系S(SNO,SNAME,AGE,DEPT)系關(guān)系D(DEPT,DEAN)選修關(guān)系SC(SNO,CNAME,SCORE)如圖5.1所示。在3個(gè)關(guān)系中,實(shí)現(xiàn)了信息在某種程度上的分離,但是,一個(gè)好的關(guān)系模式并不是在任何時(shí)候都是最好的,應(yīng)該根據(jù)實(shí)際應(yīng)用系統(tǒng)的需求進(jìn)行設(shè)計(jì)。另一方面關(guān)系模式中的屬性之間存在相互制約、相互依賴的關(guān)系,它們直接決定著關(guān)系模式的好壞。因此,我們必須借助理論依據(jù),根據(jù)實(shí)際情況,從語義上分析屬性間的制約和依賴關(guān)系,將不好的關(guān)系數(shù)據(jù)庫模式轉(zhuǎn)變?yōu)檩^好的關(guān)系數(shù)據(jù)庫模式,即進(jìn)行關(guān)系的規(guī)范化。5.2規(guī)范化理論規(guī)范化理論的基本思想是通過合理的分解關(guān)系模式消除其中不合適的數(shù)據(jù)依賴,解決數(shù)據(jù)冗余、修改異常、插入異常、刪除異常的問題,使模式中的各關(guān)系模式達(dá)到某種程度的分離。關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)依賴分為函數(shù)依賴(FunctionalDependency簡(jiǎn)稱FD)、多值依賴(MultivaluedDependency簡(jiǎn)稱MVD)和連接依賴(JoinDependency簡(jiǎn)稱JD),其中函數(shù)依賴最為重要。5.2規(guī)范化理論5.2.1函數(shù)依賴5.2.2碼5.2.3范式5.2.1函數(shù)依賴1.定義設(shè)關(guān)系模式R(U),x、y是U的子集。若對(duì)于R(U)上的任何一個(gè)可能關(guān)系,均有x的一個(gè)值對(duì)應(yīng)于y的唯一具體值,稱為y函數(shù)依賴于x或者x函數(shù)決定y,記作:x→y。其中x稱為決定因素,y稱為依賴因素。進(jìn)而,若再有y→x,則稱x與y相互依賴,記作:xy。當(dāng)y不依賴于x時(shí),記作:x→y。例如,前面講到的學(xué)生-課程數(shù)據(jù)庫中的關(guān)系模式SC(SNO,SNAME,AGE,DEPT,DEAN,CNAME,SCORE)。根據(jù)它們的語義定義可以寫出該關(guān)系模式所有的函數(shù)依賴(即函數(shù)依賴集F)。F={SNO→SNAME,SNO→AGE,SNO→DEPT,SNO→DEAN,DEPT→DEAN,(SNO,CNAME)→SCORE}由于一個(gè)SNO有多個(gè)CNAME的值與之對(duì)應(yīng),CNAME不能唯一被確定,也就是CNAME不能依賴于SNO,因此有SNO→CNAME,同理有SNO→SCORE。而(SNO,CNAME)屬性的組合是該關(guān)系模式的主鍵,可以唯一標(biāo)識(shí)一個(gè)元組,所以有(SNO,CNAME)→SCORE。2.分類(1)部分與完全函數(shù)依賴設(shè)關(guān)系模式R(U),x、y是U的子集,x’是x的任意一個(gè)真子集,若x→y并且x’→y,則稱y部分函數(shù)依賴(PartilFunctionalDependency)于x,記作x→y。若x→y并且x’→y,則稱y完全函數(shù)依賴(FullFunctionalDependency)于x,記作x→y。5.2.1函數(shù)依賴pf例如,在關(guān)系模式SDC中,因?yàn)镾NO→SNAME,所以(SNO,CNAME)→SNAME。又因?yàn)镾NO→SCORE且CNAME→SCORE,所以(SNO,CNAME)→SCORE。
pf(2)傳遞與直接函數(shù)依賴設(shè)關(guān)系模式R(U),x、y、z是U的子集,若x→y,y又不包含于x,且y→x,但y→z,則稱z傳遞函數(shù)依賴(TransitiveFunctionalDependency)于x,記作x→z。如果有y→x,則xy,此時(shí)稱z直接函數(shù)依賴(DirectFunctionalDependency)于x,而不是傳遞函數(shù)依賴。5.2.1函數(shù)依賴t例如,在關(guān)系模式TDC中,因?yàn)镾NO→DEPT,但DEPT→SNO,而DEPT→DEAN,則有SNO→DEAN。若學(xué)生不存在同名時(shí),則有SNOSNAME,SNAME→DEPT,此時(shí)DEPT對(duì)SNO是直接函數(shù)依賴,而不是傳遞函數(shù)依賴。t(3)平凡與非平凡函數(shù)依賴若屬性集y是屬性集x的子集,則必有函數(shù)依賴x→y,稱其為平凡函數(shù)依賴。如果y不是x的子集,若有x→y,則稱其為非平凡函數(shù)依賴。(SNO,CNAME)→SNO為平凡函數(shù)依賴;(SNO,CNAME)→SCORE則為非平凡函數(shù)依賴。3.基本性質(zhì)(1)擴(kuò)張性兩個(gè)函數(shù)依賴的決定因素與依賴因素分別合并后,依然保持函數(shù)依賴關(guān)系。假設(shè)a→c,并且b→d,則(a,b)→(c,d)。(2)投影性根據(jù)平凡的函數(shù)依賴的定義,一組屬性函數(shù)決定它的所有子集。(a,b)→a,(a,b)→b。(3)合并性把決定因素相同的兩個(gè)函數(shù)依賴中的依賴因素進(jìn)行合并后,依然保持函數(shù)依賴關(guān)系。假設(shè)a→b且a→c則必有a→(b,c)。(4)分解性決定因素能夠決定全部,當(dāng)然也能夠決定全部中的部分。分解性和合并性的互為逆過程。假設(shè)a→(b,c),則a→b并且a→c。5.2.1函數(shù)依賴
屬性間的三種聯(lián)系實(shí)際上是屬性值之間相互依賴又相互制約的反映,稱為屬性間的數(shù)據(jù)依賴。那么函數(shù)依賴與屬性間的聯(lián)系類型是有關(guān)系的,分別為:①如果屬性x與屬性y的聯(lián)系類型是一對(duì)一時(shí),則存在函數(shù)依賴x→y,y→x,即xy。②如果屬性x與屬性y的聯(lián)系類型是一對(duì)多時(shí),則只存在函數(shù)依賴y→x。③如果屬性x與屬性y的聯(lián)系類型是多對(duì)多時(shí),則x與y之間不存在任何函數(shù)依賴關(guān)系。5.2.1函數(shù)依賴5.2.2碼1.候選碼(1)定義設(shè)K為R(U,F(xiàn))中的屬性或?qū)傩越M,若K→U,則K稱為R的候選碼(候選鍵或候選關(guān)鍵字)。若一個(gè)關(guān)系模式的候選碼不只一個(gè),則選擇其中的一個(gè)為主碼(主鍵)。包含在任何一個(gè)候選碼中的屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性(非碼屬性)。若候選碼包含所有的屬性,則稱為全碼(全鍵)。f5.2.2碼(2)確定①觀察函數(shù)依賴集F,看哪些屬性在依賴因素中沒有出現(xiàn)過。設(shè)沒出現(xiàn)過的屬性集為K’。若K’為空集,轉(zhuǎn)到步驟④;若K’不為空集,轉(zhuǎn)到步驟②。②根據(jù)候選碼的定義,其中必定包含K’,因?yàn)闆]有其它屬性集能決定K’。觀察K’,如有K’→U,則K’為候選碼,轉(zhuǎn)到步驟⑤,否則轉(zhuǎn)到步驟③。③K’可以分別與{U—K’}中的每一個(gè)屬性組合成新的屬性集,觀察哪個(gè)屬性集能夠完全決定U,繼而找到候選碼。若合并一個(gè)屬性不能找到或者不能找全候選碼,可以將K’
分別與{U—K’}中的每?jī)蓚€(gè)(三個(gè),四個(gè),…)屬性組合成新的屬性集,進(jìn)行類似的判斷,直到找全所有的候選碼。轉(zhuǎn)到步驟⑤。④假如K’為空集,則先觀察F中的每個(gè)決定因素。若某個(gè)決定因素能夠完全決定U,則其即為候選碼。若不能夠完全決定U,則將決定因素兩個(gè)或多個(gè)組合,觀察哪些組合能夠完全決定U,繼而找到其它的候選碼。轉(zhuǎn)到步驟⑤。⑤結(jié)束。f例5-2例5-3例5-2例5-3例5-2例5-3例5-2例5-35.2.2碼2.外碼外碼的概念在第3章中已敘述過,這里再總結(jié)如下:F為關(guān)系模式R中的屬性或?qū)傩越M,若其不是R的主碼,但卻是另外一個(gè)關(guān)系模式S的主碼,則稱F是R的外碼或外鍵。5.2.3范式設(shè)計(jì)關(guān)系數(shù)據(jù)庫中的關(guān)系模式必須遵循一定的規(guī)則,這種規(guī)則就是范式(NormalForm簡(jiǎn)稱NF)。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求,即滿足不同的范式。范式是符合某一種級(jí)別的關(guān)系模式的集合。各范式之間的集合關(guān)系可以表示為:1NF2NFBCNF3NF4NF5NF,如下圖所示。5.2.3范式規(guī)范與非規(guī)范關(guān)系1NF2NF3NFBCNF4NF5NF5.2.3范式1.第一范式若關(guān)系模式R的每個(gè)屬性都是不可再分的數(shù)據(jù)項(xiàng),也就是每個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性,則稱R屬于第一范式,記作R∈1NF。在任何一個(gè)關(guān)系數(shù)據(jù)庫中,第一范式是對(duì)關(guān)系模式的基本要求。由于在關(guān)系數(shù)據(jù)庫中只討論規(guī)范化的關(guān)系,因此所有非規(guī)范化的關(guān)系模式必須轉(zhuǎn)化成規(guī)范化的關(guān)系。去掉非規(guī)范化關(guān)系中的組合項(xiàng)就能將其轉(zhuǎn)化成規(guī)范化的關(guān)系。每個(gè)規(guī)范化的關(guān)系都是屬于1NF。例5-45.2.3范式2.第二范式若關(guān)系模式R屬于第一范式,并且它的每個(gè)非主屬性都完全函數(shù)依賴于任何一個(gè)候選碼,則稱R屬于第二范式,記作R∈2NF。第二范式是在第一范式的基礎(chǔ)上建立起來的,根據(jù)定義可知,第二范式就是不存在非主屬性部分依賴于某一候選碼。如果R的候選碼均為單屬性,或者R的全體屬性均為主屬性,那么R屬于2NF。例5-55.2.3范式3.第三范式若關(guān)系模式R不存在這樣的候選碼X、非主屬性Z,使得X→Z成立,則稱R屬于第三范式,記作R∈3NF。若關(guān)系模式屬于第三范式,則它也屬于第二范式。但關(guān)系模式若屬于第二范式,它不一定屬于第三范式。t例5-65.2.3范式4.BC范式若關(guān)系模式R屬于第一范式,如果對(duì)于R的每個(gè)函數(shù)依賴X→Y(YX),X都含有候選碼,則稱R屬于BC范式,記作R∈BCNF。BCNF通常被認(rèn)為是修正的3NF,它是在滿足1NF的基礎(chǔ)上,沒有任何屬性傳遞依賴于任意一個(gè)候選碼。等價(jià)于滿足第三范式且主屬性與碼之間不存在依賴關(guān)系。例5-75.2.3范式5.多值依賴(1)多值依賴的定義。設(shè)關(guān)系模式R(U),x、y、z是U的子集,z=U-x-y。若對(duì)于R(U)的任一關(guān)系r,給定的一個(gè)(x,z)值,存在一組y的值與之對(duì)應(yīng),并且這組值僅僅決定于x值而與z值無關(guān),稱為y多值依賴于x或者x多值決定y,記作:x→→y。在多值依賴中,若x→→y且z=U-x-y≠φ,則稱x→→y是非平凡的多值依賴,否則稱為平凡的多值依賴。例5-8(3)多值依賴的性質(zhì)。①對(duì)稱性。如果x→→y,則x→→z,其中z=U-x-y。②傳遞性。如果x→→y,y→→z,則x→→(z-y)。③偽傳遞性。如果x→→y,wy→→z,則wx→→(z-wy)。④合并性。如果x→→y,x→→z,則x→→yz。⑤分解性。如果x→→y,x→→z,則x→→(y∩z),x→→(y-z),x→→(z-y)。⑥增廣性。如果x→→y,且v∈w,則wx→→vy。⑦從函數(shù)依賴導(dǎo)出多值依賴:如果x→y,則x→→y。⑧從多值依賴導(dǎo)出函數(shù)依賴:如果x→→y,z∈y,y∩w=φ,w→z,則x→z。5.2.3范式5.2.3范式(2)多值依賴與函數(shù)依賴的區(qū)別。①在函數(shù)依賴中,x→y的有效性僅僅由x、y這兩個(gè)屬性集決定,不涉及第三個(gè)屬性集,而在多值依賴中,判定x→→y在屬性集U(z=U-x-y)上是否成立,不僅要檢查x、y上的值,而且要檢查U的其余屬性z上的值。因此,多值依賴的有效性與屬性集的范圍有關(guān)。若x→→y在R上成立,在屬性集W(UW)上也成立,則稱x→→y為R(U)的嵌入型多值依賴。②若函數(shù)依賴x→y在R(U)上成立,則對(duì)于y的任一子集y’均有x→y’成立。而多值依賴x→→y在R(U)上成立,卻不能確定x→→y'成立。6.第四范式若關(guān)系模式R屬于第一范式,如果對(duì)于R的每個(gè)非平凡的多值依賴X→→Y,X都含有候選碼,則稱R屬于第四范式,記作R∈4NF。5.2.3范式數(shù)據(jù)依賴中除了兩種最重要的函數(shù)依賴和多值依賴,還有連接依賴。如果考慮函數(shù)依賴,則屬于BCNF的關(guān)系模式的規(guī)范化程度是最高的;如果考慮多值依賴,則屬于4NF的關(guān)系模式的規(guī)范化程度是最高的。函數(shù)依賴是多值依賴的一種特殊情況,而多值依賴又是連接依賴的一種特殊情況。但連接依賴不像函數(shù)依賴和多值依賴那樣可以由語義直接導(dǎo)出,而是在關(guān)系的連接運(yùn)算時(shí)才反映出來的。5.2.3范式5.3Armstrong公理系統(tǒng)Armstrong公理系統(tǒng)是有效而完備的公理系統(tǒng),它其中的一些推理規(guī)則是關(guān)系模式分解算法的理論基礎(chǔ)。本節(jié)主要介紹公理系統(tǒng)推理規(guī)則、屬性集的閉包概念、最小函數(shù)依賴集的分析方法和模式設(shè)計(jì)的原則。5.3Armstrong公理系統(tǒng)5.3.1Armstrong公理系統(tǒng)推理規(guī)則5.3.2屬性集的閉包5.3.3最小函數(shù)依賴集5.3.4規(guī)范化模式設(shè)計(jì)的三個(gè)原則5.3.1Armstrong公理系統(tǒng)推理規(guī)則
設(shè)關(guān)系模式R(U,F(xiàn)),其中U是屬性全集,F(xiàn)是U上的一組函數(shù)依賴,有以下的推理規(guī)則:A1自反律:若屬性集Y包含于屬性集X,屬性集X又包含于U,則X→Y在R上成立。A2增廣律:若X→Y在R上成立,且屬性集Z包含于屬性集U,則XZ→YZ在R上成立。A3傳遞律:若X→Y和Y→Z在R上成立,則X→Z在R上也成立。A4偽傳性:若X→Y,且YW→Z,則XW→Z。A5合成性:若X→Y,且X→Z,則X→YZ。A6分解性:若X→Y,且屬性集Z包含于屬性集Y,則X→Z。5.3.2屬性集的閉包設(shè)有關(guān)系模式R(U,F(xiàn)),其中U為屬性全集,X是U的子集,F(xiàn)為R的函數(shù)依賴集,則由Armstrong公理推導(dǎo)出的所有函數(shù)依賴中的依賴因素(右部)所形成的屬性集,稱為屬性集X關(guān)于函數(shù)依賴集F的閉包,記做(X)F+。A→U?(A)F+:A,(AB)F+=ABCD5.3.2屬性集的閉包下面介紹求解(X)F+的算法。(1)將X置入(X)F+中,即(X)F+=X(2)對(duì)于F中的每一個(gè)函數(shù)依賴FD,若決定因素(左部)屬于(X)F+,則將依賴因素(右部)置入(X)F+中,即(X)F+=X∪依賴因素。(3)重復(fù)第二步,直至(X)F+不能再擴(kuò)大。例5-85.3.3最小函數(shù)依賴集函數(shù)依賴集F中包含若干個(gè)函數(shù)依賴,為了得到最為精簡(jiǎn)的函數(shù)依賴集,我們應(yīng)該去掉其中平凡的、無關(guān)的函數(shù)依賴和多余的屬性。如果函數(shù)依賴集F滿足下列條件,那么F就是最小的,稱為最小函數(shù)依賴集或最小覆蓋,記作Fm:1.F中的每一個(gè)函數(shù)依賴的依賴因素(右邊)只含有單個(gè)屬性。2.F中沒有冗余的函數(shù)依賴,即在F中不存在這樣的函數(shù)依賴X→Y,使得F與F-{X→Y}等價(jià)。3.每個(gè)函數(shù)依賴的左邊沒有冗余的屬性,即F中不存在這樣的函數(shù)依賴X→Y,X有真子集W使得F-{X→Y}∪{W→Y}與F等價(jià)。例5-95.3.4規(guī)范化模式設(shè)計(jì)的三個(gè)原則1.表達(dá)性表達(dá)性涉及到兩個(gè)數(shù)據(jù)庫模式的等價(jià)(數(shù)據(jù)等價(jià)和依賴等價(jià))問題,分別用無損聯(lián)接性和保持函數(shù)依賴性來衡量。關(guān)系模式的規(guī)范化過程是通過對(duì)關(guān)系模式的投影分解來實(shí)現(xiàn)的。由于投影分解的方法并不只一種,因此不同的投影分解會(huì)得到不同的結(jié)果。只有能夠保證分解后的關(guān)系模式與原來的關(guān)系模式等價(jià)的方法才是有意義的。人們判斷對(duì)關(guān)系模式的一個(gè)分解是否與原關(guān)系模式等價(jià)要符合下面的2個(gè)條件:(1)分解要具有“無損連接性”。(2)分解要具有“保持函數(shù)依賴性”。如果一個(gè)分解具有無損連接性,則能夠保證不丟失信息。如果一個(gè)分解具有保持函數(shù)依賴性,則保證不會(huì)破壞原來的語義,減輕或解決各種異常情況。無損連接性的判別方法如下:ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是關(guān)系模式R的一個(gè)分解,U={A1,A2,…,An},F(xiàn)={FD1,FD2,...,FDρ},并設(shè)F是一個(gè)最小依賴集,記FDi為Xi→Ali,其步驟如下:建立一張n列k行的表,每一列對(duì)應(yīng)一個(gè)屬性,每一行對(duì)應(yīng)分解中的一個(gè)關(guān)系模式。若屬性Aj屬于Ui,則在j列i行交叉處填上aj,否則填上bij;對(duì)于每一個(gè)FDi做如下操作:找到Xi所對(duì)應(yīng)的列中具有相同符號(hào)的那些行??疾爝@些行中l(wèi)i列的元素,若其中有ali,則全部改為ali,否則全部改為bmli,m是這些行的行號(hào)最小值。如果在某次更改后,有一行成為:a1,a2,...,an,則算法終止。且分解ρ具有無損連接性,否則不具有無損連接性。對(duì)F中p個(gè)FD逐一進(jìn)行一次這樣的處理,稱為對(duì)F的一次掃描。比較掃描前后,表有無變化,如有變化,則返回第②
步,否則算法終止。如果發(fā)生循環(huán),那么前次掃描至少應(yīng)使該表減少一個(gè)符號(hào),表中符號(hào)有限,因此,循環(huán)必然終止。例5-10例5-112.分離性分離性需要屬性之間的“獨(dú)立聯(lián)系”使用不同的關(guān)系模式表達(dá)。這個(gè)性質(zhì)主要是在模式設(shè)計(jì)中,要盡可能地消除數(shù)據(jù)的冗
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- XPE銷售合同范本
- 勞務(wù)居間服務(wù)合同范本
- 化妝品合作合同范本
- 關(guān)于門窗合同范本
- 2024年廈門國(guó)際機(jī)場(chǎng)防爆安檢人員考試真題
- 加工電子合同范本
- 保安個(gè)人勞務(wù)派遣合同范本
- 2024年深圳市龍崗區(qū)青少年業(yè)余體校招聘筆試真題
- 2024年山東青島高新區(qū)營(yíng)商環(huán)境觀察員社會(huì)招募筆試真題
- 農(nóng)資分公司加盟合同范例
- 2021譯林版高中英語選擇性必修三課文翻譯
- 2022年華中科技大學(xué)博士研究生英語入學(xué)考試真題
- 《網(wǎng)店運(yùn)營(yíng)與管理》整本書電子教案全套教學(xué)教案
- 打印版 《固體物理教程》課后答案王矜奉
- CAD術(shù)語對(duì)照表
- 學(xué)術(shù)論文的寫作與規(guī)范課件
- 香港牛津新魔法Newmagic3AUnit4Mycalendar單元檢測(cè)試卷
- 中考《紅星照耀中國(guó)》各篇章練習(xí)題及答案(1-12)
- Q∕GDW 11612.43-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第4-3部分:應(yīng)用層通信協(xié)議
- 自動(dòng)化物料編碼規(guī)則
- 第1本書出體旅程journeys out of the body精教版2003版
評(píng)論
0/150
提交評(píng)論