- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与设计 数据库原理与设计 第3章 关系数据理论 数据库原理与设计 第3章 关系数据理论 关系模式设计中的问题 函 数 依 赖 范 式 关系模式的规范化 设计任何一种数据库应用系统,不管是层次的、网状的、还是关系的,都会遇到如何构造合适的数据模式即逻辑结构的问题。即应该构造几个关系,每个关系有哪些属性组成,由于关系模型有严格的数学理论基础,并且可向别的数据模型转换,因此人们以关系模型为背景,形成了数据库逻辑设计的一个有力工具——关系数据库的规范化理论。 数据库原理与设计 复习 关系 笛卡尔积 元组 属性 R(U,D,DOM,F) 五元组 当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系。 注:关系是关系模式在某一时刻的状态和内容。关系模式是静态的、稳定的,关系是动态的,可能随时间而不同,但它们必须满足F所指定的约束条件。 数据库原理与设计 3.1 关系模式设计中的问题 3.1.1 规范化理论的主要内容 关系数据库的规范化理论主要包括三个方面的内容: 函数依赖、范式和模式设计。 其中函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。 数据库原理与设计 3.1.2 关系模式的操作异常 例3-1 要求设计学籍管理数据库,其关系模式SMD如下。 SMD(SNo,SName,SAge,CLno,MN,CNo,Score) 根据上述的语义规定并分析以上关系中的数据,可以看出,(SNo,CNo)属性的组合能唯一标识一个元组,所以(SNo,CNo)是该关系模式的主码,但在进行数据库的操作时,会出现以下几方面的问题。 数据库原理与设计 3.1.2 关系模式的操作异常 (2) (1)数据冗余。每个班级编号和班主任名字的存储次数等于该班的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。 (2)插入异常。如果某个新班暂无学生注册,则关于班级信息和班主任的信息无法插入到数据库中。因为在这个关系模式中,(SNo,CNo)是主码,根据关系的实体完整性约束,主码的值不能为空,而这时没有学生,SNo和CNo均无值,因此不能进行插入操作。另外,如果某个学生尚未选课,即CNo未知,实体完整性约束还规定,主码的值不能部分为空,同样也不能进行插入操作。 (3)删除异常。当某班学生全部毕业时,要删除全部学生的记录,这时班级编号、班主任也随之删除,而现实中这个班的班主任依然存在,但在数据库中却无法找到相应的信息。另外,如果某个学生本学期只选修一门课程00005,当他不再选修该课程时,本应该只删去课程信息00005,但00005是主关系键的一部分,为保证实体体完整性,必须将整个元组一起删掉,这样,有关该学生的其他信息也随之丢失。 (4)更新异常。如果某学生改名,则该学生的所有记录要要逐一修改SName的值;又如某班更换班主任,则属于该班的学生记录都要修改班主任的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致,破坏了数据的完整性。 数据库原理与设计 一个好的关系模式应该具备4个条件 ① 尽可能少的数据冗余; ② 没有插入异常; ③ 没有删除异常; ④ 没有更新异常。 但要注意,一个好的关系模式并不是在任何情况下都是最优的。比如查询某个学生选修课程名及所在班的班主任时,要通过连接,而连接所需要的系统开销非常大。因此要以实际设计的目标出发进行设计。 数据库原理与设计 3.2 函 数 依 赖 Y=X+5 确定的映象关系 Example 1:R{Sno,Sname,Sdept} F={Sno→Sname,Sno→Sdept} Example 2:R{Sno,Sdept,Mname,Cname, Grade} F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade} 数据库原理与设计 分析 数据冗余 规范化理论正是用来改造关系 更新异常 模式,通过分解关系模来消除其 插入异常 中不合适的数据依赖,使之成为 删除异常 一个“好”模式 分解后: S(SNO,SDEPT,SNO→SDEPT) SG(SNO,CNAME,G,(SNO,CNAME)→G) DEPT(SDEPT,MNAME,SDEPT→MNAME) 模式存在
文档评论(0)