第八正规化.ppt

上传人:sccc 文档编号:5307469 上传时间:2023-06-24 格式:PPT 页数:36 大小:2.02MB
返回 下载 相关 举报
第八正规化.ppt_第1页
第1页 / 共36页
第八正规化.ppt_第2页
第2页 / 共36页
第八正规化.ppt_第3页
第3页 / 共36页
第八正规化.ppt_第4页
第4页 / 共36页
第八正规化.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《第八正规化.ppt》由会员分享,可在线阅读,更多相关《第八正规化.ppt(36页珍藏版)》请在三一办公上搜索。

1、黃三益2007資料庫的核心理論與實務第三版,8-1,第八章 正規化,好的關聯綱目特性意義明確資料不重複儲存屬性值很少有空值關聯的JOIN不會產生虛假序列值函數相依基本正規化第一正規式第二正規式第三正規式進階正規式Boyce-Codd正規式第四正規式第五正規式,黃三益2007資料庫的核心理論與實務第三版,8-2,好的關聯綱目特性,意義明確 記載迷你世界裡的同一類實體或關係以下的關聯包括現實世界裡的交易和會員實體,所以意義不明確,黃三益2007資料庫的核心理論與實務第三版,8-3,好的關聯綱目特性(Cont.),資料不重複儲存空間浪費更新異常以下關聯(OrderProduct)裡任賢齊專輯三的資料

2、重複儲存,黃三益2007資料庫的核心理論與實務第三版,8-4,好的關聯綱目特性(Cont.),有三種更新異常新增異常INSERT INTO TransactionMember(tNo,mId,name)VALUES(93000,c0927777,Chen);刪除異常DELETETransactionMemberWHERE tNo=90111;修改異常UPDATE TransactionMemberSET name=HuangWHERE tNo=92333;,黃三益2007資料庫的核心理論與實務第三版,8-5,練習8-1,考慮圖8-2(b)的OrderProduct範例關聯,請問刪除哪一筆記錄後

3、會造成刪除異常?Ans:除了第3筆和第8筆記錄外,刪除其他記錄都會造成該商品資訊消失,而形成刪除異常。,黃三益2007資料庫的核心理論與實務第三版,8-6,好的關聯綱目特性(Cont.),屬性值很少有空值一個設計不良的綱目可能會造成有些屬性有許多空值 缺點浪費空間 彙總函數應用在有空值的屬性時,其意義不明確 空值的含義不唯一,黃三益2007資料庫的核心理論與實務第三版,8-7,好的關聯綱目特性(Cont.),關聯的JOIN不會產生虛假序列值以上三種問題都是因為一個關聯綱目包含過多的屬性 若將一個關聯綱目分解成數個,分解的方式要注意,黃三益2007資料庫的核心理論與實務第三版,8-8,上例產生了

4、兩筆虛假序列值(以綠色底色顯示)無損JOIN的分解(Lossless join decomposition):切割之後的兩個關聯,其共同屬性必須是其中一個關聯的關聯鍵 以上的分解(Product2和Record2關聯)不滿足無損JOIN的分解,因為共同屬性catalog在兩個關聯裡都不是關聯鍵,黃三益2007資料庫的核心理論與實務第三版,8-9,函數相依,定義:兩個(群)屬性間存在的一種類似函數(function)裡定義域(domain)和對應域(co-domain)的關係mIdname,birthday 每個mId剛好有一組name,birthday不會有一個mId有兩組或以上的name,b

5、irthday請注意name mId不成立因為可能有同名同姓的會員 對於函數相依XY,我們稱 X決定Y 或Y 函數相依於X,黃三益2007資料庫的核心理論與實務第三版,8-10,函數相依(Cont.),根據定義,一個關聯的任何關聯鍵皆可決定其所有屬性屬性和屬性間的函數相依是一種語意的關係,必須由人工仔細推敲來訂定但有些函數相依仍然可以有規則可以推論而得,黃三益2007資料庫的核心理論與實務第三版,8-11,函數相依(Cont.),IR1:X Y XYIR2:XY XZYZIR3:XY,YZ XZ,黃三益2007資料庫的核心理論與實務第三版,8-12,函數相依(Cont.),一個屬性集合的泛封閉

