關系數據庫設計理論課件_第1頁
關系數據庫設計理論課件_第2頁
關系數據庫設計理論課件_第3頁
關系數據庫設計理論課件_第4頁
關系數據庫設計理論課件_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關係資料庫設計理論

2025-5-172§4.1規範化問題

4.1.1

討論範圍

關係資料庫設計理論主要包括3方面的內容:數據依賴,範式(normalforom),模式設計方法。數據依賴在此起著核心作用。我們重點討論函數依賴的概念,然後再介紹模式分解的標準,即範式,為數據庫的設計準備一定的基本理論基礎。2025-5-1734.1.2存儲異常問題

首先通過例子看一看某些不恰當的關係模式可能導致的問題。例如,有教師任課模式TDC:TDC(T#,TNAME,TUITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT)其中各屬性分別表示教師號、教師姓名、職稱、教師地址、系、系名稱、系地址、課程號碼、課程名、教學水準、學分。2025-5-174該關係在使用過程中存在下麵幾個問題:

1.數據冗餘每當教師開設一門課程時,該教師的職稱、地址等資訊就重複存儲一次。一般每位教師都開設幾門課,數據冗餘不可避免。一個系有很多教師,使關係中的數據冗餘度很大。2.更新異常由於數據的重複存儲,會給更新帶來麻煩。如果一位任3門課的教師改變了地址,3個元組的地址都要更新,一旦一個元組的地址未修改就會導致數據不一致。如果某個系改變辦公地址,所要修改的數據量會更大。2025-5-1753.插入異常如果學校新掉入一個教師,暫時未主講任何課程。由於缺少關鍵字的一部分,而關鍵字不允許出現空值,新教師就不能插入到此關係中去。只有當他開設了課程之後才能插入,這是不合理的。4.刪除異常與插入異常相反,如果某些教師致力於科研不擔任教學任務了,就要從當前資料庫中刪除有關記錄。那麼關於這些教師的其他資訊將無法記載,這也是極不合理的。上述在插入、刪除或修改元組時產生的不希望發生的異常情況是由於關係模式設計的不好造成的。如果用下麵4個關係模式代替原來的一個關係模式,上述4個方面的問題就基本解決了。2025-5-176§4.2函數依賴

4.2.1屬性間的聯繫1.一對一聯繫在讀者關係中,借書證號是唯一的,如果讀者沒有重名的,姓名與借書證號兩個屬性之間是1:1聯繫。姓名可以確定借書證號,借書證號也可以確定姓名。設X、Y為關係中的屬性或屬性組,它們的所有可能取值組成兩個集合。為簡便起見,也叫X、Y,如果對於X中的任一具體值,中至多有一個Y值與之相對應,並且對於Y中的任一具體值,中至多有一個X值與之對應,稱X、Y兩個屬性之間是一對一的關係。

2025-5-1772.一對多聯繫在讀者關係中,一本書有若干副本,它們有相同的書名、作者、分類號等,但每本書有唯一的編號。如果屬性值集合X中的任一具體值,至多與Y中的一個值相對應,而Y中的任一具體值卻可以和X中的多個值相對應,則稱兩個屬性間從X到Y為m:1的聯繫。或從Y到X是1:m的聯繫。應當注意,這裏指的是屬性值個數的多少,而不是具有相同屬性值的有多少個元組,二者正好相反。書名與總編號之間是1:m,即使一個書名與多個總編號與之對應。

2025-5-1783.多對多聯繫在借閱關係中,一個讀者可以借多本書,即同一個借書證號有若干個圖書總編號與之對應。由總編號標識的一本書在不同日期可以被不同的讀者借閱。在選修關係中一個學生可以選修幾門課,同一門課有多個學生同時選修。在X、Y兩個屬性值集中,如果任一值都可以至多和另一個屬性值集中多個值對應,反之亦然,則稱屬性X和Y是m:n關係。顯然,3類聯繫之間存在著包含關係,1:1是1:m的特例;1:m又m:n是的特例。關係中屬性值之間這種互相依賴又互相制約的聯繫為數據依賴。數據依賴主要有兩種:函數依賴和多值依賴。

2025-5-1794.2.2函數依賴

1.函數依賴的概念定義4.1

用U表示屬性集的全集{A1,A2,……,An},設R(U)是屬性集U上的關係模式。X、Y是U的子集。若對於R(U)的所有具體關係r都滿足如下約束:對於X的每一個具體值,Y有唯一的具體值與之對應,則稱Y函數依賴於X,或X函數決定Y,記作X→Y,X稱作決定因素。如果X→Y,並且Y不是X的子集,則稱是非平凡的函數依賴。全體總是能夠決定部分的,若Y是X的子集,則稱是平凡的函數依賴。2025-5-1710

例1:有關系(職工號,基本功子,獎金),一個職工號唯一確定一個基本工資數額或一個獎金額,即一個人不能拿兩種工資或獎金,但幾個人的工資可能相同。設屬性A是職工號,屬性B是基本工資,屬性C是獎金,可以看出,每個A的值對應一個B的值和一個C的值。因此屬性B和C都函數依賴於屬性A。但反過來則不存在這種聯繫,如基本工資390.00對應兩個職工號051和054。用符號表示為:A→B,A→C,C→A,B→C。

定義中所謂“對應唯一的具體值是什麼,而不是說該值不能與其他值相等。FD的確切語義表示了關係模式中屬性集的X值與Y的值之間的多對一聯繫。從數值上看,“多方”函數決定“一方”。例如,在圖書關係中,

總編號(分類號,書名,作者,出版社)2025-5-1711根據函數依賴的定義,可以找出下麵規律:(1)在一個關係模式中,如果屬性XY是有1:1聯繫,則存在函數依賴Y→X、Y→X。可記作X

Y。(2)如果屬性X→Y是1:m的聯繫,則存在函數依賴Y→X,但X→Y。(3)如果屬性X→Y是

n:m的聯繫,則X與Y之間不存在任何函數依賴。

必須注意,函數依賴是指關係R模式的所有關係元組均應滿足的約束條件,而不是指關係模式R的某個或某些元組的約束條件。當關係中的元組增加或者更新後都不能破壞函數依賴。因此,必須根據語義來數據之間的函數依賴,而不能單憑某一時刻關係中的實際數據來判段。

2025-5-17122.完全函數依賴定義4.2

設X→Y是關係模式R(U)的一個函數依賴,如果不存在X的真子集X’,使得X’→Y成立,則稱Y完全函數依賴於X,記作X→Y(f)。部分函數依賴:設XY是關係模式R(U)的一個函數依賴,如果存在X的真子集X’,使得X’→Y成立,則稱Y部分依賴於X,記作X→Y(p)。

由定義可知,當X是單個屬性時,由於X不存在任何真子集,如果X→Y,則X→Y(f)。

2025-5-1713例2:設有關係模式選課SCI(S#,C#,GRADE,CREDIT)

其中S#表示學號,C#表示課程號,GRADE表示成績,CREDIT表示學分。在這個選課關係模式中,由於一個學生可以選修多們課程,一門課程可有多個學生選修,因此S#或C#都不能單獨確定GRADE。成績只能由屬性組合(S#,C#)來確定。課程學分CREDIT是C#決定的,C#CREDIT。由此可知:(S#,C#)→GRADE(S#,C#)→CREDIT2025-5-17143.傳遞依賴定義4.3

在同一關係模式R(U)中,如果存在非平凡函數依賴X→Y,Y→Z,而Y→\X,則稱Z傳遞依賴X。定義的條件X→Y,並強調Y→\X十分必要。如果X→Y互相依賴,並非傳遞依賴。2025-5-1715例3:設關係模式S1(S#,SNAME,D#,DNAME,LOCATION)各屬性分別代表學號,姓名,所在系,系地址。存在函數依賴:S#→D#,但D#→\S#,D#,LOCTION根據傳遞依賴的定義,可知S#,LOCATION是傳遞依賴。實際上,部分依賴必然是傳遞依賴。在例2SCI(S#,C#,GRADE,CREDIT)中,(S#,C#)C#,C#(S#,C#),C#CREDIT,形成傳遞依賴(S#,C#)CREDIT。2025-5-1716相關英文講解:Normalization:Atechniqueforproducingasetofrelationswithdesirableproperties,giventhedatarequirementsofanenterprise.Normalizationisaformalmethodthatcanbeusedtoidentifyrelationsbasedontheirkeysandthefunctionaldependenciesamongtheirattributes.DataRedundancyandUpdateAnomalies(InsertionAnomalies,DeletionAnomaliesandModificationAnomalies)2025-5-1717Functionaldependency:Describestherelationshipbetweenattributesinarelation.Forexample,ifAandBareattributesofrelationR,BisfunctionallydependentonA(denotedA->B),ifeachvalueofAisassociatedwithexactlyonevalueofB.(AandBmayeachconsistofoneormoreattributes.)FullFunctionalDependencyIndicatesthatifAandBareattributesofarelation,BisfullyfunctionallydependentonAifBisfunctionallydependentonA,butnotonanypropersubsetofA.2025-5-1718PartiallyDependent:ifthereissomeattributethatcanberemovedfromAandthedependencystillholds.TransitiveDependencyAconditionwhereA,B,andCareattributesofarelationsuchthatifA->BandB->C,thenCistransitivelydependentonAviaB(providedthatAisnotfunctionaldependentonBorC).2025-5-17194.2.3關鍵字1.候選關鍵字定義4.4在關係模式R(U)中,K是U中的屬性或屬性組。如果K→U(f),則稱K為關係R(U)的一個候選關鍵字。主關鍵字:R(U)中若有一個以上的候選關鍵字,則選定其中一個作為主關鍵字。主屬性:包含在任意一個候選關鍵字中的屬性。非主屬性:不包含在任意一個候選關鍵字中的屬性。全關鍵字:在極端的情況下,關係模式的整個屬性組U作為關鍵字,稱為全關鍵字。此時,關係中沒有非主屬性。2025-5-1720候選關鍵字具有兩個性質:(1)標示的唯一性:對於R(U)中的每一個元組,K的值確定後,該元組就相應確定了。(2)無冗餘性:當K是屬性組的情況下,K的任何一部分都不能唯一標示該元組。這是定義中的完全函數依賴的意義。例如,SC(S#,C#,GRADE,CREDIT)中,屬性組(S#,C#)是主關鍵字,也是主關鍵字。S#,C#是主屬性。GRADE,CREDIT是非屬性。

2025-5-17212.外關鍵字定義4.5在關係模式R(U)中,若屬性或屬性組X不是關係R的關鍵字,但X是其他關係模式的關鍵字,則稱X為關係R(U)的外關鍵字。主關鍵字和外關鍵字是表示關係之間聯繫的手段。例如,在借書數據中,借書證號和總編號是讀者關係,圖書關係的主關鍵字,夠成借閱關係的外關鍵字。2025-5-1722又如,在選課關係資料庫中,3個關係模式:

S(S#,SNAME,SEX,ADDRESS)

C(C#,CNAME,CREDIT)

SC(S#,C#,GRADE)學生和課程存在的多對多的聯繫由選修關係反映出來,3個關係間的關聯是通過關係SC的外關鍵字S#、C#實現的。2025-5-1723相關英文講解:Candidatekey:Theminimalsetofattributesthatuniquelyidentifieseachoccurrenceofanentitytype.Primarykey:Thecandidatekeythatisselectedtouniquelyidentifyeachoccurrenceofanentitytype.Compositekey:Acandidatekeythatconsistsoftwoormoreattributes.2025-5-1724Thecandidatekey(s)forarelation,wemustidentifytheattribute(orgroupofattributes)thatuniquelyidentifieseachtupleinthisrelation.Ifarelationhasmorethanonecandidatekey,weidentifythecandidatekeythatistoactastheprimarykeyfortherelation.2025-5-17254.2.4函數依賴公理數據依賴的公理系統是模式分解演算法的理論基礎,下麵首先討論函數依賴的一個有效而完備的公理系統——Armstrong公理系統。設U為屬性總體,F是U上的一組函數依賴,有關系模式R(U,F)。定義4.6

對於滿足一組函數依賴F的關係模式R(U,F),其中任何一個關係r,如果函數依賴X→Y都成立,則稱為F邏輯蘊含X→Y。2025-5-1726為了求得給定關係模式的關鍵字,為了從一組函數依賴求得蘊含的函數依賴,例如已知函數依賴集F,要問X→Y是否為F所蘊含,就需要一套推理規則,這組推理規則是l974年首先由Armstrong提出來的。

Armstrong公理系統:設U為屬性集總體,F是U上的一組函數依賴,於是有關系模式R(U,F)。

2025-5-1727對R(U,F)來說有以下的推理規則:(1)自反律(Reflexivity):若Y

X

U,則X→Y為F所蘊含。(2)增廣律(Augmentation):若X→Y為F所蘊含,且Z

U,則XZ→YZ為F所蘊含

。(3)傳遞律(Transitivity):若X→Y及Y→Z為F所蘊含,則X→Z為F所蘊含。注意:由自反律所得到的函數依賴均是平凡的函數依賴,自反律的使用並不依賴於F。

2025-5-1728根據上述3條Armstrong公理,可以得到下列規則:(4)合併規則(Union):如果X→Y,X→Z,則有X→YZ。(5)偽傳遞規則:如果X→Y,WY→Z,則有WX→Z。(6)分解規則(Decomposition):如果X→Y,Z

Y,則有X→Z。

根據合併規則和分解規則,很容易得到以下事實:X→A1,A2,…,An

成立的充分必要條件是成立X→Ai(i=1,2,…,n)成立。2025-5-1729相關英文講解:InferenceRulesforFunctionalDependencies(1)Reflexivity:IfBisasubsetofA,thenA→B(2)Augmentation:IfA→B,thenA,C→B,C(3)Transitivity:IfA→BandB→CthenA→C(4)Self-determination:A→A(5)Decomposition:IfA→B,C,thenA→BandA→C(6)Union:IfA→BandA→C,thenA→B,C(7)Composition:IfA→BandC→DthenA,C→B,D2025-5-1730§4.3關係範式4.3.1第一範式(1NF)定義4.7在關係模式R中的每一個具體關係r中,如果每一個屬性值都是不可再分的最小數據單位,則稱R是第一範式1NF的關係。記為R∈1NF。元組中每一分量必須是不可分割的資料項目,即在同一表中沒有重複項存在。2025-5-17314.3.2第二範式(2NF)定義4.8

如果關係模式R(U,F)中的所有非主屬性都完全函數依賴於任一候選關鍵字,則稱關係R是第二範式(2NF)的。記為R∈2NF。第二範式(2NF)滿足1NF且所有非主屬性都依賴於主關鍵字。

2025-5-17324.3.3第三範式定義4.9如果關係模式R(U,F)中的所有非主屬性對任何候選關鍵字都不存在傳遞依賴,則稱關係R是第三範式(3NF)的。記為R∈3NF。第三範式(3NF)滿足2NF且任何一個非主屬性都不傳遞依賴於任何主關鍵字。如表4-8張宏開設了3門課程,上面出現了3個元組,教師地址重複了3次。傳遞依賴關係存在著冗餘和異常更新問題。

2025-5-17334.3.4BCNF部分函數依賴和傳遞函數依賴是產生存儲異常的兩個重要原因,3NF消除了大部分存儲異常,具有較好的性能。但3NF並沒有要求消除主屬性對後選關鍵字的傳遞依賴,如果存在這種情況,3NF模式仍然可能發生存儲異常現象。2025-5-1734例如,每門課有幾個教師講,但每個教師只教一門課;每個學生可選幾門課。可得出的函數依賴:(S#,CNAME)→TNAME(S#,TNAME)→CNAMETNAME→CNAME關鍵字:(S#,CNAME)或(S#,TNAME)∵在EN中所有屬性都是主屬性∴EN∈3NF2025-5-1735存在異常:如果設置了課程,並確定了教師,但還沒有學生選修,則教師與課程資訊就不能加入。若一個學生畢業或中止學業,刪除學生時,連教師和課程也刪了。定義4.10

如果關係模式R(U,F)的所有屬性都不傳遞依賴於R的任何候選關鍵字,那麼稱關係R是屬於BCNF的。記為R∈BCNF。關係模式R,如果每個決定因素都包含關鍵字(而不是被關鍵字所包含),則R是BCNF的關係模式。

2025-5-1736那麼,上例的分解方法是對於不是BCNF的關係模式R,若在R中有Y

R,且Y

A,A

Y,Y不是R的關鍵字,則可分解為R1=R-A和R2=YA。EN分解為:CLASS(S#,TNAME)∈BCNFTEACH(TNAME,CNAME)∈BCNF規範化過程關係模式分解的無損聯接性:分解後的兩個關係可以通過自然聯接恢復原來的關係。這種分解具有無損聯接性。判斷無損分解的法則,即無損分解的充分必要條件是:R1∩R2→R1-R2或R1∩R2→R2-R12025-5-1737相關英文講解:Unnormalizedform(UNF)Atablethatcontainsoneormorerepeatinggroups.FromUNFto1NF,therearetwocommonapproachestoremovingrepeatinggroupsfromunnormalizedtables:1.removetherepeatinggroupsbyenteringappropriatedataintheemptycolumnsofrowscontainingtherepeatingdata.Inotherword,wefillintheblanksbyduplicatingthenonrepeatingdata,whererequired.Thisapproachiscommonlyreferredtoas‘flattening’thetable.2025-5-17382.removetherepeatinggroupbyplacingtherepeatingdata,alongwithacopyoftheoriginalkeyattribute(s),inaseparaterelation.Aprimarykeyisidentifiedforthenewrelation.Sometimestheunnormalizedtablemaycontainmorethanonerepeatinggroup,orrepeatinggroupswithinrepeatinggroups.Insuchcases,thisapproachisappliedrepeatedlyuntilnorepeatinggroupsremain.2025-5-1739Asetofrelationsisin1NFiftheycontainnorepeatinggroups.FirstNormalForm(1NF)Arelationinwhichtheintersectionofeachrowandcolumncontainsoneandonlyonevalue.Thenormalizationof1NFrelationsto2NFinvolvestheremovalofpartialdependencies.Ifapartialdependencyexists,weremovethefunctionallydependentattributesfromtherelationbyplacingtheminanewrelationalongwithacopyoftheirdeterminant.2025-5-1740SecondNormalForm(2NF)Arelationthatisinfirstnormalformandeverynon-primary-keyattributeisfullyfunctionallydependentontheprimarykey.OrArelationthatisinfirstnormalformandeverynon-primary-keyattributeisfullyfunctionaldependentonanycandidatekey.Arelationwithasingleattributeprimarykeyisautomaticallyinatleast2NF.2025-5-1741Thenormalizationof2NFrelationsto3NFinvolvestheremovaloftransitivedependencies.Ifatransitivedependencyexists,weremovethetransitivelydependentattributesfromtherelationbyplacingtheminanewrelationalongwithacopyoftheirdeterminant.ThirdNormalForm(3NF)Arelationthatisinfirstandsecondnormalform,andinwhichnonon-primary-keyattributeistransitivelydependentontheprimarykey.Or2025-5-1742Thenormalizationof2NFrelationsto3NFinvolvestheremovaloftransitivedependencies.Ifatransitivedependencyexists,weremovethetransitivelydependentattributesfromtherelationbyplacingtheminanewrelationalongwithacopyoftheirdeterminant.ThirdNormalForm(3NF)Arelationthatisinfirstandsecondnormalform,andinwhichnonon-primary-keyattributeistransitivelydependentontheprimarykey.Or2025-5-1743Thedifferencebetween3NFandBCNFisthatforafunctionaldependencyA->B,3NFallowsthisdependencyinarelationifBisaprimary-keyattributeandAisnotacandidatekey,whereasBCNFinsiststhatforthisdependencytoremaininarelation,Amustbeacandidatekey.ThepotentialtoviolateBCNFmayoccurinarelationthat:Containstwo(ormore)compositecandidatekeysThecandidatekeysoverlap,thatishaveatleastoneattributeincommon2025-5-17444.3.5規範化小結在關係資料庫中,對關係模式的基本要求是滿足第一範式。這樣的關係模式就是合法的、允許的。但是,人們發現有些關係模式存在插入、刪除異常、修改複雜,數據冗餘等毛病。人們尋求解決這些問題的方法,這就是規範化的目的。規範化的基本思想是逐步消除數據依賴中不合適的部分,使模式中的各關係模式達到某種程度的“分離”,即“一事一地”的模式設計原則。讓一個關係描述一個概念、一個實體或者實體間的一種聯繫。若多於一個概念就把它“分離”出去。因此所謂規範化實質上是概念的單一化。2025-5-1745例教師任課關係模式TDC(T#,TNAME,TITLE,ADDR,D#,DNAME,LOC,C#,CNAME,LEVEL,CREDIT)第一步:確定函數依賴T#→(TNAME,TITLE,ADDR,D#,DNAME,LOC)D#→(DNAME,LOC)C#→(CNAME,CREDIT)(T#,C#)→LEVEL2025-5-1746第二步:確定候選關鍵字∵(T#,C#)→U∴(T#,C#)為候選關鍵字第三步:確定主屬性和非主屬性主屬性:T#,C#非主屬性:TNAME,TITLE,ADDR,D#,DNAME,LOC,CNAME,CREDIT,LEVEL2025-5-1747第四步:判定是否為第二範式,若不是則分解為第二範式∵T#→(TNAME,TITLE,ADDR,D#,DNAME,LOC)C#→(CNAME,CREDIT)∴TDC∈2NF分解為:TD(T#,TNAME,ADDR,D#,DNAME,LOC)C(C#,CNAME,CREDIT)TC(T#,C#,LEVEL)2025-5-1748第五步:判定是否為第三範式,若不是則分解為第三範式經判斷C∈3NF,TC∈3NF∵T#→D#,D#→(DNAME,LOC),且D#→T#∴TD∈3NF分解為:D(D#,DNAME,LOC)T(T#,TNAME,ADDR,D#)2025-5-1749第六步:判定是否為BCNF,若不是則分解為BCNF經判斷:T(T#,TNAME,ADDR,D#)∈BCNFD(D#,DNAME,LOC)∈BCNFC(C#,CNAME,CREDIT)∈BCNFTC(T#,C#,LEVEL)∈BCNFTDC分解為以上四個關係模式2025-5-1750在這4個關係模式組成的關係模式中消除了傳遞依賴,達到瞭解3NF。在任一個模式中,每個決定因素都是關鍵字,由此也同時滿足了BNCF的要求。各範式級別是在分析函數依賴條件下

溫馨提示

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

評論

0/150

提交評論