『数据库』朴实无华且枯燥的数据库文章--关系数据理论
『數(shù)據(jù)庫』 樸實無華且枯燥的數(shù)據(jù)庫教程–入門必看!(不收藏,真的吃虧了)
文章目錄
- 問題的提出
- 規(guī)范化
- 數(shù)據(jù)依賴的公理系統(tǒng)
- 模式的分解
- 小結(jié)
問題的提出
一、概念回顧
關(guān)系:描述實體、屬性、實體間的聯(lián)系。
從形式上看,它是一張二維表,是所涉及屬性的笛卡爾積的一個子集。
關(guān)系模式:用來定義關(guān)系。
關(guān)系數(shù)據(jù)庫:基于關(guān)系模型的數(shù)據(jù)庫,利用關(guān)系來描述現(xiàn)實世界。
從形式上看,它由一組關(guān)系組成。
關(guān)系數(shù)據(jù)庫的模式:定義這組關(guān)系的關(guān)系模式的全體。
二、關(guān)系模式的形式化定義
關(guān)系模式由五部分組成,即它是一個五元組:
1.屬性間的聯(lián)系
1)一對一聯(lián)系
設(shè)X,Y為關(guān)系中的屬性或?qū)傩越M,它們的所有可能取值組成兩個集合。如果對于X中的任一具體值Y中至多有一個值與之對應,稱X,Y這兩個屬性之間是一對一聯(lián)系。
2)一對多聯(lián)系
如果屬性值集合X中的任一個具體值,至多與Y中的一個值相對應,而Y中的任一個具體值卻可以和X中的多個值相對應,則稱兩個屬性間從X到Y(jié)為m:1的聯(lián)系或從Y到X是1:m的聯(lián)系。
注意:這里指的是屬性值個數(shù)的多少,而不是具有相同屬性值的有多少個元組,二者正好相反。
3)多對多聯(lián)系
在X,Y兩個屬性值集中,如果任一個值都可以至多和另一個屬性值集中多個值對應,反之亦然,則稱屬性X和Y是m:n關(guān)系。
三、什么是數(shù)據(jù)依賴
1. 完整性約束的表現(xiàn)形式
- 限定屬性取值范圍
- 定義屬性值間的相互關(guān)連(主要體現(xiàn)于值的相等與否),這就是數(shù)據(jù)依賴,它是數(shù)據(jù)庫模式設(shè)計的關(guān)鍵
2. 數(shù)據(jù)依賴
- 一個關(guān)系內(nèi)部屬性與屬性之間的約束關(guān)系
- 現(xiàn)實世界屬性間相互聯(lián)系的抽象
- 數(shù)據(jù)內(nèi)在的性質(zhì)
- 語義的體現(xiàn)
3. 數(shù)據(jù)依賴的類型
- 函數(shù)依賴(Functional Dependency,簡記為FD)
- 多值依賴(Multivalued Dependency,簡記為MVD)
- 其他
四、關(guān)系模式的簡化表示
關(guān)系模式R(U, D, DOM, F),簡化為一個三元組:R(U, F) 。
當且僅當U上的一個關(guān)系r滿足F時,r稱為關(guān)系模式 R (U, F)的一個關(guān)系。
五、數(shù)據(jù)依賴對關(guān)系模式的影響
【例1】 建立一個描述學校教務(wù)的數(shù)據(jù)庫:
學生的學號(Sno)、所在系(Sdept)、系主任姓名(Mname)、課程名(Cname)、成績(Grade)
【解析】
單一的關(guān)系模式 :
學校數(shù)據(jù)庫的語義:
⒈ 一個系有若干學生, 一個學生只屬于一個系;
⒉ 一個系只有一名主任;
⒊ 一個學生可以選修多門課程, 每門課程有若干學生選修;
⒋ 每個學生所學的每門課程都有一個成績。
屬性組U上的一組函數(shù)依賴F:
關(guān)系模式Student<U, F>中存在的問題
1.數(shù)據(jù)冗余太大
浪費大量的存儲空間
例:每一個系主任的姓名重復出現(xiàn)
2.更新異常(Update Anomalies)
數(shù)據(jù)冗余 ,更新數(shù)據(jù)時,維護數(shù)據(jù)完整性代價大
例:某系更換系主任后,系統(tǒng)必須修改與該系學生有關(guān)的每一個元組
3.插入異常(Insertion Anomalies)
該插的數(shù)據(jù)插不進去
例,如果一個系剛成立,尚無學生,我們就無法把這個
系及其系主任的信息存入數(shù)據(jù)庫。
4.刪除異常(Deletion Anomalies)
不該刪除的數(shù)據(jù)不得不刪
例,如果某個系的學生全部畢業(yè)了, 我們在刪除該系學生信息的同時,把這個系及其系主任的信息也丟掉了。
分解關(guān)系模式
把這個單一模式分成3個關(guān)系模式:
規(guī)范化
規(guī)范化理論正是用來改造關(guān)系模式,通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。
一、函數(shù)依賴
1.函數(shù)依賴
設(shè)R(U)是一個屬性集U上的關(guān)系模式,X和Y是U的子集。
若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱“X函數(shù)確定Y” 或 “Y函數(shù)依賴于X”,記作X→Y。
若X→Y,則X稱為這個函數(shù)依賴的決定屬性組,也稱為決定因素(Determinant)。
函數(shù)依賴與屬性間的聯(lián)系類型有關(guān):
(1) 一對一聯(lián)系:X←→Y
(2) 多對一聯(lián)系:X→Y
(3) 多對多聯(lián)系:不存在依賴關(guān)系
(4) 可從屬性間的聯(lián)系類型來分析屬性間的函數(shù)依賴
ps:
2.平凡函數(shù)依賴與非平凡函數(shù)依賴
在關(guān)系模式R(U)中,對于U的子集X和Y,
如果X→Y,但Y?X,則稱X→Y是非平凡的函數(shù)依賴
若X→Y,但Y?X, 則稱X→Y是平凡的函數(shù)依賴
ps:于任一關(guān)系模式,平凡函數(shù)依賴都是必然成立的,它不反映新的語義,因此若不特別聲明, 我們總是討論非平凡函數(shù)依賴。
3.完全函數(shù)依賴與部分函數(shù)依賴
在R(U)中,如果X→Y,并且對于X的任何一個真子集X’,都有X’ Y, 則稱Y對X完全函數(shù)依賴,記作X F Y。
若X→Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作XP→YX^P→YXP→Y。 (S,C)F→G(S,C)^F→G(S,C)F→G ,(S,C)P→SN(S,C)^P→SN(S,C)P→SN
4.傳遞函數(shù)依賴
在R(U)中,如果X→YX→YX→Y,(Y傳遞→X)(Y^{傳遞}→X)(Y傳遞→X) ,Y→XY→XY→X ,Y→ZY→ZY→Z,則稱Z對X傳遞函數(shù)依賴。記為:X→ZX → ZX→Z
ps:如果Y→XY→XY→X, 即X←→YX←→YX←→Y,則Z直接依賴于X。
二、碼
設(shè)K為R<U,F>中的屬性或?qū)傩越M合。若K U, 則K稱為R的侯選碼(Candidate Key)。
若候選碼多于一個,則選定其中的一個做為主碼(Primary Key)。
1.主屬性與非主屬性
- 包含在任何一個候選碼中的屬性 ,稱為主屬性(Prime attribute)
- 不包含在任何碼中的屬性稱為非主屬性(Nonprime attribute)或非碼屬性(Non-key attribute)
2.全碼
- 整個屬性組是碼,稱為全碼(All-key)
3.外部碼
關(guān)系模式 R 中屬性或?qū)傩越MX 并非 R的碼,但X 是另一個關(guān)系模式的碼,則稱 X 是R 的外部碼(Foreign key)也稱外碼。
主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段
4.關(guān)系碼的性質(zhì)
【返例】
關(guān)系模式S(S# , SN , SD , DEAN , C# , G)
主碼:(S#,C#)
函數(shù)依賴:
(S,C)f→G(S,C)^f→G(S,C)f→G
S→SN,(S,C)p→SNS → SN,(S,C)^p→SNS→SN,(S,C)p→SN
S→SD,(S,C)p→SDS → SD,(S,C)^p→ SDS→SD,(S,C)p→SD
SD→DEAN,S→DEANSD → DEAN, S→ DEANSD→DEAN,S→DEAN
(S,C)p→DEAN(S,C)^p→DEAN(S,C)p→DEAN
三、范式
范式是符合某一種級別的關(guān)系模式的集合
關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式。
范式的種類:
- 第一范式(1NF)
- 第二范式(2NF)
- 第三范式(3NF)
- BC范式(BCNF)
- 第四范式(4NF)
- 第五范式(5NF)
各種范式之間存在聯(lián)系:
1NF ? 2NF ? 3NF ? BCNF ? 4NF ? 5NF
某一關(guān)系模式R為第n范式,可簡記為R∈nNF。
一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這種過程就叫規(guī)范化
四、2NF
1.1NF的定義
如果一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項, 則R∈1NF
第一范式是對關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫
但是滿足第一范式的關(guān)系模式并不一定是一個好的關(guān)系模式
2.2NF的定義
若R∈1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R∈2NF。
- 采用投影分解法將一個1NF的關(guān)系分解為多個2NF的關(guān)系,可以在一定程度上減輕原1NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復雜等問題。
- 將一個1NF關(guān)系分解為多個2NF的關(guān)系,并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余
五、3NF
3NF的定義
關(guān)系模式R<U,F> 中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z ? Y), 使得X→Y,Y→Z成立,Y \→ X,則稱R<U,F> ∈ 3NF。
若R∈3NF,則每一個非主屬性既不部分依賴于碼也不傳遞依賴于碼。
(1) 每個非主屬性既不部分依賴,也不傳遞依賴于R的任何碼。
(2) 從1NF→2NF:消除非主屬性對碼的部分函數(shù)依賴
(3) 從2NF→3NF:消除非主屬性對碼的傳遞函數(shù)依賴
(4) 從一個表中刪去不依賴于主碼的數(shù)據(jù)列。
- 采用投影分解法將一個2NF的關(guān)系分解為多個3NF的關(guān)系,可以在一定程度上解決原2NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復雜等問題。
- 將一個2NF關(guān)系分解為多個3NF的關(guān)系后,仍然不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。
六、BCNF
關(guān)系模式R<U,F>∈1NF,若X→Y且Y ? X時X必含有碼,則R<U,F> ∈BCNF。
等價于:每一個決定屬性因素都包含碼
若R∈BCNF
? 所有非主屬性對每一個碼都是完全函數(shù)依賴
? 所有的主屬性對每一個不包含它的碼,也是完全函數(shù)依賴
? 沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性
3NF與BCNF的關(guān)系
如果R∈3NF,且R只有一個候選碼
BCNF的關(guān)系模式所具有的性質(zhì)
1.所有非主屬性都完全函數(shù)依賴于每個候選碼
2.所有主屬性都完全函數(shù)依賴于每個不包含它的候選碼
3.沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性
七、多值依賴
1.定義
設(shè)R(U)是一個屬性集U上的一個關(guān)系模式, X、 Y和Z是U的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴X→→Y成立,當且僅當對R(U)的任一關(guān)系r, r在(x,z)上的每個對應一組Y的值,這組值僅僅決定于x值而與z值無關(guān)。
2.多值依賴的另一個等價的形式化的定義:
在R(U)的任一關(guān)系r中,如果存在元組t,s 使得t[X]=s[X],那么就必然存在元組 w,v? r,(w,v可以與s,t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z]
(即交換s,t元組的Y值所得的兩個新元組必在r中),則Y多值依賴于X,記為X→→Y。 這里,X,Y是U的子集,Z=U-X-Y。
3.平凡多值依賴和非平凡的多值依賴
? 若X→→Y,而Z=φ,則稱X→→Y為平凡的多值依賴
? 否則稱X→→Y為非平凡的多值依賴
4.多值依賴的性質(zhì)
(1)多值依賴具有對稱性
若X→→Y,則X→→Z,其中Z=U-X-Y
(2)多值依賴具有傳遞性
若X→→Y,Y→→Z, 則X→→Z –Y
(3)函數(shù)依賴是多值依賴的特殊情況。
若X→Y,則X→→Y。
(4)若X→→Y,X→→Z,則X→→Y∪Z。
(5)若X→→Y,X→→Z,則X→→Y∩Z。
(6)若X→→Y,X→→Z,則X→→Y-Z,X→→Z -Y
5.多值依賴與函數(shù)依賴的區(qū)別
(1) 有效性
多值依賴的有效性與屬性集的范圍有關(guān)
若X→→Y在U上成立,則在W(X Y ? W ? U)上一定成立;反之則不然,即X→→Y在W(W ? U)上成立,在U上并不一定成立
? 多值依賴的定義中不僅涉及屬性組 X和 Y,而且涉及U中其余屬性Z。
? 一般地,在R(U)上若有X→→Y在W(W ? U)上成立,則稱X→→Y為R(U)的嵌入型多值依賴
只要在R(U)的任何一個關(guān)系r中,元組在X和Y上的值滿足定義(函數(shù)依賴),則函數(shù)依賴X→Y在任何屬性集W(X Y ? W ? U)上成立。
(2)
? 若函數(shù)依賴X→Y在R(U)上成立,則對于任何Y’ ? Y均有X→Y’ 成立
? 多值依賴X→→Y若在R(U)上成立,不能斷言對于任何Y’ ? Y有X→→Y’ 成立
- 函數(shù)依賴規(guī)定某些元組不能出現(xiàn)在關(guān)系中,也稱為相等產(chǎn)生依賴。
- 多值依賴要求某種形式的其它元組必須在關(guān)系中,稱為元組產(chǎn)生依賴。
八、4NF
關(guān)系模式R<U,F>∈1NF,如果對于R的每個非平凡多值依賴X→→Y(Y ? X),X都含有碼,則R∈4NF。
如果R ∈ 4NF, 則R ∈ BCNF
- 不允許有非平凡且非函數(shù)依賴的多值依賴
- 允許的非平凡多值依賴是函數(shù)依賴
各級范式的關(guān)系
(1) 4NF?BCNF?3NF?2NF?1NF
(2) 如果關(guān)系滿足某個范式要求,也會滿足級別較低的所有范式的要求
(3) 較高層次的范式比較低層次的范式更合乎要求
九、規(guī)范化小結(jié)
- 關(guān)系數(shù)據(jù)庫的規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計的工具
- 一個關(guān)系只要其分量都是不可分的數(shù)據(jù)項,它就是規(guī)范化的關(guān)系,但這只是最基本的規(guī)范化
- 規(guī)范化程度可以有多個不同的級別
- 規(guī)范化程度過低的關(guān)系不一定能夠很好地描述現(xiàn)實世界,可能會存在插入異常、刪除異常、修改復雜、數(shù)據(jù)冗余等問題
- 一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式集合,這種過程就叫關(guān)系模式的規(guī)范化
- 目的:盡量消除插入、刪除異常,修改復雜,數(shù)據(jù)冗余
- 基本思想:逐步消除數(shù)據(jù)依賴中不合適的部分
實質(zhì):概念的單一化
規(guī)范化步驟
- 消除不合適的數(shù)據(jù)依賴
- 使各關(guān)系模式達到某種程度的“分離”
- 采用“一事一地”的模式設(shè)計原則
讓一個關(guān)系描述一個概念、一個實體或者實體間的一種聯(lián)系。若多于一個概念就把它“分離”出去 - 所謂規(guī)范化實質(zhì)上是概念的單一化
- 不能說規(guī)范化程度越高的關(guān)系模式就越好
- 在設(shè)計數(shù)據(jù)庫模式結(jié)構(gòu)時,必須對現(xiàn)實世界的實際情況和用戶應用需求作進一步分析,確定一個合適的、能夠反映現(xiàn)實世界的模式
- 上面的規(guī)范化步驟可以在其中任何一步終止
數(shù)據(jù)依賴的公理系統(tǒng)
一、邏輯蘊含
對于滿足一組函數(shù)依賴 F 的關(guān)系模式R <U,F>,其任何一個關(guān)系r,若函數(shù)依賴X→Y都成立, (即r中任意兩元組t,s, 若t[X]=s[X],則t[Y]=s[Y]),則稱F邏輯蘊含X →Y
二、Armstrong公理系統(tǒng)
一套推理規(guī)則,是模式分解算法的理論基礎(chǔ)
用途
- 求給定關(guān)系模式的碼
- 從一組函數(shù)依賴求得蘊含的函數(shù)依賴
關(guān)系模式R <U,F >來說有以下的推理規(guī)則:
A1.自反律(Reflexivity):若Y ? X ? U,則X →Y為F所蘊含。
A2.增廣律(Augmentation):若X→Y為F所蘊含,且Z ? U,則XZ→YZ為F所蘊含。
A3.傳遞律(Transitivity):若X→Y及Y→Z為F所蘊含,則X→Z為F所蘊含。
注意:由自反律所得到的函數(shù)依賴均是平凡的函數(shù)依賴,自反律的使用并不依賴于F
三、函數(shù)依賴閉包
1.F的閉包:
在關(guān)系模式R<U,F>中為F所邏輯蘊含的函數(shù)依賴的全體叫作 F的閉包,記為F+F^+F+。
2.X關(guān)于函數(shù)依賴集F 的閉包:
設(shè)F為屬性集U上的一組函數(shù)依賴,X ?U, XF+ ={ A|X→A能由F 根據(jù)Armstrong公理導出}, XF+X_F^+XF+?稱為屬性集X關(guān)于函數(shù)依賴集F 的閉包
3.關(guān)于閉包的引理
引理:
設(shè)F為屬性集U上的一組函數(shù)依賴,X,Y ? U,X→Y 能由F 根據(jù)Armstrong公理導出的充分必要條件是Y?XF+Y ? X_F^+Y?XF+?
用途:
將判定X→Y是否能由F根據(jù)Armstrong公理導出的問題,轉(zhuǎn)化為求出XF+ 、判定Y是否為XF+的子集的問題
4.求閉包的算法
求屬性集X(X ? U)關(guān)于U上的函數(shù)依賴集F 的閉包X_F^+
輸入:X,F 輸出:XF+X_F^+XF+?
步驟:
(1)令X(0)=X,i=0令X^{(0)}=X,i=0令X(0)=X,i=0
(2)求B,這里B=A∣(?V)(?W)(V→W∈F∧V?X(i)∧A∈W)B = { A |(? V)( ? W)(V→W∈F∧V ? X^{(i)}∧A∈W)}B=A∣(?V)(?W)(V→W∈F∧V?X(i)∧A∈W)
(3)X(i+1)=B∪X(i)X^{(i+1)}=B∪X^{(i)}X(i+1)=B∪X(i)
(4)判斷X(i+1)=X(i)X^{(i+1)}= X^ {(i)}X(i+1)=X(i)嗎?
(5)若相等或X(i)=UX^{(i)}=UX(i)=U , 則X(i)X^{(i)}X(i)就是XF+X_F^+XF+?, 算法終止。
(6)若否,則 i=i+l,返回第(2)步。
令ai =|X(i)|,{ai }形成一個步長大于1的嚴格遞增的序列,序列的上界是 | U |,因此該算法最多 |U| - |X| 次循環(huán)就會終止。
算法(求屬性集的閉包)
判定X→Y是否能由F根據(jù)Armstrong公理導出,
可轉(zhuǎn)化為求XF+X_F^+XF+?,判定Y?XF+Y?X_F^+Y?XF+?是否成立。
輸入:X,F
輸出:
1)開始:XF+X_F^+XF+? := X;
2)考察每個F中的函數(shù)依賴 A→B, 若 AXF+AX_F^+AXF+? ,則 XF+X_F^+XF+?:= XF+∪BX_F^+∪BXF+?∪B
3)繼續(xù)考察,直到 不再增大為止。
5. Armstrong公理系統(tǒng)的有效性與完備性
有效性:由F出發(fā)根據(jù)Armstrong公理推導出來的每一個函數(shù)依賴一定在F+中
Armstrong正確
完備性:F+中的每一個函數(shù)依賴,必定可以由F出發(fā)根據(jù)Armstrong公理推導出來
Armstrong公理夠用,完全
完備性:所有不能用Armstrong公理推導出來f, 都不為真;若 f 不能用Armstrong公理推導出來, f?F+
6. 函數(shù)依賴集等價
如果G+=F+G^+=F^+G+=F+,就說函數(shù)依賴集F覆蓋G(F是G的覆蓋,或G是F的覆蓋),或F與G等價。
F+=G+F^+ = G^+F+=G+ 的充分必要條件是F?G+F ? G^+F?G+ ,和G?F+G ? F^+G?F+
7. 最小依賴集
如果函數(shù)依賴集F滿足下列條件,則稱F為一個極小函數(shù)依賴集。亦稱為最小依賴集或最小覆蓋。記作Fm:
(1)單屬性化: F中任一函數(shù)依賴的右部僅含有一個屬性。
(2)無冗余化: F中不存在這樣的函數(shù)依賴X→A,使得F與F-{X→A}等價。
(3)既約化: F中不存在這樣的函數(shù)依賴X→A, X有真子集Z使得F-{X→A}∪{Z→A}與F等價
8. 極小化過程
每一個函數(shù)依賴集F均等價于一個極小函數(shù)依賴集Fm。此Fm稱為F的最小依賴集。
(1)逐一檢查F中各函數(shù)依賴FDi:X→Y,若Y=A1A2 …Ak, k > 2,則用 { X→Aj |j=1,2,…, k} 來取代X→Y。
(2)逐一檢查F中各函數(shù)依賴FDi:X→A,令G=F-{X→A}, 若A∈XG+, 則從F中去掉此函數(shù)依賴。
(3)逐一取出F中各函數(shù)依賴FDi:X→A,設(shè)X=B1B2…Bm,逐一考查Bi (i=l,2,…,m),若A ∈(X-Bi )F+ ,則以X-Bi 取代X。
模式的分解
把低一級的關(guān)系模式分解為若干個高一級的關(guān)系模式的方法不是唯一的
只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價,分解方法才有意義
三種模式分解等價的定義:
1.分解具有無損連接性
2.分解要保持函數(shù)依賴
3.分解既要保持函數(shù)依賴,又要具有無損連接性
具有無損連接性的模式分解
-
關(guān)系模式R<U,F>的一個分解 ρ={ R1<U1,F1>,R2<U2,F2>, …, Rn<Un,Fn>}
若R與R1、R2、…、Rn自然連接的結(jié)果相等,則稱關(guān)系模式R的這個分解ρ具有無損連接性(Lossless join) -
具有無損連接性的分解保證不丟失信息
-
無損連接性不一定能解決插入異常、刪除異常、修改復雜、數(shù)據(jù)冗余等問題
-
如果一個分解具有無損連接性,則它能夠保證不丟失信息
-
如果一個分解保持了函數(shù)依賴,則它可以減輕或解決各種異常情況
-
分解具有無損連接性和分解保持函數(shù)依賴是兩個互相獨立的標準。具有無損連接性的分解不一定能夠保持函數(shù)依賴;同樣,保持函數(shù)依賴的分解也不一定具有無損連接性。
小結(jié)
- 若要求分解具有無損連接性,那么模式分解一定能夠達到4NF
- 若要求分解保持函數(shù)依賴,那么模式分解一定能夠達到3NF,但不一定能夠達到BCNF
- 若要求分解既具有無損連接性,又保持函數(shù)依賴,則模式分解一定能夠達到3NF,但不一定能夠達到BCNF
- 規(guī)范化理論為數(shù)據(jù)庫設(shè)計提供了理論的指南和工具
也僅僅是指南和工具 - 并不是規(guī)范化程度越高,模式就越好
必須結(jié)合應用環(huán)境和現(xiàn)實世界的具體情況合理地選擇數(shù)據(jù)庫模式
寫在最后:
本數(shù)據(jù)庫專欄是由愛吃老談酸菜的DV一同完成的,博客鏈接在主頁友鏈,是我的好哥們?
Name:風骨散人,目前是一名雙非在校大學生,預計考研,熱愛編程,熱愛技術(shù),喜歡分享,知識無界,希望我的分享可以幫到你!名字的含義:我想有一天我能有能力隨心所欲不逾矩,不總是向生活低頭,有能力讓家人擁有富足的生活而不是為了生計而到處奔波?!笆廊嘶呕艔垙?#xff0c;不過是圖碎銀幾兩。偏偏這碎銀幾兩,能解世間惆悵,可讓父母安康,可護幼子成長 …”
文章主要內(nèi)容:
Python,C++,C語言,JAVA,C#等語言的教程
ACM題解、模板、算法等,主要是數(shù)據(jù)結(jié)構(gòu),數(shù)學和圖論
設(shè)計模式,數(shù)據(jù)庫,計算機網(wǎng)絡(luò),操作系統(tǒng),計算機組成原理
Python爬蟲、深度學習、機器學習
計算機系408考研的所有專業(yè)課內(nèi)容
目前還在更新中,先關(guān)注不迷路。微信公眾號,cnblogs(博客園),CSDN同名“風骨散人”
如果有什么想看的,可以私信我,如果在能力范圍內(nèi),我會發(fā)布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關(guān)注是對我最大的鼓勵!
總結(jié)
以上是生活随笔為你收集整理的『数据库』朴实无华且枯燥的数据库文章--关系数据理论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『数据库』朴实无华的数据库多表查询,连接
- 下一篇: 华为2023年首场发布会定档2月8日 超