6、集合:給定一些函數相依,我們可以推導出這些屬性可以決定的所有屬性,稱為泛封閉集合圖8-7(a)tNo+=tNo,transmId,method,transTime,pId,name,birthdaytransMid+=transMid,pId,name,birthday 圖8-7(b)pNo+=pNo,pName,unitPrice,catalogmId,cartTime,pNo+=mId,cartTime,pNo,amount,pName,unitPrice,catalog,黃三益2007資料庫的核心理論與實務第三版,8-13,練習8-2,由圖8-7(b)的函數相依,計算mId,pNo+An

7、s:pNo+=pNo,pName,unitPrice,catalogmId,pNo+=mId,pNo,pName,unitPrice,catalog,黃三益2007資料庫的核心理論與實務第三版,8-14,正規化,定義:將關聯綱目轉化成正規式的過程基本正規式第一正規式第二正規式第三正規式高等正規式BCNF第四正規式第五正規式,黃三益2007資料庫的核心理論與實務第三版,8-15,第一正規式,R滿足第一正規式(1NF)如果R的每個屬性都是簡單且單值每個合法的關聯綱目都滿足第一正規式如何分解多值屬性 處理方式一:維持同樣的屬性,但關聯主鍵要加上該多值屬性。處理方式二:產生另一個關聯,此關聯包括原主鍵

8、和該多值屬性,黃三益2007資料庫的核心理論與實務第三版,8-16,多值屬性處理方式一,黃三益2007資料庫的核心理論與實務第三版,8-17,多值屬性處理方式二,黃三益2007資料庫的核心理論與實務第三版,8-18,練習8-3,考慮圖8-8(a)的Transaction_Product,請用第二種方式將其變成1NFAns:,黃三益2007資料庫的核心理論與實務第三版,8-19,第二正規式,第二正規式(簡稱2NF)是根據完全函數相依的概念一個函數相依XY,如果我們可以從X裡找出部分元素X,使得XY仍然成立,則稱XY為一個部分函數相依否則稱XY為完全函數相依下圖OrderProduct關聯裡 mI

9、d,cartTime,pNopName是一個部分函數相依 因為pNopNamemId,cartTime,pNoamount是一個完全函數相依,黃三益2007資料庫的核心理論與實務第三版,8-20,第二正規式(Cont.),一個關聯綱目R滿足第二正規式(2NF)如果 對於R的每一個關聯鍵K,所有非K的屬性都完全函數相依於K下圖的OrderProduct關聯綱目不滿足2NF,因為pName部分函數相依於主鍵Because pNo pName,黃三益2007資料庫的核心理論與實務第三版,8-21,第二正規式(Cont.),可以分解如下,以滿足2NF,黃三益2007資料庫的核心理論與實務第三版,8-2

10、2,第二正規式(Cont.),假設圖8-10(b)的TransactionMember 關聯有一個次要鍵(transMid,seq)name部分函數相依於transMid,seq,因此不滿足2NF 可分解如下,以滿足2NF,黃三益2007資料庫的核心理論與實務第三版,8-23,練習8-4,考慮圖8-8(b)的Transaction_Product關聯綱目,請問其是否滿足2NF?Ans因為tNo,product transMid,method,transTime,且tNo transMid,method,transTime所以,transMid,method,transTime為部份函數相依於t

11、No,product,並不符合第二正規化,黃三益2007資料庫的核心理論與實務第三版,8-24,第三正規式,第三正規式(簡稱3NF)是根據遞移函數相依的概念 對於一個函數相依XY,如果存在著另外兩個函數相依:XZ和ZY,且Z不為超級鍵,則稱XY為遞移函數相依 下圖TransactionMember關聯 tNoname是一個遞移函數相依 因為tNotransMid且 transMid name,黃三益2007資料庫的核心理論與實務第三版,8-25,第三正規式(Cont.),一個關聯綱目R滿足3NF,如果R滿足2NF。對於每一個關聯鍵K,R的每一個非鍵屬性都不可遞移函數相依於K Transacti

