版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、,An Introduction to Database Systems,2011-08-24,數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database Systems,內(nèi)蒙古大學(xué)鄂爾多斯學(xué)院 戴瓊潔,An Introduction to Database Systems,第六章 關(guān)系數(shù)據(jù)理論,本章講述關(guān)系數(shù)據(jù)庫規(guī)范化理論,這是數(shù)據(jù)庫邏輯設(shè)計(jì)的理論依據(jù)。 要求了解規(guī)范化理論的研究動機(jī)及其在數(shù)據(jù)庫設(shè)計(jì)中的作用 掌握函數(shù)依賴的有關(guān)概念 第一范式、第二范式、第三范式和BC范式的定義 重點(diǎn)掌握并能夠靈活運(yùn)用關(guān)系模式規(guī)范化的方法和關(guān)系模式分解的方法,這也是本章的難點(diǎn),本章概要,關(guān)系模式的存
2、儲異常問題,要求設(shè)計(jì)一個學(xué)校教務(wù)管理數(shù)據(jù)庫,學(xué)校的實(shí)際情況如下: 1. 一個系有若干個學(xué)生,但一個學(xué)生只屬于一個系; 2. 一個系只有一名系主任,但一個系主任可以同時兼幾個系的系主任; 3. 一個學(xué)生可以選修多門功課,每門課程可有若干學(xué)生選修; 4. 每個學(xué)生學(xué)習(xí)課程有一個成績。,關(guān)系模式的存儲異常問題,其中有一位同學(xué)呢設(shè)計(jì)的數(shù)據(jù)庫模式SCD如下: SCD(SNO,SNAME,AGE,DEPT,MN,CNO,SCORE),關(guān)系模式的存儲異常問題,1. 數(shù)據(jù)冗余 每個系名和系主任的名字存儲的次數(shù)等于該系的學(xué)生人數(shù)乘以每個學(xué)生選修的課程門數(shù),同時學(xué)生的姓名、年齡也都要重復(fù)存儲多次,數(shù)據(jù)的冗余度很大
3、,浪費(fèi)了存儲空間。,關(guān)系模式的存儲異常問題,2. 插入異常 當(dāng)某個學(xué)生尚未選課,則學(xué)生信息不能插入。 因?yàn)樵谶@個關(guān)系模式中,(SNO,CNO)是主關(guān)系鍵 即CNO未知,實(shí)體完整性約束還規(guī)定,主關(guān)系鍵的值不能部分為空,同樣不能進(jìn)行插入操作。,關(guān)系模式的存儲異常問題,3.刪除異常 某系學(xué)生全部畢業(yè)而沒有招生時,刪除全部學(xué)生的記錄則系名、系主任也隨之刪除,而這個系依然存在,在數(shù)據(jù)庫中卻無法找到該系的信息。,關(guān)系模式的存儲異常問題,4. 更新異常 如果學(xué)生改名,則該學(xué)生的所有記錄都要逐一修改SN; 如某系更換系主任,則屬于該系的學(xué)生記錄都要修改MN的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會造成數(shù)據(jù)
4、的不一致性,破壞了數(shù)據(jù)的完整性。,關(guān)系模式的存儲異常問題,由于存在以上問題,SCD是一個不好的關(guān)系模式。 關(guān)系的規(guī)范化:如何按照一定的規(guī)范設(shè)計(jì)關(guān)系模式,將結(jié)構(gòu)復(fù)雜的關(guān)系分解成結(jié)構(gòu)簡單的關(guān)系,從而把不好的關(guān)系數(shù)據(jù)庫模式轉(zhuǎn)變?yōu)楹玫年P(guān)系數(shù)據(jù)庫模式。,規(guī)范化問題的提出,什么樣的關(guān)系模式是一個好的關(guān)系模式? 如何將不好的關(guān)系模式轉(zhuǎn)換為好的關(guān)系模式?,關(guān)系數(shù)據(jù)庫的規(guī)范化理論主要包括三個方面的內(nèi)容: 函數(shù)依賴 范式(Normal Form) 模式設(shè)計(jì),規(guī)范化理論,1.函數(shù)依賴 關(guān)系模式中的各屬性之間相互依賴、相互制約的聯(lián)系稱為數(shù)據(jù)依賴。 數(shù)據(jù)依賴一般分為: 函數(shù)依賴 多值依賴 連接依賴 其中,函數(shù)依賴是最重
5、要的數(shù)據(jù)依賴。 函數(shù)依賴(Functional Dependency)是關(guān)系模式中屬性之間的一種邏輯依賴關(guān)系。,規(guī)范化理論函數(shù)依賴,定義6.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”,記作XY。 例:學(xué)號姓名 (學(xué)號,課名)分?jǐn)?shù) 函數(shù)依賴僅僅是語義范疇的概念,只能根據(jù)其語義確定屬性之間的函數(shù)依賴。,規(guī)范化理論函數(shù)依賴,術(shù)語和記號 非平凡的函數(shù)依賴: 若XY,但YX,則稱XY為非平凡函數(shù)依賴。 平凡的函數(shù)依
6、賴: 若XY,但YX,則稱XY為平凡函數(shù)依賴。 例:在關(guān)系SC(Sno, Cno, Grade)中, 非平凡函數(shù)依賴: (Sno, Cno) Grade 平凡函數(shù)依賴: (Sno, Cno) Sno (Sno, Cno) Cno 決定因子: 若XY,則X叫做決定因子。 互相依賴:若XY,且YX,則稱互相依賴,記作YX。 不依賴: 若Y不依賴于X,則記作XY.,規(guī)范化理論函數(shù)依賴,定義6.2 完全依賴和部分依賴 在R(U)中,如果XY,并且對于X的任何一個真子集X,都有XY,則稱Y對X完全函數(shù)依賴,記作: X Y Full 若XY,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作 X Y P
7、art 例: (Sno,Cno)Grade是完全函數(shù)依賴, (Sno,Cno)Sdept是部分函數(shù)依賴 因?yàn)镾no Sdept成立,且Sno是(Sno,Cno)的真子集。,規(guī)范化理論函數(shù)依賴,F,P,定義6.3 傳遞函數(shù)依賴 在R(U)中,如果XY,(Y X) ,YX YZ, 則稱Z對X傳遞函數(shù)依賴。 記為:X Z 注: 如果加上條件YX, 即XY,則Z直接依賴于X。 例: 在關(guān)系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname Mname傳遞函數(shù)依賴于Sno,規(guī)范化理論函數(shù)依賴,例:關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cn
8、o, Grade),Sloc為學(xué)生住處,假設(shè)每個系的學(xué)生住在同一個地方 請分析分析關(guān)系模式S-L-C的函數(shù)依賴,規(guī)范化理論函數(shù)依賴,例:關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個系的學(xué)生住在同一個地方 關(guān)系模式S-L-C的函數(shù)依賴 (Sno, Cno) Grade Sno Sdept (Sno, Cno) Sdept Sno Sloc (Sno, Cno)Sloc Sdept Sloc,規(guī)范化理論函數(shù)依賴,P,F,P,2.范式 我們把關(guān)系數(shù)據(jù)庫的規(guī)范化過程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)稱為范式(Normal Form)
9、。 由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。 從1971年起,Codd相繼提出了關(guān)系的三級規(guī)范化形式,即第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。 1974年,Codd和Boyce以共同提出了一個新的范式的概念,即Boyce-Codd范式,簡稱BC范式。 1976年Fagin提出了第四范式, 后來又有人定義了第五范式,規(guī)范化理論范式,至此在關(guān)系數(shù)據(jù)庫規(guī)范中建立了一個范式系列各個范式之間的聯(lián)系可以表示為:5NF4NFBCNF3NF2NF1NF 一級比一級有更嚴(yán)格的要求。 若某一關(guān)系滿足第n范式,我們可以稱某一關(guān) 系模式R為第n范式,可簡記為RnNF。 一個低一級范式的關(guān)系模式
10、,通過模式分解 可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合, 這種過程就叫規(guī)范化 。,規(guī)范化理論范式,5NF,(1)第一范式 (1NF) 第一范式(First Normal Form)是最基本的規(guī)范形式,即關(guān)系中每個屬性都是不可再分的簡單項(xiàng)。 定義:如果一個關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R1NF。 第一范式是對關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。 但是滿足第一范式的關(guān)系模式并不一定是一個好的關(guān)系模式。,規(guī)范化理論范式,數(shù)據(jù)庫模式SCD如下: SCD(SNO,SNAME,AGE,DEPT,MN,CNO,SCORE),規(guī)范化理論范式,(2)第二范式
11、 (2NF) 若R1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R2NF。,規(guī)范化理論范式,例:關(guān)系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc為學(xué)生住處,假設(shè)每個系的學(xué)生住在同一個地方 關(guān)系模式S-L-C的函數(shù)依賴 (Sno, Cno) Grade Sno Sdept (Sno, Cno) Sdept Sno Sloc (Sno, Cno)Sloc Sdept Sloc,規(guī)范化理論范式,P,F,P,(1) 插入異常 (2) 刪除異常 (3) 數(shù)據(jù)冗余度大 (4) 修改復(fù)雜 解決方法 S-L-C分解為兩個關(guān)系模式,消除部分函數(shù)依賴 SC(Sno, Cno
12、, Grade) S-L(Sno, Sdept, Sloc),規(guī)范化理論范式,函數(shù)依賴圖 關(guān)系模式SC的碼為(Sno,Cno) 關(guān)系模式S-L的碼為Sno 這樣非主屬性對碼都是完全函數(shù)依賴,規(guī)范化理論范式,S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC (Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF 采用投影分解法將一個1NF的關(guān)系分解為多個2NF的關(guān)系,可以在一定程度上減輕原1NF關(guān)系中存在的插入異常、刪除異常、數(shù)據(jù)冗余度大、修
13、改復(fù)雜等問題。,規(guī)范化理論范式,(3) 第三范式(3NF) 定義:若R中不存在這樣的碼X,屬性組Y及非主屬性Z(ZY),使得XY,YZ,XZ成立,則稱R3NF. 消除非主屬性對碼的傳遞函數(shù)依賴. 分析S-L(Sno, Sdept, Sloc) S-L3NF 存在的問題 插入異常,刪除異常,修改異常,冗余度大 解決辦法:模式分解,規(guī)范化理論范式,分解結(jié)果 采用投影分解法,把S-L分解為兩個關(guān)系模式,以消除傳遞函數(shù)依賴: S-D(Sno, Sdept) D-L(Sdept,Sloc) S-D的碼為Sno, D-L的碼為Sdept。 分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴,規(guī)范化理論范式,
14、STJ(S,T,J) 其中:S: 學(xué)生,T: 教師,J: 課程 每個教師只教一門課,每門課有若干個教師. 某一學(xué)生選修了某門課程,就對應(yīng)一個固定的教師. 請分析分析函數(shù)依賴關(guān)系?,規(guī)范化理論范式,(3)BCNF BCNF是由Boyce和Codd提出來的,也叫修正的3NF. 定義: 消除主屬性對碼的部分依賴和傳遞依賴. 關(guān)系模式R屬于1NF,XY且YX時,X必含有碼,則RBCNF. 等價于:BCNF要求每一個決定因素都包含碼. 若RBCNF,則: 所有非主屬性對每一個碼都完全函數(shù)依賴; 所有主屬性對每一個不包含它的碼,也完全函數(shù)依賴; 沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性.,規(guī)范化理論范式,例:不屬于BCNF的例子STJ(S,T,J) 其中:S: 學(xué)生,T: 教師,J: 課程 每個教師只教一門課,每門課有若干個教師. 某一學(xué)生選修了某門課程,就對應(yīng)一個固定的教師. 由語義可得下列函數(shù)依賴: TJ;(S,J)T;(S,T)J 侯選碼:(S,T)和(S,J) 主屬性:S,T,J STJ3NF 由于J只依賴于T即可:TJ;而T本身不是決定因素,所以J部分函數(shù)依賴于碼(S,T),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大三(會計(jì)學(xué))財務(wù)管理學(xué)試題
- 2025年大學(xué)本科三年級(電影學(xué))電影史論基礎(chǔ)測試題及答案
- 2025年高職計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)(網(wǎng)絡(luò)安全)試題及答案
- 2025年高職中醫(yī)學(xué)(中醫(yī)針灸)試題及答案
- 2025年中職安全工程技術(shù)(安全工程應(yīng)用)模擬試題
- 2025年高職第二學(xué)年(軟件技術(shù))Web前端開發(fā)測試題及答案
- 2025年大學(xué)(旅游管理)旅游經(jīng)濟(jì)學(xué)原理階段測試題及評分標(biāo)準(zhǔn)
- 2026年藥學(xué)(藥物研發(fā))專項(xiàng)測試題及答案
- 2025年大學(xué)舞蹈教學(xué)(舞蹈教學(xué)方法)試題及答案
- 印后制作員風(fēng)險評估評優(yōu)考核試卷含答案
- 2026年包頭輕工職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試參考題庫及答案詳解
- 2026貴州黔南州長順縣醫(yī)療集團(tuán)中心醫(yī)院招聘備案編制人員21人筆試參考題庫及答案解析
- 中國兒童原發(fā)性免疫性血小板減少癥診斷與治療改編指南(2025版)
- 2026年遼寧生態(tài)工程職業(yè)學(xué)院單招綜合素質(zhì)考試題庫附答案詳解
- 基坑回填質(zhì)量控制措施
- 2025重慶城口縣國有企業(yè)公開招聘26人參考題庫附答案
- 應(yīng)力性骨折課件
- 醫(yī)?;鸨O(jiān)管培訓(xùn)課件
- 新型醫(yī)療器械應(yīng)用評估報告
- 淺析幼小銜接中大班幼兒時間觀念的培養(yǎng)對策 論文
- LY/T 1821-2009林業(yè)地圖圖式
評論
0/150
提交評論