- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实体关联模型与实体关联将实体关联图转换成关联表纲要
3-3-2 第一階正規化型式 – 1NF (刪除多重值屬性-範例) 刪除多重值屬性可以將屬性分割成關聯表、值組或屬性。例如:在學生關聯表儲存學生的選課資料,主鍵是學號,如下圖所示: 3-3-2 第一階正規化型式 – 1NF (刪除多重值屬性-方法一) 方法一:分割成不同的關聯表 關聯表如果擁有多重值屬性違反1NF,第一階正規化可以將多重值屬性連同主鍵分割成新的關聯表,如下圖所示: 3-3-2 第一階正規化型式 – 1NF (刪除多重值屬性-方法二) 方法二:分割成值組 因為符合1NF關聯表的每一個屬性只能儲存單元值,所以第一階正規化可以將多重值屬性改成重複值組,將屬性的每一個多重值都新增一筆值組,如下圖所示: 3-3-2 第一階正規化型式 – 1NF (刪除多重值屬性-方法三) 方法三:分割成不同屬性 第一階正規化還可以將多重值屬性配合空值,分割成為關聯表的多個屬性,不過,其先決條件是多重值個數是有限的。例如:一位學生規定只能修兩門課程,如下圖所示: 3-3-3 第二階正規化型式 – 2NF (說明) 第二階正規化的目的是讓每一個關聯表只能儲存同類資料,也就是單純化關聯表儲存的資料。例如:學生關聯表只用來儲存學生資料,教授關聯表儲存教授資料,而不會儲存課程等其他資料。當關聯表符合1NF後,就可以進行第二階正規化。 簡單的說,第二階正規化型式是指在關聯表中,不是主鍵的屬性需要完全相依於主鍵;反過來說,就是刪除關聯表所有部分相依(Partial Dependency)的屬性。 3-3-3 第二階正規化型式 – 2NF(功能相依) 功能相依(Functional Dependency;FD)是一種欄位間的關係,知道欄位A的值,就可以知道欄位B的值,寫成A→B,即欄位B功能相依於欄位A。 例如:在本節第二階正規化後班級關聯表的主鍵是(學號, 課程編號, 教授編號)欄位,知道學號S001、CS203和E003,就可以決定教室是221-S;反之,知道221-S,並不能決定學號,因為多位學生可能在同一間教室上課。 3-3-3 第二階正規化型式 – 2NF(範例) 目前關聯表已經分割成學生和班級兩個關聯表。我們繼續上一節的正規化,執行班級關聯表的第二階正規化,如下圖所示: 3-3-3 第二階正規化型式 – 2NF(範例-功能相依) 班級關聯表的主鍵是(學號, 課程編號, 教授編號),關聯表已知的功能相依,如下所示: FD1:{學號, 課程編號, 教授編號}→教室 FD2:課程編號→名稱 FD3:教授編號→{教授姓名, 辦公室} 3-3-3 第二階正規化型式 – 2NF(範例-執行2NF) 部分相依表示關聯表擁有其他資料的子集合。執行第二階正規化過程是:在部分相依A→B中,刪除屬性A不影響功能相依的屬性後,將功能相依FD2和FD3兩邊屬性獨立成關聯表,左邊剩下的屬性就是新關聯表的主鍵,如下圖所示: 3-3-4 第三階正規化型式 – 3NF (說明) 第三階正規化的目的是移除哪些不是直接功能相依於主鍵的屬性,因為這些屬性是借由另一個屬性來功能相依於主鍵。換句話說,這些屬性是隱藏在非主鍵屬性中其他資料的子集合。當關聯表符合2NF後,就可以進行第三階正規化。 簡單的說,第三階正規化是指關聯表中不屬於主鍵的屬性都只能功能相依於主鍵,而不能同時功能相依於其他非主鍵的屬性,即刪除關聯表所有遞移相依(Transitive Dependency)的屬性。 3-3-4 第三階正規化型式 – 3NF(範例) 例如:繼續上一節的教授關聯表,執行關聯表的第三階正規化,如下圖所示: 3-3-4 第三階正規化型式 – 3NF(範例-功能相依) 教授關聯表為了方便說明,已新增辨公室編號、名稱和一位講師王陽明,他與李鴻章位在同一間辦公室。教授關聯表已知的功能相依,如下所示: FD1:教授編號→{教授姓名, 辦公室編號, 辦公室名稱} FD2:教授編號→教授姓名 FD3:教授編號→辦公室名稱 FD4:教授編號→辦公室編號 FD5:辦公室編號→辦公室名稱 3-3-4 第三階正規化型式 – 3NF(範例-遞移相依) FD3的辦公室名稱屬性雖然功能相依於主鍵教授編號,但是,它是借由FD4和FD5所得到,所以FD3是遞移相依,如下圖所示: 3-3-4 第三階正規化型式 – 3NF(範例-執行3NF) 在執行第三階正規化時,就是將造成遞移相依的A→B功能相依兩邊的屬性獨立成關聯表,左邊的屬性就是新關聯表的主鍵,如下圖所示: 3-3-5 Boyce-Codd正規化型式 – BCNF(說明) Boyce-Codd正規化型式可以視為一種更嚴格的第三階正規化型式,其目的是保證關聯表的所有屬性都功能相依於候選鍵。Boyce-Codd正規化可以讓所有屬性都完全功能
文档评论(0)