12、onMember不滿足3NF tNoname是一個遞移函數相依,而tNo為主鍵,黃三益2007資料庫的核心理論與實務第三版,8-26,第三正規式(Cont.),可分解如下:,黃三益2007資料庫的核心理論與實務第三版,8-27,練習8-5,考慮下圖Member關聯的函數相依,有人說此關聯不滿足3NF,因為mIdname是遞移函數相依,可以由mIdpId和pIdname推導而得。你認為呢?Ans:如上圖函數相依所示,雖然mIdpId且pIdname,但是考慮遞移函數相依的定義:若存在XZ和ZY,且Z不為超級鍵,則稱XY為遞移函數相依。因為pId是屬於Member的身分證字號,已是唯一的資料,也就

13、是超級鍵。所以mIdname並不是遞移函數相依。因此Member關聯滿足3NF,黃三益2007資料庫的核心理論與實務第三版,8-28,Boyce-Codd正規式,一個關聯綱目R滿足BCNF,如果對於R的每一個函數相依AB,A都是超級鍵滿足BCNF的關聯綱目必然也滿足2NF和3NF若R不滿足2NF,則對於一個關聯鍵X來說,存在著部分函數相依XY,也就是XY,XX。所以Y可由非超級鍵X所決定若R不滿足3NF,則存在著非鍵屬性Y是遞移函數相依於關聯鍵X。也就是有XZ和ZY,且Z不是超級鍵。所以Y可由非超級鍵X所決定,黃三益2007資料庫的核心理論與實務第三版,8-29,Boyce-Codd正規式(C

14、ont.),有些關聯綱目滿足3NF但卻不滿足BCNF,黃三益2007資料庫的核心理論與實務第三版,8-30,Boyce-Codd正規式(Cont.),Transaction1,Transaction2,黃三益2007資料庫的核心理論與實務第三版,8-31,Boyce-Codd正規式(Cont.),上頁Transaction關聯滿足3NF(但不滿足BCNF)上頁Transaction1和Transaction2滿足BCNF何者較好?考慮所有函數相依(tNo,pNo)amount(tNo,pNo)salePrice(tNo,pNo)invNo invNotNo(invNo,pNo)amount(i

15、nvNo,pNo)salePrice,黃三益2007資料庫的核心理論與實務第三版,8-32,Boyce-Codd正規式(Cont.),只有Transaction關聯時,設定主鍵可決定(tNo,pNo)amount(tNo,pNo)salePrice(tNo,pNo)invNo分解成Transaction1和Transaction2關聯時,設定主鍵可決定(invNo,pNo)amount(invNo,pNo)salePriceinvNotNo當分解成Transaction1和Transaction2關聯時,若仍想維持函數相依(tNo,pNo)amount,則需做跨關聯的檢查保留函數相依的分解:關

16、聯綱目分解後各函數相依仍可藉由檢查單一關聯來確定BCNF常無法保留所有函數相依,黃三益2007資料庫的核心理論與實務第三版,8-33,練習8-6,有人可能認為8-12(b)的關聯綱目沒有比較省空間,請修改圖8-12範例關聯裡的記錄,使得空間的節省會較多 Ans:,3NF,BCNF,黃三益2007資料庫的核心理論與實務第三版,8-34,第四正規式,第四正規式(簡稱4NF)是源於多值相依的概念多值相依XY:給定一個X的屬性值,便有一組Y的屬性值 pNoauthorpNotransaction,黃三益2007資料庫的核心理論與實務第三版,8-35,第四正規式(Cont.),在ProductAutho

17、r關聯裡的多值相依pNoauthor和ProductTransaction關聯裡的多值相依pNotransaction稱為微不足道的多值相依一個關聯綱目R滿足4NF,如果每一個R的非微不足道的多值相依其左方都是超級鍵滿足4NF也必定滿足BCNF,ProductAuthor,ProductTransaction,黃三益2007資料庫的核心理論與實務第三版,8-36,第五正規式,一個關聯綱目R滿足5 NF:R無法再被分解成數個關聯R1,R2,Rk,使得R1*R2*Rk=R,或R可以被分解成數個關聯R1,R2,Rk,使得R1*R2*Rk=R,但是每一個Ri,1ik,都是R的超級鍵。5NF限制條件的發現和檢查不易,也因此在實作上通常不予考慮,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号