




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理與應(yīng)用教程(第5版)第6章關(guān)系數(shù)據(jù)庫規(guī)范化理論6.1函數(shù)依賴6.1.1函數(shù)依賴基本概念6.1.2一些術(shù)語和符號6.1.3為什么要討論函數(shù)依賴
6.2關(guān)系規(guī)范化6.2.1關(guān)系模式中的碼6.2.2范式6.1一些數(shù)據(jù)語義問題數(shù)據(jù)的語義不僅表現(xiàn)為完整性約束,對關(guān)系模式的設(shè)計(jì)也提出了一定的要求。如何構(gòu)造一個(gè)合適的關(guān)系模式,應(yīng)構(gòu)造幾個(gè)關(guān)系模式,每個(gè)關(guān)系模式由哪些屬性組成等,都是數(shù)據(jù)庫設(shè)計(jì)問題,確切地講是關(guān)系數(shù)據(jù)庫的邏輯設(shè)計(jì)問題。6.1.1函數(shù)依賴基本概念姓名=f(學(xué)號):給出一個(gè)具體的學(xué)號,會(huì)有唯一的學(xué)生姓名和它對應(yīng)。這里“學(xué)號”是自變量X,“姓名”是因變量或函數(shù)值Y。把X函數(shù)決定Y,或Y函數(shù)依賴于X表示為:
X→Y如果有關(guān)系模式R(A1,A2,…,An),X和Y為{A1,A2,…,An}的子集,則對于關(guān)系R中的任意一個(gè)X值,都只有一個(gè)Y值與之對應(yīng),則稱X函數(shù)決定Y,或Y函數(shù)依賴于X。示例例1:對學(xué)生關(guān)系模式Student(Sno,Sname,Sdept,Sage)有以下依賴關(guān)系:
Sno→Sname,Sno→Sdept,Sno→Sage
例2:SC(Sno,Cno,Grade)(Sno,Cno)→Grade
函數(shù)依賴定義設(shè)有關(guān)系模式R(A1,A2,…,An),X和Y均為{A1,A2,…,An}的子集,r是R的任一具體關(guān)系,t1、t2是r中的任意兩個(gè)元組;如果由t1[X]=t2[X]可以推導(dǎo)出t1[Y]=t2[Y],則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。在以上定義中特別要注意,只要t1[X]=t2[X]t1[Y]=t2[Y]成立,就有X→Y。也就是說只有當(dāng)t1[X]=t2[X]為真,而t1[Y]=t2[Y]為假時(shí),函數(shù)依賴X→Y不成立;而當(dāng)t1[X]=t2[X]為假時(shí),不管t1[Y]=t2[Y]為真或?yàn)榧?,都有X→Y成立。6.1.2一些術(shù)語和符號
1.
如果X→Y,但Y不包含于X,則稱
X→Y是非平凡的函數(shù)依賴。2.
如果X→Y,但Y包含于X,則稱
X→Y是平凡的函數(shù)依賴。
若無特別聲明,我們討論的都是非平凡的函數(shù)依賴。術(shù)語和符號(續(xù))
3.
如果X→Y,則X稱為決定因子。4.如果X→Y,并且Y→X,則記作
X←→Y。術(shù)語和符號(續(xù))如果X→Y,并且對于X的一個(gè)任意真子集X’都有X’—/→Y,則稱Y完全函數(shù)依賴于X,并記作:如果X→Y(非平凡函數(shù)依賴,并且Y—/→X)、Y→Z,則稱Z傳遞函數(shù)依賴于X,記作:如果X→Y成立,并且對于X的某個(gè)真子集X’有X’→Y成立,則稱Y部分函數(shù)依賴于X,并記作:示例例1:有關(guān)系模式SC(Sno,Sname,Cno,Credit,Grade),主碼為(Sno,Cno),則函數(shù)依賴關(guān)系有:
示例例2:假設(shè)有關(guān)系模式S(Sno,Sname,Dept,Dept_master),其中各屬性分別為:學(xué)號、姓名、所在系和系主任(假設(shè)一個(gè)系只有一個(gè)主任),主碼為Sno,則函數(shù)依賴關(guān)系有:6.1.3為什么要討論函數(shù)依賴?有關(guān)系模式:
S-L-C(Sno,Sdept,SLOC,Cno,Grade)SnoSnameSsexSdeptSlocCnoGrade1512101李勇男計(jì)算機(jī)系2公寓C001901512101李勇男計(jì)算機(jī)系2公寓C002861512101李勇男計(jì)算機(jī)系2公寓C006NULL1512102劉晨男計(jì)算機(jī)系2公寓C002781512102劉晨男計(jì)算機(jī)系2公寓C004661521102吳賓女信息系1公寓C001821521102吳賓女信息系1公寓C002751521102吳賓女信息系1公寓C004921521102吳賓女信息系1公寓C005501521103張海男信息系1公寓C002681521103張海男信息系1公寓C006NULL1531101錢小平女?dāng)?shù)學(xué)系1公寓C001801531101錢小平女?dāng)?shù)學(xué)系1公寓C00595存在問題數(shù)據(jù)冗余問題數(shù)據(jù)更新問題數(shù)據(jù)插入問題數(shù)據(jù)刪除問題結(jié)論Student關(guān)系模式不是一個(gè)好的模式。“好”的模式:不會(huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少。原因:由存在于模式中的某些數(shù)據(jù)依賴引起解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴6.2關(guān)系規(guī)范化關(guān)系規(guī)范化是指導(dǎo)將有“不良”函數(shù)依賴的關(guān)系模式轉(zhuǎn)換為良好的關(guān)系模式的理論。這里涉及到范式的概念,不同的范式表示關(guān)系模式遵守的不同的規(guī)則。
6.2.1關(guān)系模式中的碼
候選碼:設(shè)K為R(U,F)中的屬性或?qū)傩越M,若K完全決定U,則K為R的候選碼。
主碼:關(guān)系R(U,F)中可能有多個(gè)候選碼,則選其中一個(gè)作為主碼。
全碼:候選碼為整個(gè)屬性組。 包含在任一候選碼中的屬性稱為主屬性,不包含在任一候選碼中的屬性稱為非主屬性。示例例1:學(xué)生(學(xué)號,姓名,性別,身份證號,年齡,所在系)候選碼:學(xué)號,身份證號。主碼:“學(xué)號”或“身份證號”。主屬性:學(xué)號,身份證號。非主屬性:姓名,性別,年齡,所在系。
示例例2.有關(guān)系模式:選課(學(xué)號,課程號,考試次數(shù),成績)設(shè)一個(gè)學(xué)生對一門課程可以有多次考試,每一次考試有一個(gè)考試成績。候選碼:(學(xué)號,課程號,考試次數(shù)),也為主碼。主屬性:學(xué)號,課程號,考試次數(shù)非主屬性:成績。示例例3.有關(guān)系模式:授課(教師號,課程號,學(xué)年)語義:一個(gè)教師在一個(gè)學(xué)年可以講授多門不同的課程,可以在不同學(xué)年對同一門課程講授多次,但不能在同一個(gè)學(xué)年對同一門課程講授多次。一門課程在一個(gè)學(xué)年可以由多個(gè)不同的教師講授,同一個(gè)學(xué)年可以開設(shè)多門課程,同一門課程可以在不同學(xué)年開設(shè)多次。候選碼:(教師號,課程號,學(xué)年。主碼:同候選碼。主屬性:教師號,課程號,學(xué)年。非主屬性:沒有是全碼表。外碼外碼:用于關(guān)系表之間建立關(guān)聯(lián)的屬性(組)。定義:關(guān)系模式R中屬性(組)X不一定是R中的碼,但X是另一個(gè)關(guān)系模式S的候選碼(通常為主碼),則稱X為R的外碼。6.2.2范式關(guān)系數(shù)據(jù)庫中的關(guān)系要滿足一定的要求,滿足不同程度要求的為不不同的范式(NormalForm)。范式的種類:
第一范式(1NF)第二范式(2NF)第三范式(3NF)第一范式第一范式(1NF):不包含重復(fù)組的關(guān)系第二范式第二范式(2NF)
:如果R(U,F)∈1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于主碼,則R(U,F)∈2NF。例:S-L-C(Sno,Sdept,SLOC,Cno,Grade)因?yàn)橛校篠no→SLOC,因此存在部分函數(shù)依賴,該表不是2NF。分解方法首先,對于組成主碼的屬性集合的每一個(gè)子集,用它作為主碼構(gòu)成一個(gè)表。然后,將依賴于這些主碼的屬性放置到相應(yīng)的表中。最后,去掉只由主碼的子集構(gòu)成的表。分解S-L-C表對S-L-C(Sno,Sdept,SLOC,Cno,Grade)首先分解為如下形式的三張表:
S-L(Sno,…)
C(Cno,…)
S-C(Sno,Cno,…)
分解S-L-C表(續(xù))然后,將依賴于這些主碼的屬性放置到相應(yīng)的表中,形成如下三張表:
S-L(Sno,Sdept,Sloc)
C(Cno)
S-C(Sno,Cno,Grade)
分解S-L-C表(續(xù))最后,去掉只由主碼的子集構(gòu)成的表。S-L-C關(guān)系模式最終分解的形式為:S-L(Sno,Sdept,Sloc)S-C(Sno,Cno,Grade)分解后的函數(shù)依賴關(guān)系分解后的關(guān)系模式的函數(shù)依賴關(guān)系:S-L:Snof→Sdept,Snof→SLOC是2NFS-C:(Sno,Cno)f→Grade:是2NF
S-L(Sno,Sdept,SLOC)存在問題數(shù)據(jù)冗余:有多少個(gè)學(xué)生就有多少個(gè)重復(fù)的Sdept和SLOC;插入異常:當(dāng)新建一個(gè)系時(shí),若還沒有招收學(xué)生,則無法插入;第三范式第三范式(3NF):如果R(U,F)∈2NF,并且所有非主屬性都不傳遞依賴于主碼,則R(U,F)∈3NF。
S-L(Sno,Sdept,SLOC)∵Sno傳遞→SLOC,∴不是3NF分解方法(1)對于不是候選碼的每個(gè)決定因子,從表中刪去依賴于它的所有屬性;(2)新建一個(gè)表,新表中包含在原表中所有依賴于該決定因子的屬性;(3)將決定因子作為新表的主碼。分解S-L關(guān)系模式S-L分解后的關(guān)系模式為:S-D(Sno,Sdept)S-L(Sde
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年一年級下學(xué)期數(shù)學(xué)6.1人民幣的認(rèn)識(教案)
- 六年級上冊數(shù)學(xué)教案 第一單元 分?jǐn)?shù)乘法第4課時(shí) 練習(xí)課 西師大版
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動(dòng)實(shí)施方案 (4份)-94
- 《南鄉(xiāng)子 登京口北固亭有懷》歷年中考古詩欣賞試題匯編(截至2022年)
- 2024年鼠抗腫瘤相關(guān)抗原單克隆抗體項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2024年注射劑類藥品項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年河北省秦皇島市單招職業(yè)傾向性測試題庫新版
- 2025陜西省建筑安全員C證考試題庫
- 2025年嘉興南洋職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 預(yù)防艾滋病、梅毒和乙肝母嬰傳播相關(guān)報(bào)表上報(bào)流程及要求
- DB33- 1015-2021《居住建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)》
- 開學(xué)第一課(七下數(shù)學(xué))
- 完整word版,“呂氏八字命理學(xué)”高級理論
- 中外合作辦學(xué)的可行性報(bào)告
- 飛達(dá)及其輔助機(jī)構(gòu)
- 母嬰保健課程標(biāo)準(zhǔn)
- 深圳地鐵三號線正線信號系統(tǒng)
- 高中化學(xué)競賽培訓(xùn)計(jì)劃
- 研發(fā)向善課程----綻放生命異彩
- 地球上的大氣知識結(jié)構(gòu)圖
評論
0/150
提交評論