1 / 91

第五章 RDB ( 关系数据库) 5.1 函数依赖 FD 5.2 闭包及其运算 5.3 关系模式分解 5.4 关系模式规范化 NF

第五章 RDB ( 关系数据库) 5.1 函数依赖 FD 5.2 闭包及其运算 5.3 关系模式分解 5.4 关系模式规范化 NF. 问题 R ( Sh,Sn,Sex,Ch,Grade ) Sh Sn Sex Ch Grade S1 丁一 m c1 90 S1 丁一 m c2 89 S1 丁一 m c3 88 S1 丁一 m c4 87 S1 丁一 m c5 95.

olin
Download Presentation

第五章 RDB ( 关系数据库) 5.1 函数依赖 FD 5.2 闭包及其运算 5.3 关系模式分解 5.4 关系模式规范化 NF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 RDB (关系数据库) 5.1 函数依赖 FD 5.2 闭包及其运算 5.3 关系模式分解 5.4 关系模式规范化 NF 5 关系数据库

  2. 问题 R ( Sh,Sn,Sex,Ch,Grade ) Sh Sn Sex Ch Grade S1 丁一 m c1 90 S1 丁一 m c2 89 S1 丁一 m c3 88 S1 丁一 m c4 87 S1 丁一 m c5 95 PK: ( Sh,Ch ) insert,update,delete 异常,数据冗余 5 关系数据库

  3. 解决问题 模式分解 R1 ( Sh,Sn,Sex ) PK:Sh Sh Sn Sex S1 丁一 m R2 ( Sh,Ch,Grade ) PK: (Sh,Ch) Sh Ch Grade S1 c1 90 S1 c2 89 S1 c3 88 S1 c4 87 S1 c5 95 5 关系数据库

  4. 问题 • 函数依赖  FD • 函数依赖分类 • 函数依赖特性 5 关系数据库

  5. X——>Y X1 X2 X3 X4 …… Xn Y1 Y2 Y3 …… Yn X决定Y,Y依赖于X 5 关系数据库

  6. R(Sh,Sn,Sex,Ch,Grade) PK: (Sh,Ch) (Sh,Ch)  Sn / Sex / Grade Sh  Sn / Sex Sn/Sex对(Sh,Ch) Pfd 部分依赖 5 关系数据库

  7. R(Sh,Sn,Sex,Ch,Grade) PK: (Sh,Ch) (Sh,Ch)  Sn / Sex / Grade (sh,ch)  Grade Grade对(Sh,Ch) Ffd 完全依赖 5 关系数据库

  8. Ex. S (Sh , Bj , Bad) ShBj , BjBad Sh  Bad Sh Bj Bad Bad对Sh tfd传递依赖 5 关系数据库

  9. R (U,F) Relation 关系 U Property Set  属性集合 F FD Set  函数依赖集合 Pk: Primary Key  主键 Fk: Foreign Key  外键 5 关系数据库

  10. W ( 日期D ,工号G,姓名N,工种A,定额B,超额C,车间E,车间主任F ) 例 求 PkPrimary Key 主键 完全函数依赖 fFD 部分函数依赖 pFD 传递函数依赖 tFD 5 关系数据库

  11. (D,G)  C fFD A B tFD EF W( 日期D ,工号G,姓名N, 工种A,定额B,超额C, 车间E,车间主任F ) FD PK: (D,G) (D,G)N/A/B/C/E/F pFD G  N/A/ E 5 关系数据库

  12. f (D,G) C FD W( 日期D ,工号G,姓名N, 工种A,定额B,超额C, 车间E,车间主任F ) PK: (D,G) p N/A/E (D,G) t G  N/A/ E B G AB 三类函数依赖FD表示方法 5 关系数据库

  13. 1.下表是职工职务工资表R1 职工(E) 职务(F) 职务工资(G) 王 键 车间主任 1200 张 扬 车间主任 1200 王元元 工程师 800 李 民 工程师 800 关系模式R1(E,F,G) 试述: (1)指出 R1的主键 (2)指出是否存在部分函数依赖 (3)指出是否存在传递函数依赖。 (4)R1是否存在数据冗余、更新异常。 5 关系数据库

  14. 2. 表为一个某工程关系模式R(A,B,C,D,E,F)试述: (1)指出 R的主键 (2)指出是否存在部分函数依赖 (3)指出是否存在传递函数依赖 (4)R是否存在数据冗余、更新异常。 工程号 材料号 数量 开工日期 完工日期 单价 P1 P1 P1 P2 P2 11 12 13 11 14 4 6 15 6 18 9805 9805 9805 9811 9811 9902 9902 9902 9912 9912 250 200 180 250 150 5 关系数据库

  15. 2a. 表为一个某工程关系模式R(A,B,C,D,E,F)试述: (1)R是否满足1NF,为什么? (2)指出 R的主键 (3)指出是否存在部分函数依赖 (4)指出是否存在传递函数依赖 (5)R是否存在数据冗余、更新异常。 *(6)使用什么方法可以进一步提高范式,可达到第几范式 工程号 材料号 数量 开工日期 完工日期 价格 P1 P1 P1 P2 P2 11 12 13 11 14 4 6 15 6 18 9805 9805 9805 9811 9811 9902 9902 9902 9912 9912 250 200 180 250 150 YES AB AB→D A→D B→ F A→ D D→ E A → E YES 5 关系数据库

  16. 3.关系模式R(Sh,Ch,Grade,Tname,Taddr),其属性分别 表示学生学号、选修课程的编号、成绩、任课教师姓名、教师地址等意义。如果规定,每个学生每学一门课程只有一个成绩,每门课程只有一个教师任课,每个教师只有一个地址(此处不允许教师同名同姓)。 1)指出 R的主键 3)指出是否存在部分函数依赖 4)指出是否存在传递函数依赖。 5)R是否存在数据冗余、更新异常。 5 关系数据库

  17. 3a. 设关系模式R(Sh,Ch,Grade,Tname,Taddr),其属性分别 表示学生学号、选修课程的编号、成绩、任课教师姓名、 教师地址等意义。如果规定,每个学生每学一门课程只有 一个成绩,每门课程只有一个教师任课,每个教师只有一 个地址(此处不允许教师同名同姓)。 1)R是否满足1NF,为什么? 2)指出 R的主键 3)指出是否存在部分函数依赖 4)指出是否存在传递函数依赖 5)R是否存在数据冗余、更新异常。 *6)使用什么方法可以进一步提高范式,可达到第几范式 YES sh,ch shch→ Tn ch→ Tn ch→ Tn Tn→Ta YES 5 关系数据库

  18. 4.下表为一个职工关系模式R(A,B,C,D,E)日期A 工号B 超额C 车间D 车间主任E 1101 01 1500 组装 Li 1102 01 1000 组装 Li 1103 01 2000 组装 Li 1101 02 1800 配件 Wu 5 关系数据库

  19. 试述:(1) R是否满足1NF,为什么?(2) 指出 R的主键(3) 指出是否存在部分函数依赖(4) 指出是否存在传递函数依赖。(5)R是否存在数据冗余、更新异常。*(6)使用什么方法可以进一步提高范式,可达到第几范式 函数依赖应用举例 5 关系数据库

  20. 4a.下表为一个职工关系模式R(A,B,C,D,E)。日期(A)工号(B)超额(C)车间(D)车间主任(E)(1) R是否满足1NF,为什么? (2) 指出 R的主键 (3) 指出是否存在部分函数依赖 (4) 指出是否存在传递函数依赖。 (5)R是否存在数据冗余、更新异常。*(6)使用什么方法可以进一步提高范式,可达到第几范式 Yes PK:AB AB→D B→D pFD AB→E D→E tFD Yes R1(A,B,C) R2(B,D) R3(D,E) 3NF AB→E D→E tFD 5 关系数据库

  21. FD Armstrong R( U ) xy 自反律 xy xzyz 增广律 xy yz xz 传递律 函数依赖特性 5 关系数据库

  22. FD Armstrong R(U) xy xz xyz 合并律 xy xz xyz 分解律 xy ywz xwz 伪传递律 函数依赖特性 5 关系数据库

  23. 5.2 闭包X+及其运算 闭包定义 闭包求法 闭包运用 问题 定义:X  ? 书86 5 关系数据库

  24. 5.2 闭包X+及其运算 R ( U,F ) U={A,B,C,D,E,I} F={AD,ABE,BIE,CDI,EC} ? (AE)+ AD CDI EC AEACDEI AEAE AEAC E D (AE)+=ACDEI 书86 5 关系数据库

  25. R ( U,F ) U={A,B,C,D,E,I} F={AD,ABE,BIE,CDI,EC} ? (AE)+ AEAE (AD, EC) AEACDE (CDI) AEACDEI AE决定的属性集就是 AE的闭包记为(AE)+ (AE)+=ACDEI 书86 5 关系数据库

  26. AE的闭包 ? AE决定的属性集合就是 AE的闭包. 记为: (AE)+ 求闭包就是求它所决定的属性集合 5 关系数据库

  27. R(U,F) U={A,B,C,D,E,P} F={AB,CP,EA,CED} ? (CE)+ , C+, E+ CECE (CP, EA,CED) CEACDEP (AB) CEABCDEP=U CC (CP) CCP EE (EA) EAE (AB) EABE (CE)+=U (C+!=U, E+ !=U) (C,E):CK 左部(only) CK书29 5 关系数据库

  28. 侯选关键字 CK [Candidate Key]指 它的值能决定元组值; 它的子集值不能决定元组值. 即它具备主键PK的特性. 主键PK是在侯选关键字 CK中选择. CK书29 5 关系数据库

  29. ?求侯选关键字CK方法 F Fmin 1. FD左部(only)属性一定是CK成员 2. FD左,右部属性可能是CK成员 3. 与F中FD无关属性也一定是CK成员 CK书29 5 关系数据库

  30. 1. R(U,F) U={C,G,N,S,T} F={CT,CSG, SN} ? Candidate Key 2. U={A,B,C,D,E,G} F={AB,CA,CDE,DG} ? Candidate Key 3. R(U,F) U={A,B,C,D,E} F={AD,ED,DB,BCD,DCA} ? Candidate Key 4. R(U,F) U={A,B,C,D,E} F={ABC,CDE,BD,EA}? Candidate Key CK书29 5 关系数据库

  31. 1. R(U,F) U={C,G,N,S,T} F={CT,CSG, SN} ? Candidate Key 左部(only) 是CS CK 是 CS 左部(only) CK书29 5 关系数据库

  32. 1. R(U,F) U={C,G,N,S,T} F={CT,CSG, SN} ? Candidate Key (CS)+ CSCS(CSG) (CT) (SN)CSU 即CSCSGTN CS+=U; C+=CT; S+=SN CK: CS 左部(only) CK书29 5 关系数据库

  33. 2. R(U,F) U={A,B,C,D,E,G} F={AB,CA,CDE,DG} ? Candidate Key 左部(only) CK书29 5 关系数据库

  34. 2. R(U,F) U={A,B,C,D,E,G} F={AB,CA,CDE,DG} ? Candidate Key C+,(CD)+,D+ AA (AB) AAB CC (CA) CCA( AB) CCAB CDCD (CDE)(CA) (DG) CDCDEAG ( AB)CDABCDEG=U DD (DG) DDG CK: CD CD+=U; C+=CAB; D+=DG 左部(only) CK书29 5 关系数据库

  35. 3. R(U,F) U={A,B,C,D,E} F={AD ,ED,DB,BCD,DCA} ? Candidate Key 左部(only) 是CE且(CE)+=U CK 是 CE CK书29 左部(only) 5 关系数据库

  36. 4. R(U,F) U={A,B,C,D,E} F={ABC,CDE,BD,EA} ? Candidate Key 左部(only) 无. CK 是由左,右部属性组成 左,右部属性 5 关系数据库

  37. 4. R(U,F) U={A,B,C,D,E} F={ABC,CDE,BD,EA} ? Candidate Key A+,(CD)+ , B+, E+, (BC)+ BCBC (BD) BCBCD AA (ABC) AABC ( BD) AABCD (CDE) AABCDE=U CDCD (CDE)CDCDE (EA) CDCDEA (ABC) CDABCDE=U BB (BD) BBD EE (EA)EEA (ABC)EEABC (BD) EABCDE=U CK: A, CD, E , BC 左,右部属性 5 关系数据库

  38. ?求侯选关键字CK方法 F Fmin 1. FD左部(only)属性一定是CK成员 2. FD左,右部属性可能是CK成员 3. 与F中FD无关属性也一定是CK成员 CK书29 5 关系数据库

  39. 最小函数(FD)集合 Fmin 例1、 R(U,F) U={A,B,C,D,E,G} F={ABC,CA,BCD, ACDB,DEG, BE C,CG BD, CE AG}? Fmin 函数依赖应用举例之二 求Min FD集 5 关系数据库

  40. F={ABC,CA,BCD,ACDB,DEG,BE C,CG BD,CE AG} 1.将F中FD右边属性单一化 F1={ ABC,CA,BCD,ACDB, DEG, BE C, CG BD, CE AG } CA A DE,D G, CG B, CG D, CE A, CE G } CE A 2.去掉F1左部的多余属性得F2 CE A ACD少A 5 关系数据库

  41. 2.去掉F1左部的多余属性得F2 F2={ABC,CA,BCD, CDB,DE,D G, BE C,CG B, CG  D,CE G} CG  D CG B 3、去掉F2中多余的FD 设去掉CGD (CG)+= CGBADE = U 故CG D可去掉 设去掉CG B (CG)+= CGDABE=U 故CG->B可去掉 故去掉CGD或CG->B得F3 F3比F2少一项 5 关系数据库

  42. 例2、 F={ABC , EP A , D H , AB E ,CDE P ,D G ,ABC G GP B ,HB P ,ABC P,A C } ? Fmin ABC C AB G AB P A C C F1=右部单一化 FD F2: 去掉 ABC AB  P AB  G ABC P 改为 ABC G 改为 F3:分别假设去掉AB->P和AB->G计算(AB)+ 5 关系数据库

  43. 求 Fmin 的方法 1、使F 中每一个FD右部属性单一化 2、去掉各FD左部多余的属性 若有X A 而XY A ,则Y是多余的 若有 X->Y 而XYZ A ,则Y是多余的 3、去掉多余的FD 设去掉X Y,再求X+ 若X+包含Y ,则X Y是多余 5 关系数据库

  44. 练习 F={E G , G E, F EG , H EG , FH E} ? Fmin FH E • 右部单一得F1有七项 • 去掉左部多余属性得F2有六项 • 去掉多余FD得F3有四项 Fmin ={E G , G E, F E ,H G} 5 关系数据库

  45. 最小FD集 Fmin 应满足的条件: (1)F中每一个FD的右边都是单属性 (2)F中任一FD,X A 其F-{X A}与F不等价 (即缺任何一个FD都与原F不等价) (3)F中任一个FD,X A,Z是X的子集, (F-{X A}) ∪{Z A}与F不等价 即Z X,X A无法用Z A替代 5 关系数据库

  46. 练习1F={A BC,B AC,C A} ?Fmin (1) 分解得F={A B,A C,B A, B C,C A}(2)判别每个FD 设G=F-{A B} A+G=AC G=F-{A C} A+G=ABC A C G=F-{B A} B+G =ABC B A G=F-{B C} B+G =B G=F-{C A} C+G =C 5 关系数据库

  47. 练习2 F={BE G , BD G,CDE AB, CD A , CE G,BC A, B D , C D } ?Fmin CEA CE B 5 关系数据库

  48. 作业 一、求CK? 1,3题U={A,B,C,D,E} 2题U={A,B,C,D,E,G} 1、 F={AD,ED,DB,BCD,DCA} 2、F={AB C ,D EG,C A,BD C } 3、F={E  A,CD E,B D,A BC} 二、求Fmin? 1、 F={ABD AC,C BE,AD BF,B E} 2、F={A BC,B C,A B,AB C} 5 关系数据库

  49. 5.3 关系模式分解 分解方案选择 方案选择依据 问题 5 关系数据库

  50. 例:学生宿舍表 SL ────────────────── Sno Sdept Sloc ────────────────── 95001 CS A 95002 IS B 95003 MA C 95004 IS B 95005 PH B ────────────────── 5 关系数据库

More Related