DatabaseTechnology&ItsApplication数据库技术与应用关系数据理论DatabaseTechnology&ItsApplication第六章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统6.4模式的分解6.5小结DatabaseTechnology&ItsApplication关系模式的评价关系数据库设计的核心:关系模式设计关系模式的设计按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。关系模式优劣,如何评价,如何改进?解法一问题分析SnoCnoTnoSnameGradeCnameTnameS1C1T1赵民90OS彭S1C2T2赵民90DS杨S1C3T3赵民85C++刘S1C4T4赵民87DB张S2C1T4李军90OS张S3C1T4陈江75OS张S3C2T2陈江70DS杨S3C4T4陈江56DB张S4C1T1魏致90OS彭S4C2T2魏致85DS杨S5C1T1乔远95OS彭S5C4T4乔远80DB张●冗余度高●修改困难●插入问题●删除问题解一:sct(sno,cno,tno,sname,grade,cname,tname)解二:students(sno,sname)courses(cno,tno,cname)teachers(tno,cno,tname)enrolls(sno,cno,grade)解三:students(sno,sname)courses(cno,cname)teachers(tno,tname)enrolls(sno,cno,grade)teaching(tno,cno)分解关系★解决问题的方法:★产生问题的原因属性间约束关系(即数据间的依赖关系)太强SnoSnameS1赵民S2李军S3陈江S4魏致S5乔远StudentsCnoCnameC1OSC2DSC3C++C4DBCoursesSnoCnoGradeS1C190S1C290S1C385S1C487S2C190S3C175S3C270S3C456S4C190S4C285S5C195S5C480EnrollsCnoCnameT1彭T2杨T3刘T4张TeachersTeachingCnoTnoC1T1C1T4C2T2C3T3C4T4冗余度高、修改困难、插入问题、删除问题:已不存在DatabaseTechnology&ItsApplication关系数据库设计中出现的问题优秀的数据库设计是应用成功的基石关系数据库设计需要找到一个“好”的数据模式,“不好”的数据模式会导致:信息重复.无法表达确定的信息.设计目标:避免数据冗余避免数据更新时的各种异常DatabaseTechnology&ItsApplication目标:如何设计一套理论来判断一个关系模式R是否是“好”模式如果一个关系模式R不是“好”模式的话,就将它分解成多个模式的集合{R1,R2,...,Rn},从而保证每个模式是“好”模式,并且分解是无损连接的理论依据数据依赖:函数依赖、多值依赖范式(NF)DatabaseTechnology&ItsApplication第六章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统*6.4模式的分解6.5小结DatabaseTechnology&ItsAppl...