- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03第2章 关系数据库基本原理(2.3)
2.3 关系模式的分解 在关系数据库系统中,如何设计一个适合的关系数据库系统,关键是关系数据库模式的设计,一个好的关系数据库模式应该包括多少关系模式,而每一个关系模式又应该包括哪些属性,又如何将这些相互关联的关系模式组建一个适合的关系模型,这些工作决定了到整个系统运行的效率,也是系统成败的关键所在,所以必须在关系数据库的规范化理论的指导下逐步完成。 2.3 关系模式的分解 关系数据库的规范化理论主要包括三个方面的内容: 函数依赖 范式(Normal Form) 模式设计 其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。 2.3 关系模式的分解 什么是好的关系模式? 某些不好的关系模式可能导致哪些问题? 下面通过例子进行分析: 2.3 关系模式的分解 根据实际情况,这些数据有如下语义规定: 一个系有若干个学生,但一个学生只属于一个系; 一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任; 一个学生可以选修多门功课,每门课程可有若干学生选修; 每个学生学习课程有一个成绩。 2.3 关系模式的分解 在此关系模式中填入一部分具体的数据,则可得到SCD关系模式的实例,即一个教学管理数据库,如下表所示。 2.3 关系模式的分解 根据上述的语义规定,并分析以上关系中的数据,我们可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主键。但在进行数据库的操作时,会出现以下几方面的问题。 数据冗余 每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。 2.3 关系模式的分解 插入异常 如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。 因为在这个关系模式中,(SNO,CNO)是主键。根据关系的实体完整性约束,主键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。 另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主键的值不能部分为空,同样不能进行插入操作。 2.3 关系模式的分解 删除异常 某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任信息也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。 另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。 2.3 关系模式的分解 更新异常 如果学生改名,则该学生的所有记录都要逐一修改SN字段; 又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。 函数依赖是关系模式中属性之间的一种逻辑依赖关系。函数依赖只能根据语义来确定。 例如在上面介绍的关系模式SCD中,SNO与SN、AGE、DEPT之间都有一种依赖关系。 由于一个SNO只对应一个学生,而一个学生只能属于一个系,所以当SNO的值确定之后,SN,AGE,DEPT的值也随之被唯一的确定了。 这类似于变量之间的单值函数关系。设单值函数Y=F(X),自变量X的值可以决定一个唯一的函数值Y。 我们说SNO决定函数(SN,AGE,DEPT),或者说(SN,AGE,DEPT)函数依赖于SNO。 定义1:设有关系模式R(U),U={A1,A2,A3,…,An}是属性集合,r是R的任一具体关系,X和Y是U的子集。r中任意两个元组在X上的属性值相等,在Y上的属性值也相等,则称X函数决定Y,或Y函数依赖于X,记作X→Y。 对于关系模式SCD U={SNO,SN,AGE,DEPT,MN,CNO,SCORE} SNO→SN,SNO→AGE,SNO→DEPT,DEPT→MN (SNO,CNO)→SCORE。 定义2:设关系模式R(U),U是属性集,X和Y是U的子集。 如果X→Y,并且对于X的任何一个真子集X1,都有 X1 Y,则称Y对X完全函数依赖,记作X Y。 如果X→Y,如果对X的某个真子集X1,有X1→Y,则称Y对X部分函数依赖,记作X Y。 例如,在关系模式SCD中,因为SNO SCORE,且 CNO SCORE,所以有:(SNO,CNO) SCORE 。 而SNO→AGE,所以(SNO,CNO) AGE。 由定义可知: 只有当决定因素是组合属性时,部分函数依赖才有意义, 当决定因素是单属性时,只能是完全函数依赖。 例如,
您可能关注的文档
- 2016银行从业资格考试 个人理财 章必考考点总结.doc
- 2016高考地理知识结构要点概括与高考倒计时高效率语文懒人学习法合集.doc
- 2016部队司机个人年终工作总结与部队炊事员个人年终工作总结范文多篇.doc
- 2016高考作文题精准预测及点评集锦.doc
- 2017新教材一年级语文下册教案表格式备课.doc
- 三严三实学习篇发挥自身作用学习心得与2015党章考试试题及答案合集.doc
- 乡镇2015依法行政工作总结与2015年学校宣传工作总结合集.doc
- 住建局2015精神文明建设工作要点范文汇编.doc
- 中学2015工作总结和2016工作计划.doc
- 医院2015三严三实主题演讲稿与2015年师德师风演讲稿合集.doc
文档评论(0)