计算机软件技术基础第3章数据库系统课件.ppt

计算机软件技术基础第3章数据库系统课件.ppt

ID:56963520

大小:292.00 KB

页数:53页

时间:2020-07-22

计算机软件技术基础第3章数据库系统课件.ppt_第1页
计算机软件技术基础第3章数据库系统课件.ppt_第2页
计算机软件技术基础第3章数据库系统课件.ppt_第3页
计算机软件技术基础第3章数据库系统课件.ppt_第4页
计算机软件技术基础第3章数据库系统课件.ppt_第5页
资源描述:

《计算机软件技术基础第3章数据库系统课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.2.4关系数据库的设计问题数据库在需求分析之后是逻辑设计。数据库的逻辑设计把概念模型转换为具体DBMS能处理的数据模型,不同的数据模型,其转换规则不同。关系模式的集合是关系模型,从E-R模型向关系模型转换时,所有实体和联系都要转换成相应的关系模式。在关系数据库设计中,核心问题是关系模式的设计。问题:选择关系模式的原则是什么?如何区分关系模式的设计的好坏?实体及属性的确定3.2.4.1关系模型转换例:要求设计教学管理数据库,其关系模式SCD如下:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)其中,SNO表示学生学号,SN表示学生姓名,AGE表示学生年龄,DEP

2、T表示学生所在的系别,MN表示系主任姓名,CNO表示课程号,SCORE表示成绩。根据实际情况,这些数据有如下语义规定:1.一个系有若干个学生,但一个学生只属于一个系;2.一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;3.一个学生可以选修多门功课,每门课程可有若干学生选修;4.每个学生学习课程有一个成绩。在此关系模式中填入一部分具体的数据,则可得到SCD关系模式的实例,即一个教学管理数据库,如图所示。关系SCDSNOSNAGEDEPTMNCNOSCORES1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S

3、2钱尔18信息王平C770S2钱尔18信息王平C570S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思男自动化刘伟C193根据上述的语义规定,并分析以上关系中的数据,我们可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主关系键。但在进行数据库的操作时,会出现以下几方面的问题。1.数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。2.插入异常。如果某个新系没有招生,尚无学生时,则系名和系

4、主任的信息无法插入到数据库中。因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。3.删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也

5、随之丢失。4.更新异常。如果学生改名,则该学生的所有记录都要逐一修改SN;又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。由于存在以上问题,我们说,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。那么,怎样才能得到一个好的关系模式呢?我们把关系模式SCD分解为下面三个结构简单的关系模式,。学生关系S(SNO,SN,AGE,DEPT)选课关系SC(SNO,CNO,SCORE)系关系D(DEPT,MN)如图所示SSCSNOSNAGEDEPTSNOCN

6、OSCORES1赵亦17计算机S1C190S2钱尔18信息S1C285S3孙珊20信息S2C557S4李思21自动化S2C680S2C7DS2C570DEPTMNS3C10计算机刘伟S3C270信息王平S3C485自动化刘伟S4C193分解后的关系模式在以上三个关系模式中,实现了信息的某种程度的分离,S中存储学生基本信息,与所选课程及系主任无关;D中存储系的有关信息,与学生无关;SC中存储学生选课的信息,而与所学生及系的有关信息无关。与SCD相比,分解为三个关系模式后,数据的冗余度明显降低。当新插入一个系时,只要在关系D中添加一条记录。当某个学生尚未选课,只要在关系S中添加一条学生

7、记录,而与选课关系无关,这就避免了插入异常。当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。同时,由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。经过上述分析,我们说分解后的关系模式是一个好的关系模式。从而得出结论,一个好的关系模式应该具备以下四个条件:1.尽可能少的数据冗余。2.没有插入异常。3.没有删除异常。4.没有更新异常。但要注意,一个好的关系模式并不是在任何情况下都是最优的,比如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。