第8章 關(guān)系數(shù)據(jù)理論
《第8章 關(guān)系數(shù)據(jù)理論》由會(huì)員分享,可在線閱讀,更多相關(guān)《第8章 關(guān)系數(shù)據(jù)理論(21頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 第8章 關(guān)系數(shù)據(jù)理論 第8章 關(guān)系數(shù)據(jù)理論 8.1引言 8.2基本知識(shí) 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 8.4 關(guān)系規(guī)范化的步驟 8.5 模式的分解 8.1引言 一、概念回顧 二、關(guān)系模式的形式化定義 三、什么是數(shù)據(jù)約束 四、關(guān)系模式的簡化定義 一、概念回顧 ? 關(guān)系 – 從形式上看,它是一張二維表,是所涉及屬性的笛卡爾積的一個(gè)子集。 ? 關(guān)系模式:對(duì)關(guān)系的描述。 ? 關(guān)系數(shù)據(jù)庫:基于關(guān)系模型的數(shù)據(jù)庫,利用關(guān)系來描述現(xiàn)實(shí)世界。 – 從形式上看,它由一組關(guān)系組成。 ? 關(guān)系數(shù)據(jù)庫的模式:定義這組關(guān)系的關(guān)系模式的全體。 二、關(guān)系模式的形式化定義
2、關(guān)系模式由五部分組成,即它是一個(gè)五元組: R(U, D, DOM, F) R: 關(guān)系名 U: 組成該關(guān)系的屬性名集合 D: 屬性組U中屬性所來自的域 DOM:屬性向域的映象集合 F: 屬性間數(shù)據(jù)的約束條件的集合 三、什么是數(shù)據(jù)約束 一種是通過對(duì)數(shù)據(jù)的取值范圍來實(shí)現(xiàn)。 另一種是通過數(shù)據(jù)之間的各種聯(lián)系來實(shí)現(xiàn), 四、關(guān)系模式的簡化表示 ● 關(guān)系模式R(U, D, DOM, F) 簡化為一個(gè)三元組: R(U, F) ● 當(dāng)且僅當(dāng)U
3、上的一個(gè)關(guān)系r 滿足F時(shí),r稱為關(guān)系模式 R(U, F)的一個(gè)關(guān)系 第8章 關(guān)系數(shù)據(jù)理論 ? 8.1引言 ? 8.2基本知識(shí) ? 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 ? 8.4 關(guān)系規(guī)范化的步驟 ? 8.5 模式的分解 8.2 基本知識(shí) 8.2.1 函數(shù)依賴 8.2.2 碼 8.2.3 函數(shù)依賴的推理規(guī)則 8.2.1 函數(shù)依賴 一、函數(shù)依賴 二、平凡函數(shù)依賴與非平凡函數(shù)依賴 三、完全函數(shù)依賴與部分函數(shù)依賴 四、傳遞函數(shù)依賴 一、函數(shù)依賴 定義8.1 設(shè)R(U)是一個(gè)屬性集U上的關(guān)系模式,X和Y是U的子集。 若對(duì)于R(U
4、)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱 “X函數(shù)確定Y” 或 “Y函數(shù)依賴于X”,記作X→Y。 X稱為這個(gè)函數(shù)依賴的決定屬性集(Determinant)。 Y=f(x) 說明 1. 函數(shù)依賴不是指關(guān)系模式R的某個(gè)或某些關(guān)系實(shí)例滿足的約束條件,而是指R的所有關(guān)系實(shí)例均要滿足的約束條件。 2. 函數(shù)依賴是語義范疇的概念。只能根據(jù)數(shù)據(jù)的語義來確定函數(shù)依賴。 例如“姓名→年齡”這個(gè)函數(shù)依賴只有在不允許有同名人的條件下成立 3. 數(shù)據(jù)庫設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定。例如規(guī)定不允許同名人出現(xiàn),函數(shù)
5、依賴“姓名→年齡”成立。所插入的元組必須滿足規(guī)定的函數(shù)依賴,若發(fā)現(xiàn)有同名人存在, 則拒絕裝入該元組。 函數(shù)依賴(續(xù)) 例: Student(Sno, Sname, Ssex, Sage, Sdept) 假設(shè)不允許重名,則有: Sno → Ssex, Sno → Sage , Sno → Sdept, Sno ←→ Sname, Sname → Ssex, Sname → Sage Sname → Sdept 但Ssex →Sage 若X→Y,并且Y→X, 則記為X←→Y。 若Y不函數(shù)依賴于X, 則記為X
6、─→Y。 二、平凡函數(shù)依賴與非平凡函數(shù)依賴 在關(guān)系模式R(U)中,對(duì)于U的子集X和Y, 如果X→Y,但Y í X,則稱X→Y是非平凡的函數(shù)依賴 若X→Y,但Y í X, 則稱X→Y是平凡的函數(shù)依賴 例:在關(guān)系SC(Sno, Cno, Grade)中, 非平凡函數(shù)依賴: (Sno, Cno) → Grade 平凡函數(shù)依賴: (Sno, Cno) → Sno (Sno, Cno) → Cno 平凡函數(shù)依賴與非平凡函數(shù)依賴(續(xù)) – 對(duì)于任一關(guān)系模式,平凡函數(shù)依賴都是必
7、然成立的,它不反映新的語義,因此若不特別聲明, 我們總是討論非平凡函數(shù)依賴 。 三、完全函數(shù)依賴與部分函數(shù)依賴 定義8.2 在關(guān)系模式R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,都有 X’ Y, 則稱Y完全函數(shù)依賴于X,記作X f Y。 若X→Y,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記作X P Y。 完全函數(shù)依賴與部分函數(shù)依賴(續(xù)) 例: 在關(guān)系SC(Sno, Cno, Grade)中, 由于:Sno →Grade,Cno → Grade, 因此:(Sno, Cno) f Grade
8、 四、傳遞函數(shù)依賴 定義8.3 在關(guān)系模式R(U)中,如果X→Y,Y→Z,且Y íX,Y→X,則稱Z傳遞函數(shù)依賴于X。 注: 如果Y→X, 即X←→Y,則Z直接依賴于X。 例: 在關(guān)系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname傳遞函數(shù)依賴于Sno 8.2.2 碼 定義8.4 設(shè)K為關(guān)系模式R中的屬性或?qū)傩越M合。若K f U,則K稱為R的一個(gè)侯選碼(Candidate Key)。若關(guān)系模式R有多個(gè)候選碼,則選定其中的一個(gè)做為主碼(Primary key)。 ? 主屬
9、性與非主屬性 ? ALL KEY 外部碼 定義8.5 關(guān)系模式 R 中屬性或?qū)傩越MX 并非 R的碼,但 X 是另一個(gè)關(guān)系模式的碼,則稱 X 是R 的外部碼(Foreign key)也稱外碼 ? 主碼又和外部碼一起提供了表示關(guān)系間聯(lián)系的手段。 8.2.3 函數(shù)依賴的推理規(guī)則 1.自反律: 若Y í X í U,則X →Y。 2.增廣律: 若X í U , Y í U , Z í U且X→Y,則XZ→YZ。 3.傳遞律: 若X→Y及Y→Z,則X→Z。 8.2.3 函數(shù)依賴的推理規(guī)則 根據(jù)1,2,3這三條推理規(guī)則可以得到下面三條推理規(guī)則:
10、4.合并規(guī)則:由X→Y,X→Z,有X→YZ。 (2, 3) 5. 偽傳遞規(guī)則:由X→Y,WY→Z,有XW→Z。 (2,3) 6. 分解規(guī)則:由X→Y及 ZíY,有X→Z。 (1,A3) 8.2.3 函數(shù)依賴的推理規(guī)則 根據(jù)合并規(guī)則和分解規(guī)則,可得引理 引理 X→A1 A2…Ak成立的充分必要條件是X→Ai成立(i=l,2,…,k)。 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 8.3.1 概述 8.3.2 1NF 8.3.3 2NF 8.3.4 3NF 8.3.5 BCNF 8.3.6 這幾種范式的關(guān)系 8.3.1
11、概述 任何一個(gè)關(guān)系模式都可能有多個(gè)表(關(guān)系)組成,一個(gè)關(guān)系模式到底需要有多少個(gè)表呢?而一個(gè)表到底需要有哪些屬性呢?這是我們學(xué)習(xí)范式以后就可以確定的。 8.3.1 概述(續(xù)) ? 范式是符合某一種級(jí)別的關(guān)系模式的集合。 ? 關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式。 ? 范式的種類: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF) 8.3.1 概述(續(xù)) ? 各種范式之間存在聯(lián)系: ? 某一關(guān)系模式R為第
12、n范式,可簡記為R∈nNF。 8.3.2 1NF ? 1NF的定義 如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R∈1NF。 ? 第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。 ? 若一個(gè)關(guān)系模式中的所有關(guān)系是屬于1NF,則稱該關(guān)系模式也屬于1NF 8.3.2 1NF(續(xù)) 如何把不屬于1NF的關(guān)系轉(zhuǎn)化為屬于1NF 8.3.2 1NF(續(xù)) 但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。 8.3.2 1NF(續(xù)) 例: 關(guān)系模式 SLC(Sno, Sdep
13、t, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方。 ? 函數(shù)依賴包括: (Sno, Cno) f Grade Sno → Sdept (Sno, Cno) P Sdept Sno → Sloc (Sno, Cno) P Sloc Sdept → Sloc 8.3.2 1NF(續(xù)) 8.3.2 1NF(續(xù)) ? SLC的碼為(Sno, Cno) ?
14、SLC滿足第一范式。 ? 非主屬性Sdept和Sloc部分函數(shù)依賴于碼(Sno, Cno) SLC不是一個(gè)好的關(guān)系模式 (1) 插入異常 假設(shè)Sno=005,Sdept=SC,Sloc=A的學(xué)生還未選課,因課程號(hào)是主屬性,因此該學(xué)生的信息無法插入SLC。 (2) 刪除異常 假定某個(gè)學(xué)生本來只選修了103號(hào)課程這一門課?,F(xiàn)在因身體不適,他連103號(hào)課程也不選修了。因課程號(hào)是主屬性,此操作將導(dǎo)致該學(xué)生信息的整個(gè)元組都要?jiǎng)h除。 SLC不是一個(gè)好的關(guān)系模式 (3) 數(shù)據(jù)冗余度大 如果一個(gè)學(xué)生選修了10門課程,那么他的Sdept和Sloc值就要重復(fù)存儲(chǔ)了
15、10次。 (4) 修改復(fù)雜 例如學(xué)生轉(zhuǎn)系,在修改此學(xué)生元組的Sdept值的同時(shí),還可能需要修改住處(Sloc)。如果這個(gè)學(xué)生選修了K門課,則必須無遺漏地修改K個(gè)元組中全部Sdept、Sloc信息。 8.3.2 1NF(續(xù)) ? 原因 非主屬性( Sdept、 Sloc)部分函數(shù)依賴于碼。 ? 解決方法 SLC分解為兩個(gè)關(guān)系模式,以消除非主屬性對(duì)碼的部分函數(shù)依賴 SC(Sno, Cno, Grade) SL(Sno, Sdept, Sloc) 8.3.2 1NF(續(xù)
16、) 8.3.2 1NF(續(xù)) 通過分解得到的SC,SL可使原本存在的問題得到一定程度的解決。 ? 插入異常解決 ? 刪除異常解決 ? 修改復(fù)雜解決 ? 數(shù)據(jù)冗余減小 8.3.2 1NF(續(xù)) 函數(shù)依賴圖: 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 ? 8.3.1 概述 ? 8.3.2 1NF ? 8.3.3 2NF ? 8.3.4 3NF ? 8.3.5 BCNF ? 8.3.6 這幾種范式的關(guān)系 8.3.3 2NF 一、2NF的定義 定義5.6 若關(guān)系模式R∈1NF,并且每一個(gè)非主屬性都完全函數(shù)依賴于R的碼,則R∈2NF。 例:SLC(Sno,
17、 Sdept, Sloc, Cno, Grade) ∈1NF SLC(Sno, Sdept, Sloc, Cno, Grade) ∈2NF SC(Sno, Cno, Grade) ∈ 2NF SL(Sno, Sdept, Sloc) ∈ 2NF 8.3.3 2NF (續(xù)) 二、定理:若關(guān)系模式R∈1NF,且候選碼只有一個(gè)屬性,則R ∈2NF。 8.3.3 2NF (續(xù)) ? 采用投影分解法將一個(gè)1NF的關(guān)系分解為多個(gè)2NF的關(guān)系,可以在一定程度上減輕原1NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等
18、問題。 ? 但并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余,還存在一定的問題。 三、還存在的問題 8.3.3 2NF (續(xù)) 四、存在問題的原因 函數(shù)依賴: Sno→Sdept Sdept→Sloc Sno→Sloc Sloc傳遞函數(shù)依賴于Sno,即SL中存在非主屬性對(duì)碼的傳遞函數(shù)依賴。 8.3.3 2NF (續(xù)) 函數(shù)依賴圖: 8.3.3 2NF (續(xù)) 五、解決方法 采用投影分解法,把SL分解為兩個(gè)關(guān)系模式,以消除非主屬性對(duì)碼的傳遞函數(shù)依賴: S
19、D(Sno, Sdept) DL(Sdept, Sloc) SD的碼為Sno, DL的碼為Sdept。 8.3.3 2NF (續(xù)) 8.3.3 2NF (續(xù)) 通過分解得到的關(guān)系模式,既沒有非主屬性對(duì)碼的部分函數(shù)依賴,也沒有非主屬性對(duì)碼的傳遞函數(shù)依賴,使原本存在的問題得到一定程度的解決。 ? 插入異常解決 ? 刪除異常解決 ? 修改復(fù)雜解決 ? 數(shù)據(jù)冗余減小 8.3.3 2NF (續(xù)) SD的碼為Sno, DL的碼為Sdept。 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 ? 8.3.1 概述 ? 8.3.2 1NF ? 8
20、.3.3 2NF ? 8.3.4 3NF ? 8.3.5 BCNF ? 8.3.6 這幾種范式的關(guān)系 8.3.4 3NF 一、3NF的定義 定義5.8 若關(guān)系模式∈ 2NF,且不存在非主屬性對(duì)碼的傳遞函數(shù)依賴,則R ∈ 3NF。 例, SL(Sno, Sdept, Sloc) ∈ 2NF SL(Sno, Sdept, Sloc) ∈ 3NF SD(Sno, Sdept) ∈ 3NF DL(Sdept, Sloc)∈ 3NF 8.3.4 3NF (續(xù)) 二、定理 若R∈2NF,且非主屬性至多有一個(gè),則R∈3NF
21、 8.3.4 3NF (續(xù)) 三、說明 ? 若R∈3NF,則R的每一個(gè)非主屬性既不部分函數(shù)依賴于候選碼也不傳遞函數(shù)依賴于候選碼。 ? 如果R∈3NF,則R也是2NF。 ? 采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)3NF的關(guān)系,可以在一定程度上解決原2NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問題。 8.3.4 3NF (續(xù)) 四、存在問題 將一個(gè)2NF關(guān)系分解為多個(gè)3NF的關(guān)系后,并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。假定一個(gè)教師只教一門課程,但一門課程可以由多個(gè)老師分擔(dān)。 四、存在問題(續(xù)) 1.插入異常:教師的課沒
22、人選,則相應(yīng)信息插入不進(jìn)來。 2.刪除異常:若全部學(xué)生畢業(yè),則課程和教師信息也被刪除。 3.修改復(fù)雜:若教師改變,則要修改多次(選該老師的學(xué)生人數(shù)) 4.數(shù)據(jù)冗余。 8.3.4 3NF (續(xù)) 五、存在問題的原因 Sno,Cno →Tno, Tno →Cno Sno,Cno →Grade Sno,Tno →Cno, Tno →Cno Sno,Tno →Grade 存在著候選碼中的主屬性對(duì)不包括該主屬性的其它候選碼的部分函數(shù)依賴問題。 8.3.4 3NF (續(xù)) 六、解決的方法 消除候選碼中的主屬性對(duì)不包括該主屬性的其
23、它候選碼的部分函數(shù)依賴問題。 8.3.4 3NF (續(xù)) 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 ? 8.3.1 概述 ? 8.3.2 1NF ? 8.3.3 2NF ? 8.3.4 3NF ? 8.3.5 BCNF ? 8.3.6 這幾種范式的關(guān)系 8.3.5 BC范式(BCNF) 一、定義: 設(shè)關(guān)系模式R∈1NF,如果對(duì)于R的每一個(gè)非平凡函數(shù)依賴X→Y,X都是候選碼,則R∈BCNF。 二、定理 若R∈3NF,且只有一個(gè)候選碼,則R∈BCNF 8.3.5 BCNF(續(xù)) 三、BCNF 的性質(zhì) ? R中的所有屬性(主,非主屬性)都完全函數(shù)依賴于碼 ? 任何屬性都
24、僅僅依賴于候選碼 8.3.5 BCNF(續(xù)) 例:在關(guān)系模式STJ(S,T,J)中,S表示學(xué)生,T表示教師,J表示課程。 ? 每一教師只教一門課。每門課由若干教師教,某一學(xué)生選定某門課,就確定了一個(gè)固定的教師。某個(gè)學(xué)生選修某個(gè)教師的課就確定了所選課的名稱 : (S,J)→T,(S,T)→J,T→J 8.3.5 BCNF(續(xù)) BCNF STJ∈3NF? ? (S,J)和(S,T)都可以作為候選碼? ? S、T、J都是主屬性 STJ∈BCNF ? T→J,T是決定屬性集,T不是候選碼 BCNF 解決方法:將STJ分解為二
25、個(gè)關(guān)系模式: SJ(S,J) ∈ BCNF, TJ(T,J)∈ BCNF 沒有任何屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴 3NF與BCNF的關(guān)系 ? 如果關(guān)系模式R∈BCNF, 必定有R∈3NF ? 如果R∈3NF,且R只有一個(gè)候選碼, 則R必屬于BCNF。 8.3關(guān)系規(guī)范化設(shè)計(jì)理論-范式 ? 8.3.1 概述 ? 8.3.2 1NF ? 8.3.3 2NF ? 8.3.4 3NF ? 8.3.5 BCNF ? 8.3.6 這幾種范式的關(guān)系 8.3.6這幾種范式的關(guān)系 8.4 關(guān)系規(guī)范化的步驟 ?
26、 關(guān)系數(shù)據(jù)庫的規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計(jì)的工具。 ? 一個(gè)關(guān)系只要其分量都是不可分的數(shù)據(jù)項(xiàng),它就是規(guī)范化的關(guān)系,但這只是最基本的規(guī)范化。 ? 規(guī)范化程度可以有多個(gè)不同的級(jí)別 規(guī)范化的步驟(續(xù)) ? 規(guī)范化程度過低的關(guān)系不一定能夠很好地描述現(xiàn)實(shí)世界,可能會(huì)存在插入異常、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問題 ? 一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式集合,這種過程就叫關(guān)系模式的規(guī)范化 規(guī)范化的步驟(續(xù)) 1、把客觀世界信息描述為其列屬性都是不可分的數(shù)據(jù)項(xiàng),即R∈1NF。 規(guī)范化的步驟(續(xù)) 2、
27、 1NF ↓ 消除非主屬性對(duì)碼的部分函數(shù)依賴 2NF ↓ 消除非主屬性對(duì)碼的傳遞函數(shù)依賴 3NF ↓ 消除主屬性對(duì)碼的部分和傳遞函數(shù) 依賴 BCNF 規(guī)范化的步驟(續(xù)) ? 不能說規(guī)范化程度越高的關(guān)系模式就越好 ?
28、在設(shè)計(jì)數(shù)據(jù)庫模式結(jié)構(gòu)時(shí),必須對(duì)現(xiàn)實(shí)世界的實(shí)際情況和用戶應(yīng)用需求作進(jìn)一步分析,確定一個(gè)合適的、能夠反映現(xiàn)實(shí)世界的模式 ? 上面的規(guī)范化步驟可以在其中任何一步終止 8.5 模式的分解 ? 把低一級(jí)的關(guān)系模式分解為若干個(gè)高一級(jí)的關(guān)系模式的方法并不是唯一的 ? 只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價(jià),分解方法才有意義 關(guān)系模式分解的標(biāo)準(zhǔn) 三種模式分解的等價(jià)定義 ⒈ 分解具有無損連接性 ⒉ 分解要保持函數(shù)依賴 ⒊ 分解既要保持函數(shù)依賴,又要具有無損連接性 模式的分解(續(xù)) 例: SL(Sno, Sdept, Sloc) F={ Sno→Sde
29、pt,Sdept→Sloc,Sno→Sloc} SL∈2NF 存在插入異常、刪除異常、冗余度大和修改復(fù)雜等問題 分解方法可以有多種 模式的分解(續(xù)) SL ──────────────── Sno Sdept Sloc ──────────────── 95001 CS A 95002 IS B 95003 MA C
30、 95004 IS B 95005 PH B ──────────────── 模式的分解(續(xù)) 1. SL分解為下面三個(gè)關(guān)系模式: SN(Sno) SD(Sdept) SO(Sloc) 分解后的關(guān)系為: SN ────── SD ────── SO ────── Sno
31、 Sdept Sloc ────── ────── ────── 95001 CS A 95002 IS B 95003 MA C
32、 95004 PH ───── 95005 ────── ────── 模式的分解(續(xù)) 分解后的數(shù)據(jù)庫丟失了許多信息 例如無法查詢95001學(xué)生所在系或所在宿舍。 如果分解后的關(guān)系可以通過自然連接恢復(fù)為原來的關(guān)系,那么這種分解就沒有丟失信息 模式的分解(續(xù)) 2. SL分解為下面二個(gè)關(guān)系模式: NL(Sno, Sloc) DL(Sdept
33、, Sloc) 分解后的關(guān)系為: NL ──────────── DL ──────────── Sno Sloc Sdept Sloc ──────────── ──────────── 95001 A CS A 95002 B IS
34、 B 95003 C MA C 95004 B PH B 95005 B ──────────── ────────── 模式的分解(續(xù)) NL DL ───────────── Sno
35、 Sloc Sdept ───────────── 95001 A CS 95002 B IS 95002 B PH 95003 C MA 95004 B
36、 IS 95004 B PH 95005 B IS 95005 B PH 模式的分解(續(xù)) NL DL比原來的SL關(guān)系多了3個(gè)元組 無法知道95002、95004、95005 究竟是哪個(gè)系的學(xué)生 元組增加了,信息丟失了 第三種分解方法 3. 將SL分解為下面二個(gè)關(guān)系模
37、式: ND(Sno, Sdept) NL(Sno, Sloc) 分解后的關(guān)系為: 模式的分解(續(xù)) ND ──────────── NL ────────── Sno Sdept Sno Sloc ──────────── ────────── 95001 CS 95001
38、A 95002 IS 95002 B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005 B ─────────
39、─── ─────────── 模式的分解(續(xù)) ND NL ────────────── Sno Sdept Sloc ────────────── 95001 CS A 95002 IS B 95003 MA
40、 C 95004 CS A 95005 PH B ────────────── 與SL關(guān)系一樣,因此沒有丟失信息 具有無損連接性的模式分解 ? 關(guān)系模式R被分解為 R1,R2, …,Rn 若R與R1、R2、…、Rn自然連接的結(jié)果相等,則稱關(guān)系 模式R的這個(gè)分解具有無損連接性 ? 具有無損連接性的分解保證不丟失信息 ? 無損連接性不一定能解決插入異常、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問題 模
41、式的分解(續(xù))
第三種分解方法具有無損連接性
問題:
這種分解方法沒有保持原關(guān)系中的函數(shù)依賴
SL中的函數(shù)依賴Sdept→Sloc
沒有投影到關(guān)系模式ND、NL上
保持函數(shù)依賴的模式分解
設(shè)關(guān)系模式R被分解為若干個(gè)關(guān)系模式
R1
42、法 將SL分解為下面二個(gè)關(guān)系模式: ND(Sno, Sdept) DL(Sdept, Sloc) 這種分解方法就保持了函數(shù)依賴。 模式的分解(續(xù)) ? 如果一個(gè)分解具有無損連接性,則它能夠保證不丟失信息。 ? 如果一個(gè)分解保持了函數(shù)依賴,則它可以減輕或解決各種異常情況。 ? 分解具有無損連接性和分解保持函數(shù)依賴是兩個(gè)互相獨(dú)立的標(biāo)準(zhǔn)。具有無損連接性的分解不一定能夠保持函數(shù)依賴。同樣,保持函數(shù)依賴的分解也不一定具有無損連接性。 模式的分解(續(xù)) 第一種分解方法既不具有無損連接性,也未保持函 數(shù)依賴,它不是原關(guān)系模式的一個(gè)等價(jià)分解 第二種分解方法保持了函數(shù)依賴,但不具有無損連 接性 第三種分解方法具有無損連接性,但未持函數(shù)依賴 第四種分解方法既具有無損連接性,又保持了函數(shù) 依賴 說明 ? 若要求分解具有無損連接性,那么模式分解一定能夠達(dá)到4NF。 ? 若要求分解保持函數(shù)依賴,那么模式分解一定能夠達(dá)到3NF,但不一定能夠達(dá)到BCNF。 ? 若要求分解既具有無損連接性,又保持函數(shù)依賴,則模式分解一定能夠達(dá)到3NF,但不一定能夠達(dá)到BCNF。
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案