- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章要解决的两个问题 如何判断一个数据库模式是“好”的模式 如何设计出一个“好”模式? 数据冗余关系举例 [例5.1] 考虑学生选课关系模式SCE(studentNo, studentName, courseNo, courseName, score),属性集{studentNo, courseNo}是唯一候选码,也是主码。 如果允许一个学生选修多门课程,且一门课程可被多个学生选修,则该关系实例可能出现: 冗余存储:学生姓名和课程名被重复存储多次; 更新异常:当修改某学生的姓名或某课程的课程名时,可能只修改了部分副本的信息,而其他副本未被修改到; 插入异常:如果某学生没有选修课程,或某门课程未被任何学生选修时,则该学生或该课程信息不能存入数据库,因为主码值不能为空; 删除异常:当一学生的所有选修课程信息都被删除时,则该学生的信息将被丢失。对课程也是如此。 数据冗余关系举例 数据冗余产生原因及解决方法 SCE产生问题的原因 该模式中某些属性之间存在依赖关系 studentNo→studentName(即学号决定姓名) courseNo→courseName(即课程编号决定课程名称) {studentNo, courseNo}→score 解决方法 分解为三个关系模式 S(studentNo, studentName) C(courseNo, courseName) E (studentNo, courseNo, score) 模式分解导致的问题 将一个关系模式分解为较小关系模式集可解决冗余问题。但由此可能产生两个新的问题: 什么样的关系模式需要进一步分解为较小的关系模式集? 根据范式要求决定(后面讨论) 是否所有的模式分解都是有益的? 实例 模式分解问题举例 [例5.2] 设一关系模式STU (studentNo, studentName, sex, birthday, native, classNo),其中studentNo为主码。 假设将STU分解为以下两个子模式: STU1 (studentNo, studentName) STU2 (studentName, sex, birthday, native, classNo) 模式分解问题举例 模式分解问题举例 模式分解存在的问题 有损分解:两个分解后的关系通过连接运算还原得到的信息与原来关系的信息不一致。 如果能够通过连接分解后所得到的较小关系完全还原被分解关系的所有实例,称之为无损分解(lossless decomposition),也称该分解具有无损连接特性。 依赖关系丢失 sex、birthday、age、native、classNo等与属性studentNo依赖关系也就不再存在。 如果被分解关系模式上的所有依赖关系都在分解得到的关系模式上保留,称该分解为依赖保持 (dependency preserving)分解。 小结 一个“好”的关系模式应该是: 数据冗余应尽可能少 不发生插入异常、删除异常、更新异常等问题。 模式分解时,分解后的模式应具有无损连接、保持依赖等特性。 函数依赖定义 函数依赖(functional dependency, 简称FD)是一种完整性约束,是现实世界事物属性之间的一种制约关系,它广泛地存在于现实世界之中。 定义5.1 设r(R)为关系模式,??R,??R。对任意合法关系r及其中任两个元组ti和tj,i?j,若ti[?]=tj[?],则ti[?]=tj[?],则称?函数确定? 或 ? 函数依赖于?,记作???。 函数依赖举例 [例5.3] 图5-4所示的是满足函数依赖AB?C的关系模式r(A, B, C, D)的一个关系实例。 对于任意两个在属性集{A, B}上取值相同的元组,它们在属性C上的取值也相同。 函数依赖说明 对于函数依赖,需做如下说明: 函数依赖不是指关系模式r(R)的某个或某些关系实例满足的约束条件,而是指关系模式r(R)的所有关系实例均要满足的约束条件。 函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖,是不能够被证明的。 数据库设计者可以对现实世界作强制的规定。 码约束是函数依赖的一个特例。码属性(集)相当于定义5.1中的?,关系中的所有属性相当于定义5.1中的?。 平凡与非平凡函数依赖 定义5.2 在关系模式r(R)中,??R,??R。若???,但???,则称???是非平凡函数依赖。否则,若???, 则称???是平凡函数依赖。 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。 完全函数依赖和部分函数依赖 定义5.3 在关系模式r(R)中,??R,??R,且???。若对任意的???,???都不成立,则称???是完全函数依赖,简称完全依赖。否则,若存在非空的
您可能关注的文档
最近下载
- (正式版)SH∕T 3553-2024 石油化工汽轮机施工及验收规范.pdf VIP
- 电气专项施工方案.doc VIP
- 个人简历——【标准模板】.doc VIP
- 软件开发工具unsp ide使用说明书.pdf VIP
- 【课堂新坐标(教师用书)高中英语 Unit 3 Period V Culture Corner & Bulletin Board课件 北师大版必修1.ppt VIP
- 老年病多学科诊疗模式.pptx VIP
- GPX 生产手册.pdf VIP
- 老年病多学科诊疗模式.pptx VIP
- 【课堂新坐标(教师用书)高中英语 Unit 1 Lifestyles单元归纳提升课件 北师大版必修1.ppt VIP
- 新课标高中英语 教师用书配套资料 Unit1~2 阶段综合检测 北师大版必修1.doc VIP
文档评论(0)