网站大量收购独家精品文档,联系QQ:2885784924

资料库程式设计与系统.pptVIP

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

3-6.1第一正規化型式*logo這是1NF嗎?Why?一個關聯表R為第一正規化型式,若且唯若R所有屬性的相對值域只包含單元值。屬性contact為一個多值屬性,所以原始型式的關聯表distributor不是1NF非1NF-1NF*3-6.2第二正規化型式*一個關聯表R是第二正規化型式,若且唯若R為第一正規化型式,且所有不為主鍵的屬性都「完全功能相依」於關聯表R的主鍵。該關聯表為1NF,但是為2NF嗎?Why?3.6.21NF-2NF*轉換原則:將關聯表分割成兩個(或兩個以上)關聯表,而且分割後的關聯表必須維持「不失真」*值域(Domain),關聯綱要(RelationalSchema),關聯表(Relation)主鍵(PrimaryKey/PK):主鍵具有唯一性,亦即主鍵值(KeyValue)在關聯表中是不會重覆的,它的用途可作值組的識別(Identify)*要設計一個關聯表時需要完成下面之工作:設計一個關聯表綱要(RelationSchema),包括關聯表的名稱,一群屬性A1、A2、…、An以及相對的值域D1、D2、…、Dn。選定關聯表之主鍵(PK)選定外來鍵(ForeignKey)的參考,但並非一定要選擇外來鍵*在設計關聯式綱要時,必須要考量真實世界中資料的限制並加入到關聯式資料庫綱要,這些限制稱為關聯式限制,做了關聯的限制除了可以減少錯誤的資料輸入之外也可以稽核資料的合理性資料型態:限制值域的資料型態如:整數、實數、文字(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的資料值所決定(Determinedby);或者也可以說成屬性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不是1NF1NF:去除非單元值屬性*將上圖含有多值型式的屬性去除,即可得到下圖的結果。但是陰影的部分造成了資料重複,這樣就會引發資料的更新不正常情況*從上圖的FD圖可以看到,Contact屬性並沒有完全功能相依於主鍵distributorno,因此該資料表不為2NF如果將(distributorno,Contact)當成主鍵,則所有屬性皆功能相依於該主鍵,但是(distributorno,Contact)-distributorname且distributorno-distributorname這樣就出現了部分功能相依了1NF→2NF:去除非鍵屬性的部份功能相依*「不失真」(non-LossDecomposition)其意義為分割關聯表R成兩個關聯表R1和R2後,經由R1和R2的「相等合併」運算後會得到原來R的所有值組R包含X、Y、Z三個屬性集合,而且有功能相依X→Y存在時,則可將R分割成R1(X,Y)和R2(X,Z),則此分割為不失

文档评论(0)

189****6885 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档