资源描述:
《最新6关系数据理论教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6关系数据理论内容概述定义:关系数据库设计理论就是借助于数学工具规定了一整套的关系数据库设计理论和方法。关系模型(第一篇关系数据库基础理论)关系数据库(第二篇关系数据库设计与应用开发)设计如何选择一个比较好的关系模式的集合,每个关系又应该由哪些属性组成。(关系数据理论要解决的问题)案例分析设某学校教学所需管理的信息有:课程号,课程名,学号,学生姓名,学生所在系,系主任,成绩等。一个系有若干个学生,但一个学生只属于一个系;一个学生可以选修多门功课,每门课程可有若干学生选修,每个学生学习课程有一个成绩。根据以上要求设计教学管理数据库:关系模
2、式1:SCD(学号,学生姓名,学生所在系,系主任,课程号,课程名,成绩)关系模式2:S1(学号,学生姓名,学生所在系,系主任)S2(学生姓名,课程名,成绩)选择哪一种更好?(1)数据冗余系名和系主任的名字、学生的姓名、年龄也都要重复存储多次。学号姓名年龄部门系主任课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思19自
3、动化刘伟C193存储次数=∑每个学生选修课程门数(1000*10)数据的冗余度很大,浪费了存储空间。(2)插入异常在这个关系模式中,(学号,课程号)是主关键字。根据关系的实体完整性约束,主关键字的值不能为空,而这时没有学生,学号,课程号均无值,因此导致插入异常。学号姓名年龄部门系主任课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C
4、485S4李思19自动化刘伟C193s5刘一己18nullnullnullnull?(3)删除异常信息系学生全部毕业而没有招生时,需要删除全部学生的记录出现的问题:系名、系主任随之删除,而这个系依然存在,在数据库中却无法找到该系的信息,导致删除异常学号姓名年龄部门系主任课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思
5、男自动化刘伟C193信息王平(4)更新异常某系更换系主任,则属于该系的学生记录都要修改内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏数据的完整性,导致更新异常。学号姓名年龄部门系主任课程号成绩S1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思男自动化刘伟C193王刚王刚王刚王刚王刚6.1关系模式的存储异常问
6、题一个不好的关系模式可能存在以下问题:数据冗余插入异常删除异常更新异常Why(为什么要进行选择)6.2怎么选择一个好的关系模式应该具备以下条件:尽可能小的数据冗余没有插入异常没有删除异常没有更新异常案例分析SCD(学号,姓名,年龄,部门,系主任,课程号,成绩)把关系模式SCD分解为下面三个结构简单的关系模式。学生关系S(学号,姓名,年龄,系别)选课关系SC(学号,课程号,成绩)系关系D(系名,系主任)改进的SCD学生关系SSNOSNAGEDEPTSNOCNOSCORES1赵亦17计算机S1C190S2钱尔18信息S1C285S3孙珊20
7、信息S2C557S4李思21自动化S2C680S2C7S2C570S3C10S3C270S3C485DEPTMN计算机刘伟信息王平自动化刘伟选课关系SC系关系D改进的SCD特点SNOSNAGEDEPTS1赵亦17计算机S2钱尔18信息S3孙珊20信息S4李思21自动化DEPTMN计算机刘伟信息王平自动化刘伟SNOCNOSCORES1C190S1C285S2C557S2C680S2C7S2C570分解为三个关系模式后,其特点:当新插入一个系时,只要在关系D中添加一条记录,数据的冗余度明显降低当某个学生尚未选课,只要在关系S中添加一条学生记
8、录,而与选课关系无关,这就避免了插入异常。当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。由于数据冗余度的降低,数据没有重复存储,也不会引