资料库系统databasesystems内容摘要:

資料庫系統 55 tuple的重複值問題 ENAME EID SEX TEL DNUM DNAME DMGR 陳花依 E1 女生 7111111 1 行政 E1 林大城 E2 男生 7111112 1 行政 E1 陳富強 E3 男生 7111113 2 研發 E3 張珠珠 E4 女生 7111114 2 研發 E3 莊勝為 E5 男生 7111115 3 生產 E5 EMP_DEPT 資料庫系統 56 減少 tuple的空值 EID ENAME ADDRESS TEL PNO PNAME E1 陳花依 TAIPEI 123456 1 PROJ_1 E2 林大城 2 E3 陳富強 HOUSTON 654321 3 PROJ_3 E2 林大城 3 PROJ_3 資料庫系統 57 不允許假值組的存在 適當地分割關聯可以有效減少空間的浪費 ,並藉由正規化與關聯式運算 (處理 )來維持資料的完整性並滿足各項操作 假值組的問題 ,係因不良的關聯表格切割所導致 關聯表的分割必須考量 FK與 PK 資料庫系統 58 我們可以由 分割成 , 但無法由 回覆成原來的 EID PNO HOUR ENAME PNAME PLOC E1 1 32 陳花依 Proj1 TP E1 2 7 陳花依 Proj2 CH E2 3 40 林大城 Proj3 CH E3 1 20 陳富強 Proj1 TP E4 2 20 張珠珠 Proj3 KS EID PNO HOUR PNAME PLOC E1 1 32 Proj1 TP E1 2 7 Proj2 CH E2 3 40 Proj3 CH E3 1 20 Proj1 TP E4 2 20 Proj3 KS ENAME PLOC 陳花依 TP 陳花依 CH 林大城 CH 陳富強 TP 張珠珠 KS 資料庫系統 59 Functional Dependencies 功能相依 是資料庫的兩個屬性集合的限制 關聯表分割的重要參考依據 表示法 (XY)與意義  Relation R 中的任意兩個 tuples t1與 t2,若t1[X]=t2[X],則使得 t1[Y]=t2[Y]  Tuple中 attribute Y的值是依靠 X來決定 稱為 X到 Y的功能相依 ,或 Y功能相依於 X  X可以決定 Y 資料庫系統 60 XY  XY iff r(R)的 X值相同 ,則 Y值必定相同  Key points 若一關聯不存在超過一個以上的 X值 ,則表示 X是一個 Candidate Key 若 XY 並不表示 YX 成立 功能相依是一屬性語意的特性 功能相依無法從特定的關聯中推論得到 資料庫系統 61 功能相依性 與 (非 )主要屬性  在 Relation R 中 ,若一 Attribute(s) 為任意 R 的成員(每一 Tuple都有該屬性 ),此 Attribute(s)稱為主要屬性 ,否則則稱為非主要屬性  EID與 PNO為 EMP_PROJ的主要屬性 ,其餘屬非主要屬性 EID PNO HOUR ENAME PNAME PLOC fd1 fd2 fd3 EMP_PROJ 資料庫系統 62 正規化  第一正規化型式 (1NF) by . Codd  第二正規化型式 (2NF) by . Codd  第三正規化型式 (3NF) by . Codd  廣義 3NF─BCNF (Boyce/Codd Normal Form)  第四正規化型式 (4NF) by R. Fagin  第五正規化型式 (5NF) by R. Fagin 又稱為 Projection/Join Normal Form (PJ/NF) P J / N F4 N FB C N F3 N F2 N F1 N F資料庫系統 63 1NF  1NF: 所有屬性定義域僅含基元值 (Atomic) (不能有複合屬性 /多值的存在 ) 不符合 1NF  DLOCS的定義域包含基元值 ,但某些值組包含這些值組的集合  DLOCS屬性並非基元值 DNUM DNAME DMGR DLOCS 1 行政 E1 {TP, CH, TC} 2 研發 E3 {TP} 3 生產 E5 {KS} DEPARTMENT 資料庫系統 64 non1NF分割 (Case1)  將 違反 1NF的屬性從原來的關聯中刪除 ,並與 主鍵放到一個個別的關聯 DEPARTMENT DEPT_LOCATIONS DNUM DNAME DMGR DLOCS DNUM DLOC DNUM DLOC 1 TP 1 CH 1 TC 2 TP 3 KS 資料庫系統 65 1NF  1NF不允許有複合屬性的存在 ,這些屬性本身是屬於多值  巢狀關聯 :一個值組有一個關聯存在  PNO為巢狀關聯 PROJS的部份主鍵 EID ENAME PROJS PNO HOURS EID ENAME PNO HOURS E1 陳花依 1 32 2 7 E2 林大城 3 40 E3 陳富強 1 20 2 12 E4 張珠珠 2 14 3 14 10 14 20 14 E5 莊勝為 30 31 20 10 EMP_PORJ 資料庫系統 66 non1NF分割 EID ENAME PNO HOURS EID ENAME EID PNO HOURS 主鍵與部份主鍵 形成新關聯的主鍵 EMP_PORJ 1NF (Case2) 資料庫系統 67 2NF  2NF是以完全功能相依為基礎  完全功能相依  若 XY為完全功能相依 ,則從 X中移除任一屬性 A,將使得此功能相依性不再成立  {EID,PNO}  HOUR (完全相依 )  EID  ENAME (去掉 EID後不滿足相依性 )  PNO  {PNAME,PLOC} (去掉 PNO後不滿足相依性 )  {EID,PNO}  ENAME (不滿足完全相依性 ,部份相依 ) EID PNO HOUR ENAME PNAME PLOC fd1 fd2 fd3 EMP_PROJ 資料庫系統 68 2NF  2NF 若 關聯 R中的每一個 非主要屬性 是完全功能相依於 R的 Primary Key則稱 Relation R屬於2NF  non2NF的處理  Non2NF的 Relation可以進一部被分解成多個 2NF的 Relations 所產生的新關聯將只有 非主要屬性 與 在主鍵內其 完全功能相依 的部份 資料庫系統 69 2NF EID ENAME EID PNO HOUR ENAME PNAME PLOC PNO PNAME PLOC fd1 fd2 fd3 EMP_PROJ EID PNO HOUR fd1 fd2 fd3 2NF 資料庫系統 70 3NF 概念基礎  3NF是以 遞移 相依性為基礎  遞移 相依性  Z不屬於任何鍵值的子集合 ,且 XZ,ZY成立 DNUM不屬於任何鍵值的子集合 ,且 EIDDNUM, DNUM{DNAME,DMGR}成立 存在 遞移相依 … (不符合 3NF) ENAME EID SEX TEL DNUM DNAME DMGR EMP_DEPT 資料庫系統 71 3NF 定義  Relation R 是 3NF:Relation R 是 2NF且沒有非主要屬性是遞移相依於主鍵  Non3NF的 Relation可以進一部被分解成多個 3NF的 Relations 所產生的新關聯將只有 非主要屬性 及 與其完全功能相依 的部分 資料庫系統 72 3NF ENAME EID SEX TEL DNUM DNUM DNAME DMGR 員工 部門 ENAME EID SEX TEL DNUM DNAME DMGR EMP_DEPT 3NF 資料庫系統 73 BoyceCodd正規式 (BCNF)  BCNF比 3NF更嚴格 ,BCNF成立 3NF一定成立 ,但 3NF不一定屬於 BCNF  BCNF的定義  在 Relation R中 每一個功能相依 XA都滿足 X是 R的 Super Key  Example  CNAME={M, L}  ASIZE=、 、 、 、 、 CNAME=M  ASIZE=、 、 … 、 CNAME=L  則存在一個 FD: A。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。