Boyce-Codd正规化型式.PPT

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Boyce-Codd正规化型式

* 7-3-2 第二階正規化型式 – 2NF(功能相依) Classes關聯表的主鍵是(sid, c_no, eid),關聯表已知的功能相依,如下所示: FD1:{ sid, c_no, eid }→room FD2:c_no→title FD3:eid→{ instructor, office } * 7-3-2 第二階正規化型式 – 2NF(正規化結果) * 7-3-3 第三階正規化型式 – 3NF(定義) 定義7.4:關聯表R符合第三階正規化型式(Third Normal Form, 3NF)是指關聯表符合2NF,且所有非主鍵的屬性都只有功能相依於主鍵,而沒有功能相依於其它非主鍵的屬性,亦就是去除遞移相依性。 上述定義簡單的說是指關聯表中不屬於主鍵的屬性只能功能相依於主鍵,而不能同時功能相依於其它非主鍵的屬性,也就是刪除關聯表所有遞移相依(Transitive Dependency)的屬性。 * 7-3-3 第三階正規化型式 – 3NF(範例) 例如:繼續上一節的關聯表,執行Instructors關聯表的第三階正規化,如下圖所示: * 7-3-3 第三階正規化型式 – 3NF(正規化結果) eid→office 是遞移相依 * 7-3-4 Boyce-Codd正規化型式 – BCNF(條件) Boyce-Codd正規化是在處理關聯表擁有多個候選鍵的特殊情況,Boyce-Codd正規化處理的關聯表至少擁有二個或更多個候選鍵,而且這兩個候選鍵是: 複合候選鍵。 在複合候選鍵之間擁有重疊屬性,也就是說至少擁有一個相同屬性。 如果關聯表沒有上述情況,3NF就等於BCNF。 * 7-3-4 Boyce-Codd正規化型式 – BCNF(範例1) 例如:學生身份證字號(SSN)與成績(grade)的Students關聯表,如下圖所示: Students關聯表擁有兩個候選鍵,如下所示: ( sid, c_no ) ( SSN, c_no ) * 7-3-4 Boyce-Codd正規化型式 – BCNF(範例2) 兩個候選鍵擁有重疊屬性c_no,在候選鍵之間擁有功能相依SSN→sid,因為身份證字號可以決定學生編號,如下所示: { sid, c_no }→SSN SSN→sid 上述SSN屬性可以決定sid屬性,不過SSN只是候選鍵的一部分,且不是超鍵(Superkey),所以違反BCNF。 * 7-3-4 Boyce-Codd正規化型式 – BCNF(定義) 定義7.5:關聯表R符合BCNF正規化型式(Boyce-Codd Normal Form,BCNF)是指關聯表所有主要的功能相依A→B,A一定且只可以是候選鍵(Candidate Keys),亦就是去除不是完全功能相依於候選鍵的功能相依。 上述定義簡單的說是指關聯表中主要功能相依A→B的左邊屬性A,稱為「決定屬性」(Determinant),決定屬性一定是候選鍵或主鍵,換句話說,功能相依的標準語法,如下所示: 候選鍵或主鍵→其它屬性 * 7-3-4 Boyce-Codd正規化型式 – BCNF(正規化結果1) 例如:執行前述的關聯表Students關聯表的BCNF正規化,如下圖所示: * 7-3-4 Boyce-Codd正規化型式 – BCNF(正規化結果2) 因為Students關聯表的sid和SSN兩個屬性間相互擁有功能相依,如下所示: sid→SSN SSN→sid 所以執行BCNF正規化分割Students關聯表時,也可以使用SSN屬性進行分割,如下圖所示: * 7-3-5 符合Boyce-Codd正規化型式的範例(說明) Boyce-Codd正規化型式的條件是關聯表至少擁有二個或多個複合候選鍵,不過關聯表擁有兩個複合候選鍵,並不表示一定需要進行BCNF正規化,兩個複合候選鍵的關聯表仍可以符合BNCF。 * 7-3-5 符合Boyce-Codd正規化型式的範例(範例1) 例如:學生期末考座位的Exams關聯表,因為期末考分成多天進行考試,所以各科的考試座位可能不同,如下圖所示: * 7-3-5 符合Boyce-Codd正規化型式的範例(範例2) 在Exams關聯表一共有兩個候選鍵,如下所示: ( sid, c_no ) ( seat_no, c_no ) 兩個候選鍵擁有重疊屬性c_no,不過在候選鍵之間並沒有功能相依seat_no→sid。 在Exams關聯表擁有的功能相依清單,如下所示: { sid, c_no }→seat_no { seat_no, c_no }→sid 上述2個功能相依的決定屬性都是候選鍵,符合BCNF定義。所以,Exams關聯表雖然擁有2組候選鍵,但是它不但符合3NF,而且符合BCNF。 * 第7章 關聯式資

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档