第3章-正規化.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章-正規化

* * 值域(Domain) ,關聯綱要(Relational Schema) ,關聯表(Relation) 主鍵(Primary Key/PK):主鍵具有唯一性,亦即主鍵值 (Key Value) 在關聯表中是不會重覆的,它的用途可作值組的識別 (Identify) * 要設計一個關聯表時需要完成下面之工作: 設計一個關聯表綱要 (Relation Schema),包括關聯表的名稱,一群屬性 A1、A2、…、An 以及相對的值域 D1、D2、…、Dn。 選定關聯表之主鍵 (PK) 選定外來鍵 (Foreign Key) 的參考,但並非一定要選擇外來鍵 * 在設計關聯式綱要時,必須要考量真實世界中資料的限制並加入到關聯式資料庫綱要,這些限制稱為關聯式限制,做了關聯的限制除了可以減少錯誤的資料輸入之外也可以稽核資料的合理性 資料型態 :限制值域的資料型態如:整數 、實數、文字 (characters)、字串 (string)、日期 (date)…等 資料長度 :如長度為10個bytes等 資料範圍 :例如,屬性「性別」之資料範圍為「男」、「女」,其他資料值則視為無效。 * 若在關聯表R1中的屬性(或屬性集合)FK是一個參考到關聯表R2的一個外鍵,則FK必須滿足下列兩個條件。 (1)?? FK的屬性與R2的主鍵屬性PK擁有相同的值域 (2)?? FK的值有兩個可能情況: 在R1的一個值組t1中其FK值一定與R2中某一值組之PK值相同。 FK的值是空的(null)。 * 屬性的語意:設計一個良好的資料庫綱要使得它很容易表示出資料的意義 減少重覆的值組:當設計關聯表綱要時,務必使“更新不正常”情況不存在 減少空值:在設計關聯表綱要時要避免某些屬性有大量空值的情況發生。 * X→Y :這樣的意義為屬性Y的資料值可以由屬性X的資料值所決定(Determined by);或者也可以說成屬性X的資料值可決定(Determine)屬性Y的資料值。 當屬性X是關聯表R的候選鍵時,則某些功能相依FD必定存在R中任何的屬性集合上。因為X是候選鍵(具有唯一性),所以沒有任何兩個值組的X具有相同的資料值。 當功能相依X→Y存在關聯表R中時,並不保證功能相依Y→X也存在R中。 * 部分功能相依的含意為不需要使用那麼多屬性就可以唯一決定另外一個屬性,換句話說就是X的屬性集合要唯一決定屬性Y時可以再精簡。 例如:如果(X1,X2)-Y,且(X1)-Y也成立,那麼就存在部分功能相依。 既然如此,為何要使用(X1,X2)呢?這是因為(X1,X2)的屬性組合才能成為主鍵,否則就無法唯一決定其他屬性了 * 關係圖中愈內層的正規型式之限制愈多。當某個關聯表為5NF時,它必是4NF,也必是3NF,以此類推。 如以內層向外,當關聯表為1NF時,如果他還滿足2NF的限制條件,則可稱它為2NF;若它亦滿足3NF的條件時,則也稱它為3NF,以此類推。 * 由於屬性Contact為一個多值屬性,所以關聯表distributor不是1NF 1NF:去除非單元值屬性 * 將上圖含有多值型式的屬性去除,即可得到下圖的結果。但是陰影的部分造成了資料重複,這樣就會引發資料的更新不正常情況 * 從上圖的FD圖可以看到,Contact屬性並沒有完全功能相依於主鍵distributorno,因此該資料表不為2NF 如果將(distributorno,Contact)當成主鍵,則所有屬性皆功能相依於該主鍵,但是(distributorno,Contact)-distributorname且distributorno-distributorname這樣就出現了部分功能相依了 1NF→2NF:去除非鍵屬性的部份功能相依 * 「不失真」(non-Loss Decomposition)其意義為分割關聯表R成兩個關聯表R1和R2後,經由R1和R2的「相等合併」運算後會得到原來R的所有值組 R包含X、Y、Z三個屬性集合,而且有功能相依X→Y存在時,則可將R分割成R1(X , Y)和R2(X , Z),則此分割為不失真。 * 送貨所在地點決定運費,因此可得一個功能相依Distsddress→price,由於Distsddress非主鍵或非候選鍵),因此不為3NF 2NF→3NF:去除非鍵屬性的遞移功能相依 * 遞移性功能相依(Transitive Dependency):所謂遞移性功能相依X→Z,就是屬性X為關聯表R的主鍵,若存在屬性Y不屬於X的任何子集,且使得另外兩個功能相依X→Y,Y→Z成立時則稱之Z遞移性功能相依於X 例如原先之2NF的distributor,存在遞移性功能相依distributorno→price,因為功能相依distributorno

您可能关注的文档

文档评论(0)

75986597 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档