现代殡葬技术与管理专业群课程主题 数据规范化与函数依赖.pptx

现代殡葬技术与管理专业群课程主题 数据规范化与函数依赖.pptx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;关系数据库设计的问题

数据冗余

插入异常

更新异常

删除异常

;数据库设计规范化;函数依赖

对于函数关系y=f(x),在x的值确定的情况下,y的值一定是确定的,那么就可以说Y函数依赖于X,写作X→Y。

;部分函数依赖

设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。部分函数依赖的前提是主键是由多个属性构成的组合键。

;第一范式(1NF)是指在关系模型中,所有行和所有的列都应该是原子性的,即数据库表的每一行和每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。

关系数据库都必须满足第一范式

上表不符合第一范式(因为班级列和课程列以及行都不是原子的)

;学号;第二范式就是在第一范式的基础上非主属性完全依赖于码

如果一个关系满足第一范式,且码为单字段的话,它就一定符合第二范式

在1NF基础上消除非主属性对码的部分函数依赖

码(学号,课程编号)→(姓名|性别|出生日期|班级编号|班级名称|导师姓名|课程名称|成绩)

部分函数依赖:学号→(姓名|性别|出生日期|班级编号|班级名称|导师姓名)

部分函数依赖:课程编号→(课程名称,学分)

;拆分后的三个关系都满足第二范式;存在问题

插入异常:无法插入一个不存在学生的班级

删除异常:删除全部学生记录,班级信息不再存在

数据冗余:班级信息冗余

更新复杂:在存在多名学生情况下,更新班级信息,需要更新多行记录

问题的原因,在于仍然存在非主属性班级信息对于码学号的传递函数依赖。;在满足2NF的基础之上,消除了非主属性对于码的传递函数依赖,就满足第三范式。

如果存在非主属性对于码的传递函数依赖,则不符合3NF的要求。

码为学号

学号→姓名|性别|出生日期|班级编号|班级名称|导师姓名

传递依赖:学号→班级编号→班级名称|导师姓名

拆分:将传递依赖于码的非主属性与非主属性直接依赖的非主属性分离出来成一个新表。

;

数据库设计都应该满足第三范式;BCNF是在在3NF基础上消除主属性对码的部分或传递的依赖

BCNF是3NF的一个子集,满足BCNF必须满足3NF

BCNF只是对2NF与3NF中设计规范要求更强,是对3NF的修正,使数据库冗余度更小。

下表,假设一个管理员只在一个仓库工作,一个仓库只能有一个管理员

码:(仓库名,物品名)或(管理员名,物品名)

主属性:仓库名、管理员、物品名

(仓库名,物品名)?数量(管理员,物品名)?数量

仓库名?管理员管理员?仓库名

不存在非主属性对码的部分函数依赖和传递函数依赖,属于3NF.

;插入异常

如果没有物品,无法增加仓库或管理员

删除异常

如果删除全部物品,则仓库和管理员信息也不存在

更新异常

如果某个仓库更换管理员,则该仓库的全部物品记录都要更新

;总结;

文档评论(0)

方世玉 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档