




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1An Introduction to Database System 廣東工業(yè)大學(xué)廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院計(jì)算機(jī)學(xué)院數(shù)據(jù)庫(kù)系統(tǒng)概論數(shù)據(jù)庫(kù)系統(tǒng)概論An Introduction to Database System第六章第六章 關(guān)系數(shù)據(jù)理論關(guān)系數(shù)據(jù)理論2An Introduction to Database Systemv 內(nèi)容概述內(nèi)容概述 詳細(xì)講解關(guān)系數(shù)據(jù)理論,主要是關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論。包括關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)可能出現(xiàn)的問題,數(shù)據(jù)依賴的基本概念(包括,函數(shù)依賴、平凡函數(shù)依賴、非平凡的函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞函數(shù)依賴的概念;碼、候選碼、外碼的概念;多值依賴的概念),范式的概念
2、、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。數(shù)據(jù)依賴的Armstrong公理系統(tǒng)。本章內(nèi)容分為基本要求部分(概論6.1-6.3)和高級(jí)部分(概論6.4)。前者是計(jì)算機(jī)大學(xué)本科學(xué)生應(yīng)該掌握的內(nèi)容。后者是研究生應(yīng)該學(xué)習(xí)掌握的內(nèi)容。本章目標(biāo)本章目標(biāo)關(guān)系數(shù)據(jù)理論既是關(guān)系數(shù)據(jù)庫(kù)的重要理論基礎(chǔ)也是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的理論指南和有力工具。要掌握規(guī)范化理論和優(yōu)化數(shù)據(jù)庫(kù)模式設(shè)計(jì)的方法規(guī)范化理論和優(yōu)化數(shù)據(jù)庫(kù)模式設(shè)計(jì)的方法。3An Introduction to Database Systemv 重點(diǎn):重點(diǎn):了解什么是一個(gè)“不好”的數(shù)據(jù)庫(kù)模式。什么是模式的插入異常和刪除異常。規(guī)范化理論的重要意義。牢固掌
3、握數(shù)據(jù)依賴的基本概牢固掌握數(shù)據(jù)依賴的基本概念,范式的概念,從念,范式的概念,從1NF到到4NF的定義,規(guī)范化的含義和作用的定義,規(guī)范化的含義和作用。需要舉一反三的:四個(gè)范式的理解與應(yīng)用,各個(gè)級(jí)別范式中存在的問題(插入異常、刪除異常、數(shù)據(jù)冗余)和解決方法。v 難點(diǎn):難點(diǎn):能夠根據(jù)應(yīng)用語(yǔ)義,完整地寫出關(guān)系模式的數(shù)據(jù)依賴集合,并能夠根據(jù)應(yīng)用語(yǔ)義,完整地寫出關(guān)系模式的數(shù)據(jù)依賴集合,并能根據(jù)數(shù)據(jù)依賴分析某一個(gè)關(guān)系模式屬于第幾范式能根據(jù)數(shù)據(jù)依賴分析某一個(gè)關(guān)系模式屬于第幾范式。各個(gè)級(jí)別范式的關(guān)系及其證明。本章內(nèi)容的理論性較強(qiáng)。要通過具體例子和習(xí)題練習(xí)理解和掌握理論知識(shí)。4An Introduction to
4、 Database System第六章第六章 關(guān)系數(shù)據(jù)理論關(guān)系數(shù)據(jù)理論6.1 問題的提出問題的提出6.2 規(guī)范化規(guī)范化6.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)*6.4 模式的分解模式的分解6.5 小結(jié)小結(jié)5An Introduction to Database System6.1 問題的提出問題的提出關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 針對(duì)具體問題,如何構(gòu)造一個(gè)適合于它的數(shù)據(jù)模式 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的工具關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論6An Introduction to Database System問題的提出問題的提出一、概念回顧一、概念回顧二、關(guān)系模式的形式化定義二、關(guān)系模式的形式化定義三、什么是數(shù)據(jù)依賴三、什
5、么是數(shù)據(jù)依賴四、關(guān)系模式的簡(jiǎn)化定義四、關(guān)系模式的簡(jiǎn)化定義五、數(shù)據(jù)依賴對(duì)關(guān)系模式影響五、數(shù)據(jù)依賴對(duì)關(guān)系模式影響7An Introduction to Database System一、概念回顧一、概念回顧v 關(guān)系關(guān)系v 關(guān)系模式關(guān)系模式v 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)v 關(guān)系數(shù)據(jù)庫(kù)的模式關(guān)系數(shù)據(jù)庫(kù)的模式8An Introduction to Database System二、關(guān)系模式的形式化定義二、關(guān)系模式的形式化定義關(guān)系模式由五部分組成,即它是一個(gè)五元組: R(U, D, DOM, F) R: 關(guān)系名 U: 組成該關(guān)系的屬性名集合 D: 屬性組U中屬性所來(lái)自的域 DOM: 屬性向域的映象集合 F: 屬
6、性間數(shù)據(jù)的依賴關(guān)系集合屬性間數(shù)據(jù)的依賴關(guān)系集合9An Introduction to Database System三、什么是數(shù)據(jù)依賴三、什么是數(shù)據(jù)依賴?1. 完整性約束的表現(xiàn)形式完整性約束的表現(xiàn)形式v 限定屬性取值范圍限定屬性取值范圍:例如學(xué)生成績(jī)必須在0-100之間v 定義屬性值間的相互關(guān)連定義屬性值間的相互關(guān)連(主要體現(xiàn)于值的相等與否),這就是數(shù)據(jù)依賴,它是數(shù)據(jù)庫(kù)模式設(shè)計(jì)的關(guān)鍵10An Introduction to Database System什么是數(shù)據(jù)依賴(續(xù))什么是數(shù)據(jù)依賴(續(xù))2. 數(shù)據(jù)依賴數(shù)據(jù)依賴v一個(gè)關(guān)系內(nèi)部一個(gè)關(guān)系內(nèi)部 屬性與屬性之間屬性與屬性之間 的約束關(guān)系的約束關(guān)系v
7、現(xiàn)實(shí)世界現(xiàn)實(shí)世界,一個(gè)事物內(nèi)部屬性間相互聯(lián)系的抽象一個(gè)事物內(nèi)部屬性間相互聯(lián)系的抽象v數(shù)據(jù)內(nèi)在的性質(zhì)v語(yǔ)義的體現(xiàn)11An Introduction to Database System什么是數(shù)據(jù)依賴(續(xù))什么是數(shù)據(jù)依賴(續(xù))3. 數(shù)據(jù)依賴的類型 共有三種共有三種 : 函數(shù)依賴(函數(shù)依賴(Functional Dependency,簡(jiǎn)記為,簡(jiǎn)記為FD) 多值依賴(多值依賴(Multivalued Dependency,簡(jiǎn)記為,簡(jiǎn)記為MVD) 連接依賴(連接依賴(Join Dependency,簡(jiǎn)記為簡(jiǎn)記為JD) 其中最重要的是函數(shù)依賴和多值依賴。其中最重要的是函數(shù)依賴和多值依賴。 12An Int
8、roduction to Database System四、關(guān)系模式的簡(jiǎn)化表示四、關(guān)系模式的簡(jiǎn)化表示v 關(guān)系模式R(U, D, DOM, F) 簡(jiǎn)化為一個(gè)三元組: R(U, F)v 當(dāng)且僅當(dāng)U上的一個(gè)關(guān)系r滿足F時(shí), r稱為關(guān)系模式 R(U, F)的一個(gè)關(guān)系13An Introduction to Database System五、五、數(shù)據(jù)依賴對(duì)關(guān)系模式的影響數(shù)據(jù)依賴對(duì)關(guān)系模式的影響例例1建立一個(gè)描述學(xué)校教務(wù)的表:建立一個(gè)描述學(xué)校教務(wù)的表:學(xué)生的學(xué)號(hào)(Sno)、所在系(Sdept)、系主任姓名(Mname)、課程名(Cname)、成績(jī)(Grade)單一的關(guān)系模式 : Student U Sno
9、, Sdept, Mname, Cname, Grade 問題:什么樣的關(guān)系模式是一個(gè)好的關(guān)系模式?問題:什么樣的關(guān)系模式是一個(gè)好的關(guān)系模式?14An Introduction to Database System數(shù)據(jù)依賴對(duì)關(guān)系模式的影響(續(xù))數(shù)據(jù)依賴對(duì)關(guān)系模式的影響(續(xù)) 根據(jù)根據(jù)語(yǔ)義分析語(yǔ)義分析屬性組屬性組U上的一組函數(shù)依賴上的一組函數(shù)依賴F: F Sno Sdept, Sdept Mname, (Sno, Cname) Grade SnoCnameSdeptMnameGrade15An Introduction to Database System關(guān)系模式關(guān)系模式Student中存在的問
10、題中存在的問題1. 數(shù)據(jù)冗余太大2. 更新異常(Update Anomalies)3. 插入異常(Insertion Anomalies)4. 刪除異常(Deletion Anomalies)16An Introduction to Database System數(shù)據(jù)依賴對(duì)關(guān)系模式的影響(續(xù))數(shù)據(jù)依賴對(duì)關(guān)系模式的影響(續(xù))結(jié)論:結(jié)論:nStudent關(guān)系模式不是一個(gè)好的模式。關(guān)系模式不是一個(gè)好的模式。n“好好”的模式:不會(huì)發(fā)生插入異常、刪除異常、更新的模式:不會(huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少異常,數(shù)據(jù)冗余應(yīng)盡可能少原因:原因:由存在于模式中的由存在于模式中的某些數(shù)據(jù)依賴某
11、些數(shù)據(jù)依賴引起的引起的解決方法:解決方法:通過通過分解關(guān)系模式分解關(guān)系模式來(lái)消除其中不合適的數(shù)據(jù)依賴來(lái)消除其中不合適的數(shù)據(jù)依賴17An Introduction to Database System分解關(guān)系模式分解關(guān)系模式v把這個(gè)單一模式分成把這個(gè)單一模式分成3個(gè)關(guān)系模式:個(gè)關(guān)系模式:1.S(Sno,Sdept,Sno Sdept);2.SC(Sno,Cno,Grade,(,(Sno,Cno) Grade);3.DEPT(Sdept,Mname,Sdept Mname)18An Introduction to Database System第六章第六章 關(guān)系數(shù)據(jù)理論關(guān)系數(shù)據(jù)理論6.1 問題的提
12、出問題的提出6.2 規(guī)范化規(guī)范化6.3 數(shù)據(jù)依賴的公理系統(tǒng)數(shù)據(jù)依賴的公理系統(tǒng)*6.4 模式的分解模式的分解6.5 小結(jié)小結(jié)19An Introduction to Database System6.2 規(guī)范化規(guī)范化 規(guī)范化理論規(guī)范化理論 正是用來(lái)正是用來(lái)評(píng)價(jià)、改造關(guān)系模式評(píng)價(jià)、改造關(guān)系模式,通過分解關(guān)系模式通過分解關(guān)系模式來(lái)消除其中不合適的數(shù)據(jù)依賴來(lái)消除其中不合適的數(shù)據(jù)依賴,以解決插入異常、刪除異,以解決插入異常、刪除異常、更新異常和數(shù)據(jù)冗余問題。常、更新異常和數(shù)據(jù)冗余問題。20An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴
13、6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)21An Introduction to Database System6.2.1 函數(shù)依賴函數(shù)依賴v函數(shù)依賴函數(shù)依賴 平凡函數(shù)依賴平凡函數(shù)依賴 與與 非平凡函數(shù)依賴非平凡函數(shù)依賴 完全函數(shù)依賴完全函數(shù)依賴 與與 部分函數(shù)依賴部分函數(shù)依賴 傳遞函數(shù)依賴傳遞函數(shù)依賴22An Introduction to Database System引例引例v 關(guān)系模式內(nèi)部各屬性間的依賴關(guān)系關(guān)系模式內(nèi)部各屬性間的依賴關(guān)系 在在student
14、(sno, sname, sex, dept)中,姓名可能重名。中,姓名可能重名。屬性屬性sno、sname之間存在關(guān)系:之間存在關(guān)系: sname=f(sno) 或或 sno sname此時(shí),任意兩個(gè)元組,如果在此時(shí),任意兩個(gè)元組,如果在sno分量上的值不同,則在分量上的值不同,則在sname分量上的值也一定不相同。分量上的值也一定不相同。 類似的關(guān)系在其它元組中還存在,如類似的關(guān)系在其它元組中還存在,如sno sname、 sno dept等。等。23An Introduction to Database System一、函數(shù)依賴一、函數(shù)依賴定義定義6.1 設(shè)設(shè)R(U)是一個(gè)屬性集是一個(gè)屬
15、性集U上的關(guān)系模式,上的關(guān)系模式,X和和Y是是U的的子集子集。 若對(duì)于若對(duì)于R(U)的的任意任意一個(gè)可能的關(guān)系一個(gè)可能的關(guān)系r,r中不可能存在兩中不可能存在兩個(gè)元組在個(gè)元組在X上的屬性值相等,上的屬性值相等, 而在而在Y上的屬性值不等上的屬性值不等, 則則稱稱 “X函數(shù)確定函數(shù)確定Y” 或或 “Y函數(shù)依賴于函數(shù)依賴于X”,記作,記作XY。 即:由即:由X上的值可以確定上的值可以確定Y上的值。上的值。思考:為什么概念不表述為思考:為什么概念不表述為“r r中兩個(gè)元組如果在中兩個(gè)元組如果在X X上的屬性值相上的屬性值相 等,等, 則在則在Y Y上的屬性值也相等上的屬性值也相等”?24An Intr
16、oduction to Database System說明說明 1. 關(guān)系模式需要滿足的關(guān)系模式需要滿足的即所有關(guān)系實(shí)例即所有關(guān)系實(shí)例均要滿足,而不是某一關(guān)系滿足均要滿足,而不是某一關(guān)系滿足2. 語(yǔ)義范疇語(yǔ)義范疇的概念的概念3. 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)設(shè)計(jì)者可以設(shè)計(jì)者可以對(duì)現(xiàn)實(shí)世界作對(duì)現(xiàn)實(shí)世界作強(qiáng)制的規(guī)定強(qiáng)制的規(guī)定 如規(guī)定:姓名不能重名等如規(guī)定:姓名不能重名等25An Introduction to Database System二、平凡函數(shù)依賴與非平凡函數(shù)依賴二、平凡函數(shù)依賴與非平凡函數(shù)依賴在關(guān)系模式在關(guān)系模式R(U)中,對(duì)于中,對(duì)于U的的子集子集X和和Y,如果如果XY,但,但Y X,則稱,則稱XY是
17、非平凡的函數(shù)依賴是非平凡的函數(shù)依賴若若XY,但,但Y X, 則稱則稱XY是是平凡的函數(shù)依賴平凡的函數(shù)依賴v 例:在關(guān)系例:在關(guān)系SC(Sno, Cno, Grade)中,中, 非平凡函數(shù)依賴:非平凡函數(shù)依賴: (Sno, Cno) Grade 平凡函數(shù)依賴:平凡函數(shù)依賴: (Sno, Cno) Sno (Sno, Cno) CnoP173 約定:約定: 若不特別聲明,總是討論若不特別聲明,總是討論非非 平凡函數(shù)依賴平凡函數(shù)依賴。26An Introduction to Database System平凡函數(shù)依賴與非平凡函數(shù)依賴(續(xù))平凡函數(shù)依賴與非平凡函數(shù)依賴(續(xù)) 若若XY,則,則X稱為這個(gè)
18、函數(shù)依賴的決定屬性組,也稱為這個(gè)函數(shù)依賴的決定屬性組,也稱為稱為決定因素決定因素(Determinant)。)。 若若XY,YX,則記作,則記作XY。 若若Y不函數(shù)依賴于不函數(shù)依賴于X,則記作,則記作XY。27An Introduction to Database System三、完全函數(shù)依賴與部分函數(shù)依賴三、完全函數(shù)依賴與部分函數(shù)依賴定義定義6.2 在在R(U)中,如果中,如果XY,并且對(duì)于,并且對(duì)于X的的任何一個(gè)真任何一個(gè)真子集子集X,都有,都有X Y, 則稱則稱Y對(duì)對(duì)X完全函數(shù)依賴完全函數(shù)依賴,記作,記作 X F Y。 若若XY,但,但Y不完全函數(shù)依賴于不完全函數(shù)依賴于X,則稱,則稱Y對(duì)
19、對(duì)X部分函數(shù)部分函數(shù)依賴依賴,記作,記作X P Y。 思考:平凡函數(shù)依賴與部分函數(shù)依賴之間的關(guān)系?思考:平凡函數(shù)依賴與部分函數(shù)依賴之間的關(guān)系?28An Introduction to Database System完全函數(shù)依賴與部分函數(shù)依賴(續(xù))完全函數(shù)依賴與部分函數(shù)依賴(續(xù))例例1 中中(Sno,Cno)Grade是完全函數(shù)依賴,是完全函數(shù)依賴, (Sno,Cno)Sdept是部分函數(shù)依賴:是部分函數(shù)依賴: 因?yàn)橐驗(yàn)镾no Sdept成立,且成立,且Sno是(是(Sno,Cno)的真子集)的真子集FP29An Introduction to Database System四、傳遞函數(shù)依賴四、
20、傳遞函數(shù)依賴定義定義6.3 在在R(U)中,如果中,如果XY,(Y X) ,YX ,YZ, Z Y則稱則稱Z對(duì)對(duì)X傳遞函數(shù)依賴。記為:傳遞函數(shù)依賴。記為:X Z 注注: 1) Y X:強(qiáng)調(diào)是非平凡函數(shù):強(qiáng)調(diào)是非平凡函數(shù) 依賴,進(jìn)而排除了部分函數(shù)依賴。依賴,進(jìn)而排除了部分函數(shù)依賴。 2) YX :如果:如果YX, 即即XY,則,則Z直接依賴于直接依賴于X。 3) Z Y :例例: 在關(guān)系在關(guān)系Std(Sno, Sdept, Mname)中,有:中,有: Sno Sdept,Sdept Mname Mname傳遞函數(shù)依賴于傳遞函數(shù)依賴于Sno傳遞傳遞30An Introduction to Dat
21、abase System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)31An Introduction to Database System6.2.2 碼碼定義定義6.4 設(shè)設(shè)K為為R中的中的屬性或?qū)傩越M合屬性或?qū)傩越M合。若。若K U, 則則K稱為稱為R的的侯選碼侯選碼(Candidate Key)。)。 若候選碼多于一個(gè),則選定其中的一個(gè)做為主碼(Primary Key)。F注意:注意:K U 的理解。的理解。F【引理引
22、理】 X AAA成立的充要條件是成立的充要條件是X Ai成立。(成立。(i=1、2 n)32An Introduction to Database System碼(續(xù))碼(續(xù))v 主屬性與非主屬性主屬性與非主屬性 包含在任何一個(gè)候選碼中的屬性 ,稱為主屬性主屬性(Prime attribute) 不包含在任何碼中的屬性稱為非主屬性非主屬性(Nonprime attribute)或非碼屬性(Non-key attribute) v 全碼全碼 整個(gè)屬性組是碼,稱為全碼全碼(All-key) 33An Introduction to Database System碼(續(xù))碼(續(xù))例2 關(guān)系模式S(S
23、no,Sdept,Sage),單個(gè)屬性Sno是碼, SC(Sno,Cno,Grade)中,(Sno,Cno)是碼例3 關(guān)系模式R(P,W,A) P:演奏者 W:作品 A:聽眾 一個(gè)演奏者可以演奏多個(gè)作品 某一作品可被多個(gè)演奏者演奏 聽眾可以欣賞不同演奏者的不同作品 碼為(P,W,A),即All-Key 34An Introduction to Database System外部碼外部碼定義定義6.5 關(guān)系模式關(guān)系模式 R 中屬性或?qū)傩越M中屬性或?qū)傩越MX 并非并非 R的碼,但的碼,但 X 是另一個(gè)關(guān)系模式的碼,則稱是另一個(gè)關(guān)系模式的碼,則稱 X 是是R 的的外部碼外部碼(Foreign key)
24、也稱外碼也稱外碼v 如在SC(Sno,Cno,Grade)中,Sno不是碼,但Sno是關(guān)系模式S(Sno,Sdept,Sage)的碼,則Sno是關(guān)系模式SC的外部碼 v 主碼與外部碼一起提供了表示關(guān)系間聯(lián)系的手段35An Introduction to Database System補(bǔ)充:由函數(shù)依賴求候選碼補(bǔ)充:由函數(shù)依賴求候選碼v 屬性根據(jù)函數(shù) 依賴集可分成四類: L類:僅出現(xiàn)在類:僅出現(xiàn)在F中函數(shù)依賴左部的屬性。中函數(shù)依賴左部的屬性。 R類:僅出現(xiàn)在類:僅出現(xiàn)在F中函數(shù)依賴右部的屬性。中函數(shù)依賴右部的屬性。 LR類:函數(shù)依賴左右兩邊都出現(xiàn)的屬性。類:函數(shù)依賴左右兩邊都出現(xiàn)的屬性。 N類:函
25、數(shù)依賴左右兩邊都不出現(xiàn)的屬性。類:函數(shù)依賴左右兩邊都不出現(xiàn)的屬性。【定理定理】對(duì)于給定的關(guān)系模式及其函數(shù)依賴集對(duì)于給定的關(guān)系模式及其函數(shù)依賴集F, X U X是是L類屬性,則類屬性,則X必定為任一候選碼的成員;必定為任一候選碼的成員; X是是R類屬性,則類屬性,則X必定不在任何候選碼中;必定不在任何候選碼中; X是是LR類屬性,則類屬性,則X可能在某一候選碼中,也可能不在任一候選碼中。可能在某一候選碼中,也可能不在任一候選碼中。 若若X是是N類屬性,則類屬性,則X必定在必定在R的任一候選碼中;的任一候選碼中; 36An Introduction to Database Systemv 例:已知
26、關(guān)系模式的函數(shù)依賴集例:已知關(guān)系模式的函數(shù)依賴集F,求關(guān)系模式的候選碼。,求關(guān)系模式的候選碼。1)設(shè)關(guān)系模式為)設(shè)關(guān)系模式為 R, UA,B,C,D,E,P , FAD,ED,DB,BCD,DCA 2)關(guān)系模式)關(guān)系模式W(I,J,K,X,Y) FIJ,IK,KX,XY 3)設(shè)關(guān)系模式為)設(shè)關(guān)系模式為 R, UA,B,C,D,E,F(xiàn), FAF,BCD,DC,BE,CA37An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依
27、賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)38An Introduction to Database System6.2.3 范式范式1.范式是符合某一種級(jí)別的關(guān)系模式的集合。 NF:Normal Form2.范式針對(duì)的是關(guān)系模式,而非某個(gè)時(shí)刻的關(guān)系范式針對(duì)的是關(guān)系模式,而非某個(gè)時(shí)刻的關(guān)系。3.范式的種類:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)39An Introduction to Database System6.2.3 范式范式v各種范式之間存在聯(lián)系:v某一關(guān)系模式R為第n范式,可簡(jiǎn)記為RnNF。v
28、 一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這種過程就叫規(guī)范化。 NF5NF4BCNFNF3NF2NF140An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)41An Introduction to Database System6.2.4 2NFv 1NF的定義的定義如果一個(gè)關(guān)系模式如果一個(gè)關(guān)系模式R的所有屬性都是的所有
29、屬性都是不可分的基本數(shù)據(jù)項(xiàng)不可分的基本數(shù)據(jù)項(xiàng),則則R1NF;v 第一范式是對(duì)關(guān)系模式的最起碼的要求。第一范式是對(duì)關(guān)系模式的最起碼的要求。 不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)。不滿足第一范式的數(shù)據(jù)庫(kù)模式不能稱為關(guān)系數(shù)據(jù)庫(kù)。v 但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。式。42An Introduction to Database System2NF(續(xù))(續(xù))例例4 關(guān)系模式關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方為學(xué)生住處,假設(shè)每個(gè)
30、系的學(xué)生住在同一個(gè)地方v 函數(shù)依賴包括:函數(shù)依賴包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc43An Introduction to Database System 2NF(續(xù))(續(xù))v S-L-C的碼為(Sno, Cno)v S-L-C滿足第一范式。v 非主屬性非主屬性Sdept和Sloc部分部分函數(shù)依賴于碼碼(Sno, Cno)SnoCnoGradeSdeptSlocS-L-C虛線表示部分函數(shù)依賴虛線表示部分函數(shù)依賴44An Introduction to
31、Database SystemS-L-C不是一個(gè)好的關(guān)系模式(續(xù))不是一個(gè)好的關(guān)系模式(續(xù))(1) 插入異常插入異常(2) 刪除異常刪除異常(3) 數(shù)據(jù)冗余度大數(shù)據(jù)冗余度大(4) 修改復(fù)雜修改復(fù)雜45An Introduction to Database SystemS-L-C不是一個(gè)好的關(guān)系模式(續(xù))不是一個(gè)好的關(guān)系模式(續(xù))v 原因原因 非主屬性非主屬性Sdept、 Sloc 部分函數(shù)依賴部分函數(shù)依賴 于碼。于碼。v 解決方法:解決方法: 模式分解模式分解 S-L-C分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴 SC(Sno, Cno, Grade)
32、 S-L(Sno, Sdept, Sloc)46An Introduction to Database System2NF(續(xù))(續(xù))函數(shù)依賴圖:SnoCnoGradeSCS-LSnoSdeptSlocv關(guān)系模式SC的碼為(Sno,Cno)v關(guān)系模式S-L的碼為Snov這樣非主屬性對(duì)碼都是完全函數(shù)依賴 47An Introduction to Database System 2NF(續(xù))(續(xù))v2NF的定義定義定義6.6 若若R1NF,且每一個(gè)且每一個(gè)非主屬性非主屬性完全完全函數(shù)依賴于函數(shù)依賴于碼,則碼,則R2NF。例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1
33、NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF S-L-C分解為兩個(gè)關(guān)系模式以后: SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF48An Introduction to Database System 2NF(續(xù))(續(xù))v有關(guān)2NF結(jié)論:1.采用投影分解法將一個(gè)1NF的關(guān)系分解為多個(gè)2NF的關(guān)系,可以在一定程度上減輕一定程度上減輕原1NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問題。2.將一個(gè)1NF關(guān)系分解為多個(gè)2NF的關(guān)系,并不能完全消并不能完全消除除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余
34、。49An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)50An Introduction to Database System 6.2.5 3NFv3NF的定義定義定義6.7 關(guān)系模式關(guān)系模式R 中若不存在這樣的中若不存在這樣的碼碼X、屬性屬性組組Y及及非主屬性非主屬性Z(Z Y), 使得使得XY,YZ成立,成立, Y X,則稱,則稱R 3NF。結(jié)論:若R3N
35、F,則每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。 51An Introduction to Database System3NF(續(xù))(續(xù))例:2NF關(guān)系模式S-L(Sno, Sdept, Sloc)中 函數(shù)依賴: SnoSdept Sdept Sno SdeptSloc 可得: SnoSloc,即S-L中存在非主屬性對(duì)碼的傳遞函數(shù)依 賴,S-L 3NF傳遞52An Introduction to Database System 3NF(續(xù))(續(xù))函數(shù)依賴圖:S-LSnoSdeptSlocT53An Introduction to Database System3NF(續(xù))(續(xù))v 解決
36、方法 采用投影分解法,把S-L分解為兩個(gè)關(guān)系模式分解為兩個(gè)關(guān)系模式,以消以消除傳遞函數(shù)依賴除傳遞函數(shù)依賴: S-D(Sno, Sdept) D-L(Sdept,Sloc)S-D的碼為Sno, D-L的碼為Sdept。n分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴 54An Introduction to Database System3NF(續(xù))(續(xù))S-D的碼為Sno, D-L的碼為SdeptSnoSdeptS-DSdeptSlocD-Lv S-L(Sno, Sdept, Sloc) 2NF S-L(Sno, Sdept, Sloc) 3NF S-D(Sno,Sdept) 3NFD-L(
37、Sdept, Sloc) 3NF55An Introduction to Database System2NF與與3NF間的關(guān)系?間的關(guān)系?v證明:若R3NF,則必R2NF。 注:該例題很好的揭示了注:該例題很好的揭示了3NF定義與定義與2NF之間的關(guān)系。之間的關(guān)系。56An Introduction to Database System3NF(續(xù))(續(xù))v有關(guān)3NF的結(jié)論:1.采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)3NF的關(guān)系,可以在一定程度上減緩一定程度上減緩原2NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修改復(fù)雜等問題。2. 將一個(gè)2NF關(guān)系分解為多個(gè)3NF的關(guān)系后,仍然不能完
38、全消仍然不能完全消除除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余。57An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)58An Introduction to Database System 6.2.6 BC范式(范式(BCNF)v定義定義6.8 關(guān)系模式關(guān)系模式R1NF,若,若XY且且Y X時(shí)時(shí)X必含有碼必含有碼,則,則R BCNF。v等價(jià)于:等價(jià)于:每一個(gè)每一個(gè)非
39、平凡函數(shù)依賴非平凡函數(shù)依賴中,決定屬性因素都包含碼。中,決定屬性因素都包含碼。59An Introduction to Database SystemBCNF(續(xù))(續(xù))v 有關(guān)有關(guān)BCNF的結(jié)論:的結(jié)論:1. 所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴;所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴;2. 所有的主屬性對(duì)每一個(gè)所有的主屬性對(duì)每一個(gè)不包含它的碼不包含它的碼,也是完全函數(shù),也是完全函數(shù)依賴;依賴; 即:消除了主屬性對(duì)即:消除了主屬性對(duì)不包含它的碼不包含它的碼的的部分函數(shù)依賴;部分函數(shù)依賴;思考:思考:BCNF中是否存在中是否存在主屬性對(duì)(主屬性對(duì)(不包含它的不包含它的)碼)碼的的傳傳遞函數(shù)依
40、賴?遞函數(shù)依賴?3. 沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性;沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性;v R BCNF R 3NF充分不必要60An Introduction to Database SystemBCNF(續(xù))(續(xù))例例5 請(qǐng)判別關(guān)系模式請(qǐng)判別關(guān)系模式SC(Sno,Cno,Grade)最高屬于哪一級(jí)范式?)最高屬于哪一級(jí)范式?A.C3NF C. C1NF B.CBCNF D. C2NF 例例6請(qǐng)判別關(guān)系模式請(qǐng)判別關(guān)系模式S(Sno,Sname,Sdept,Sage)最高屬于哪一級(jí)范式?)最高屬于哪一級(jí)范式?1.假定假定S有兩個(gè)碼有兩個(gè)碼Sno,Sname;2.假定假
41、定S有一個(gè)碼有一個(gè)碼Sno;A.C3NF C. C1NF B.CBCNF D. C2NF 61An Introduction to Database SystemBCNF(續(xù))(續(xù))例例7關(guān)系模式關(guān)系模式SJP(S,J,P)函數(shù)依賴:函數(shù)依賴:(S,J)P;(J,P)SA. SJP3NF,B. SJPBCNF分析:(分析:(S,J)與()與(J,P)都可以作為候選碼,屬性相交)都可以作為候選碼,屬性相交62An Introduction to Database System BCNF(續(xù))(續(xù))例例8在關(guān)系模式在關(guān)系模式STJ(S,T,J)中,)中,S表示學(xué)生,表示學(xué)生,T表表示教師,示教師,
42、J表示課程。問表示課程。問 STJ 屬于幾范式?屬于幾范式?【分析分析】函數(shù)依賴: (S,J)T,(S,T)J,TJ (S,J)和(S,T)都是候選碼63An Introduction to Database System BCNF(續(xù))(續(xù)) JSJTSTSTJ中的函數(shù)依賴中的函數(shù)依賴64An Introduction to Database SystemBCNF(續(xù))(續(xù))vSTJ3NF 沒有任何非主屬性對(duì)碼傳遞依賴或部分依賴 vSTJBCNF T是決定因素,T不包含碼65An Introduction to Database SystemBCNF(續(xù))(續(xù))v解決方法?v將STJ分解為二
43、個(gè)關(guān)系模式: ST(S,T) BCNF, TJ(T,J) BCNF 沒有沒有任何屬性任何屬性對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴。對(duì)碼的部分函數(shù)依賴和傳遞函數(shù)依賴。SJSTTJTJ66An Introduction to Database System3NF與與BCNF的關(guān)系的關(guān)系v 定理:如果定理:如果RBCNF,則一定有,則一定有R3NF。 證明:證明: 由于若由于若RBCNF,則,則R的所有非主屬性都完全函數(shù)依的所有非主屬性都完全函數(shù)依賴于每一個(gè)候選碼賴于每一個(gè)候選碼,因此必有因此必有R2NF 。 由于由于R2NF,若,若R 3NF,則按,則按3NF定義,一定存在非定義,一定存在非主屬性對(duì)碼
44、的傳遞依賴。主屬性對(duì)碼的傳遞依賴。即存在即存在:R的碼的碼X ,屬性組,屬性組Y,以,以及非主屬性及非主屬性Z(ZY),使得),使得XY,YZ,YX成立。成立。 由由YZ,按,按BCNF定義,定義,Y含有碼,于是含有碼,于是YX成立,這成立,這與與YX矛盾。所以矛盾。所以R3NF。67An Introduction to Database System3NF與與BCNF的關(guān)系的關(guān)系 【小結(jié)小結(jié)】 若若RBCNF,按定義排除了,按定義排除了任何屬性任何屬性對(duì)對(duì) 碼碼的的 傳遞依賴傳遞依賴 與與 部分依賴部分依賴;所以;所以R3NF。v 若若R3NF,則,則R未必屬于未必屬于BCNF。 v 【定理
45、定理】如果如果R3NF且且R有唯一的候選碼,則必有有唯一的候選碼,則必有RBCNF。證明:設(shè)證明:設(shè)R3NF且且R有唯一候選鍵有唯一候選鍵X ,則對(duì)于,則對(duì)于R的任何一個(gè)函數(shù)依賴的任何一個(gè)函數(shù)依賴 XY,必有必有X包含于包含于X(否則存在傳遞函數(shù)依賴)(否則存在傳遞函數(shù)依賴)。 即對(duì)即對(duì)R的任何一個(gè)函數(shù)依賴的任何一個(gè)函數(shù)依賴XY,X都含候選碼,故都含候選碼,故RBCNF。有用的結(jié)論有用的結(jié)論:如果如果R3NF,且,且R只有一個(gè)候選碼,只有一個(gè)候選碼, 則則R必屬于必屬于BCNF。 68An Introduction to Database System3NF與與BCNF的關(guān)系的關(guān)系a) R B
46、CNF R 3NFv 如果R3NF,且R只有一個(gè)候選碼 R BCNF R 3NF充分不必要充分必要69An Introduction to Database System練習(xí)題練習(xí)題v1. 關(guān)系模式由關(guān)系模式由3NF轉(zhuǎn)化為轉(zhuǎn)化為BCNF是為了消是為了消除除 。 答:主屬性對(duì)碼的傳遞依賴和部分依賴。答:主屬性對(duì)碼的傳遞依賴和部分依賴。v2. 設(shè)關(guān)系模式設(shè)關(guān)系模式R是全碼,則是全碼,則R可達(dá)到第幾范式?可達(dá)到第幾范式? 答:答:4NF。70An Introduction to Database Systemv 3.關(guān)系關(guān)系R如右,則如右,則R至少屬于(至少屬于( )。)。 A.1NF B.2NF
47、C.3NF D.BCNFv 4. 任何一個(gè)二元關(guān)系都是任何一個(gè)二元關(guān)系都是BCNF這句話對(duì)嗎?這句話對(duì)嗎? 答案答案: 是是BCNF。二元關(guān)系中或?yàn)槿珵橹鲗傩?,或?yàn)橐粋€(gè)單。二元關(guān)系中或?yàn)槿珵橹鲗傩裕驗(yàn)橐粋€(gè)單屬性為主屬性。屬性為主屬性。ABa1b1a2b271An Introduction to Database System請(qǐng)判別以下結(jié)論是否正確?請(qǐng)判別以下結(jié)論是否正確?函數(shù)依賴函數(shù)依賴X Y給出了數(shù)據(jù)庫(kù)中屬性間的某種聯(lián)系:給出了數(shù)據(jù)庫(kù)中屬性間的某種聯(lián)系:從從X的值應(yīng)該知道與之的值應(yīng)該知道與之聯(lián)系的惟一聯(lián)系的惟一Y值值。 若若X不含碼,則有麻煩了(不含碼,則有麻煩了(BCNF)。)。2.碼是
48、一個(gè)元組區(qū)別于其他元組的依據(jù),同時(shí)也是一個(gè)碼是一個(gè)元組區(qū)別于其他元組的依據(jù),同時(shí)也是一個(gè)元組賴以存在的條件元組賴以存在的條件。3.在一個(gè)關(guān)系中,不可能存在兩個(gè)不同的元組在碼屬性上取值相同,也不可在一個(gè)關(guān)系中,不可能存在兩個(gè)不同的元組在碼屬性上取值相同,也不可能存在碼或碼的一部分為空值的元組。能存在碼或碼的一部分為空值的元組。4.若某關(guān)系模式的屬性間有函數(shù)依賴若某關(guān)系模式的屬性間有函數(shù)依賴XY,而,而X又不包含碼,那么在具有相又不包含碼,那么在具有相同同X值的所有元組中,某個(gè)特定的值的所有元組中,某個(gè)特定的Y值就會(huì)重復(fù)出現(xiàn),這就產(chǎn)生了值就會(huì)重復(fù)出現(xiàn),這就產(chǎn)生了數(shù)據(jù)冗余數(shù)據(jù)冗余。著重理解著重理解7
49、2An Introduction to Database System5.隨之而來(lái)的是隨之而來(lái)的是更新異常更新異常問題;某個(gè)問題;某個(gè)X值與某個(gè)特定的值與某個(gè)特定的Y值相聯(lián)系,這值相聯(lián)系,這是數(shù)據(jù)庫(kù)中應(yīng)存儲(chǔ)的信息,但由于是數(shù)據(jù)庫(kù)中應(yīng)存儲(chǔ)的信息,但由于X不含碼,這種不含碼,這種X與與Y相聯(lián)系的信相聯(lián)系的信息可能因?yàn)榇a或碼的一部分為空值而不能作為一個(gè)合法的元組在數(shù)息可能因?yàn)榇a或碼的一部分為空值而不能作為一個(gè)合法的元組在數(shù)據(jù)庫(kù)中存在,這是據(jù)庫(kù)中存在,這是插入異常插入異?;蚧騽h除異常刪除異常問題。問題。6.第二范式、第三范式和第二范式、第三范式和Boyce-Codd范式就是不同程度地限制關(guān)系范式就是不
50、同程度地限制關(guān)系模式中模式中X不包含碼的函數(shù)依賴不包含碼的函數(shù)依賴XY的存在。的存在。73An Introduction to Database System補(bǔ)補(bǔ) 充充v 函數(shù)依賴函數(shù)依賴 反映了反映了 “屬性間屬性間” 的的聯(lián)系聯(lián)系。v 屬性間的屬性間的 聯(lián)系聯(lián)系 決定決定 函數(shù)依賴函數(shù)依賴 關(guān)系關(guān)系。設(shè)設(shè)X、Y均是均是U的子集:的子集: 如果如果X、Y間是間是1:1關(guān)系,則存在函數(shù)依賴關(guān)系,則存在函數(shù)依賴 XY 如果如果X、Y間是間是1:n關(guān)系,則存在函數(shù)依賴:關(guān)系,則存在函數(shù)依賴:XY或或YX。 (多方為決定因素)(多方為決定因素) 如果如果X、Y間是間是m:n關(guān)系,則不存在函數(shù)依賴。關(guān)
51、系,則不存在函數(shù)依賴。74An Introduction to Database System6.2 規(guī)范化規(guī)范化6.2.1 函數(shù)依賴函數(shù)依賴6.2.2 碼碼6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依賴多值依賴6.2.8 4NF6.2.9 規(guī)范化小結(jié)規(guī)范化小結(jié)75An Introduction to Database System6.2.7 多值依賴多值依賴?yán)? 有關(guān)系模式有關(guān)系模式Teaching(C,T,B),), 語(yǔ)言:教學(xué)(課程,教師,參考書)語(yǔ)言:教學(xué)(課程,教師,參考書) 某某一門課程一門課程由多個(gè)教師講授,他們使用由多個(gè)教師講
52、授,他們使用相同的一相同的一套參考書套參考書。每個(gè)教員可以講授多門課程,每種參考書。每個(gè)教員可以講授多門課程,每種參考書可以供多門課程使用。可以供多門課程使用。 76An Introduction to Database System課課 程程 C教教 員員 T參參 考考 書書 B 物理物理數(shù)學(xué)數(shù)學(xué) 計(jì)算數(shù)學(xué)計(jì)算數(shù)學(xué)李李 勇勇王王 軍軍 李李 勇勇張張 平平 張張 平平 周周 峰峰 普通物理學(xué)普通物理學(xué)光學(xué)原理光學(xué)原理 物理習(xí)題集物理習(xí)題集數(shù)學(xué)分析數(shù)學(xué)分析微分方程微分方程高等代數(shù)高等代數(shù)數(shù)學(xué)分析數(shù)學(xué)分析. 多值依賴(續(xù))多值依賴(續(xù))v 非規(guī)范化關(guān)系描述非規(guī)范化關(guān)系描述77An Introdu
53、ction to Database System普通物理學(xué)普通物理學(xué)光學(xué)原理光學(xué)原理物理習(xí)題集物理習(xí)題集普通物理學(xué)普通物理學(xué)光學(xué)原理光學(xué)原理物理習(xí)題集物理習(xí)題集數(shù)學(xué)分析數(shù)學(xué)分析微分方程微分方程高等代數(shù)高等代數(shù)數(shù)學(xué)分析數(shù)學(xué)分析微分方程微分方程高等代數(shù)高等代數(shù)李李 勇勇李李 勇勇李李 勇勇王王 軍軍王王 軍軍王王 軍軍李李 勇勇李李 勇勇李李 勇勇張張 平平張張 平平張張 平平 物物 理理物物 理理物物 理理物物 理理物物 理理物物 理理數(shù)數(shù) 學(xué)學(xué)數(shù)數(shù) 學(xué)學(xué)數(shù)數(shù) 學(xué)學(xué)數(shù)數(shù) 學(xué)學(xué)數(shù)數(shù) 學(xué)學(xué)數(shù)數(shù) 學(xué)學(xué) 參考書B教員T課程C多值依賴(續(xù))多值依賴(續(xù))v 用二維表表示 關(guān)系 Teaching78An I
54、ntroduction to Database System多值依賴(續(xù))多值依賴(續(xù))1.關(guān)系模式關(guān)系模式Teaching屬于幾范式?屬于幾范式?【分析分析】 Teaching具有唯一候選碼具有唯一候選碼(C,T,B), 即全碼。即全碼。 【答答】TeachingBCNF。2.關(guān)系模式關(guān)系模式Teaching是否存在異常?是否存在異常?【答答】有。有?!窘Y(jié)論結(jié)論】關(guān)系模式屬于關(guān)系模式屬于BCNF仍然存在各類異常。仍然存在各類異常。【思考思考】 是否存在函數(shù)依賴?產(chǎn)生異常是否存在函數(shù)依賴?產(chǎn)生異常原因原因?79An Introduction to Database System多值依賴(續(xù))多
55、值依賴(續(xù)) Teaching模式中存在的問題(1)數(shù)據(jù)冗余度大 (2)插入操作復(fù)雜(3) 刪除操作復(fù)雜(4) 修改操作復(fù)雜存在多值依賴80An Introduction to Database System多值依賴(續(xù))多值依賴(續(xù))v 定義定義6.9 設(shè)設(shè)R(U)是屬性集是屬性集U上的一個(gè)關(guān)系模式,上的一個(gè)關(guān)系模式, X、 Y、Z是是U的子集,的子集,并且并且ZUXY。關(guān)系模式。關(guān)系模式R(U)中中多值依賴多值依賴 XY成立,成立,當(dāng)當(dāng)且僅當(dāng)且僅當(dāng)對(duì)對(duì)R(U)的的任一關(guān)系任一關(guān)系r,給定的一對(duì)(,給定的一對(duì)(x,z)值,)值,有一組有一組Y的值,這組值僅僅決定于的值,這組值僅僅決定于x值而
56、值而與與z值無(wú)關(guān)。值無(wú)關(guān)。特別注意:特別注意:“無(wú)關(guān)無(wú)關(guān)”的理解。的理解。v 例:例: Teaching(C, T, B)中)中 是否存在是否存在C T? 是否存在是否存在CB?81An Introduction to Database System例:例:Teaching(C, T, B,D)中)中 D為教師為教師T所在的教研室。所在的教研室。 問:?jiǎn)枺?) 是否存在是否存在CB?2) R中是否存在中是否存在C T?3)是否存在)是否存在CTD?答案:答案: 1)成立;)成立; 2)不成立)不成立 3)成立。)成立。【再思考再思考】“無(wú)關(guān)無(wú)關(guān)”?82An Introduction to Da
57、tabase System多值依賴(續(xù))多值依賴(續(xù))v等價(jià)的定義:等價(jià)的定義: 【多值依賴多值依賴】 在在R(U)的任一關(guān)系的任一關(guān)系r中,如果存在元組中,如果存在元組t,s 使得使得tX=sX,那么就,那么就必然存在必然存在元組元組 w,v r,(,(w,v可以與可以與s,t相同相同),使得,使得wX=vX=tX,而,而wY=tY,wZ=sZ,vY=sY,vZ=tZ(即交換(即交換s,t元組的元組的Y值所得的兩個(gè)新元組值所得的兩個(gè)新元組w,v必在必在r中),中),則則Y多值依賴于多值依賴于X,記為,記為XY。 這里,這里,X,Y是是U的子集,的子集,Z=U-X-Y。83An Introdu
58、ction to Database System多值依賴的判定多值依賴的判定v 例:例:Teaching(C, T, B,D)中)中 D為教師為教師T所在的教研室。所在的教研室。 問:?jiǎn)枺篟中是否存在中是否存在C T? 是否存在是否存在CB? 是否存在是否存在CTD?答:答: 1)CB成立。成立。 如果存在如果存在CB,在,在R中假定有中假定有2個(gè)元組個(gè)元組(c1,t1,b1,d1) 和和(c1,t2,b2,d2) 則必有則必有(c1,t2,b1,d2)和和(c1,t1,b2,d1)也一定在也一定在R中。中。2)C T不成立不成立 。 如果存在如果存在C T。在。在R中假定有中假定有2個(gè)元組個(gè)
59、元組(c1,t1,b1,d1) 和和(c1,t2,b2,d2)則必有則必有(c1,t1,b2,d2)與與(c1,t2,b1,d1)也應(yīng)該在關(guān)系也應(yīng)該在關(guān)系R 中,而顯然不成立。中,而顯然不成立。3) CTD成立。成立。 如果如果CTD成立,在成立,在R中假定有中假定有2個(gè)元組個(gè)元組(c1,t1,b1,d1) 和和(c1,t2,b2,d2) 則必有則必有(c1,t1,b2,d1) 與與(c1,t2,b1,d2) 也應(yīng)該在也應(yīng)該在R中。中。 顯然顯然R滿足條件。滿足條件。84An Introduction to Database System多值依賴(續(xù))多值依賴(續(xù))v 平凡多值依賴平凡多值依賴
60、 和和 非平凡的多值依賴非平凡的多值依賴a)若若XY,而,而Z,則稱,則稱XY為平凡的多值依賴為平凡的多值依賴b)否則稱否則稱XY為非平凡的多值依賴。為非平凡的多值依賴。例:例:1.Teaching (C,T,B)中中C T為為 。 2. Teaching (C,T)中中C T為為 。 3. student(Sno , Sname)中中SnoSname為為 。 4. student(Sno,Sname, Sage)中中SnoSname為為 。85An Introduction to Database System多值依賴(續(xù))多值依賴(續(xù))例10關(guān)系模式WSC(W,S,C)n W表示倉(cāng)庫(kù),S表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技產(chǎn)品電商物流運(yùn)營(yíng)策略分析
- 2025至2030年中國(guó)耐磨鋼襯板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五年度井蓋產(chǎn)品市場(chǎng)推廣與品牌合作合同
- 二零二五年度文化藝術(shù)品交易合同中對(duì)發(fā)票開具、鑒定及流轉(zhuǎn)的約定
- 2025年度環(huán)保技術(shù)兼職合同
- 2025年度環(huán)保產(chǎn)業(yè)融資合作協(xié)議書
- 2025至2030年中國(guó)線纜支架數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)紙質(zhì)包裝桶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 二零二五年度林業(yè)種苗生產(chǎn)技術(shù)服務(wù)合同
- 二零二五年度吊裝工程進(jìn)度與質(zhì)量監(jiān)管協(xié)議合同
- 樓梯臺(tái)階抹灰施工技術(shù)交底
- “中藥配送服務(wù)中心”方案
- 給教師的一百條建議-讀書分享會(huì)
- 路基換填級(jí)配碎石施工方案
- GRR表格MSA第四版完整版
- EIM Book 1 Unit 7 Learning languages單元檢測(cè)試題
- 第一講 新媒體藝術(shù)基礎(chǔ)-數(shù)字媒體藝術(shù)導(dǎo)論課件PPT
- 四川省政府采購(gòu)評(píng)審專家考試題庫(kù)
- 內(nèi)科學(xué)尿路感染(講課)
- GB/T 605-2006化學(xué)試劑色度測(cè)定通用方法
- GB/T 34875-2017離心泵和轉(zhuǎn)子泵用軸封系統(tǒng)
評(píng)論
0/150
提交評(píng)論