数据库范式理解例题

数据库范式理解例题

ID:27159755

大小:1.19 MB

页数:15页

时间:2018-12-01

数据库范式理解例题_第1页
数据库范式理解例题_第2页
数据库范式理解例题_第3页
数据库范式理解例题_第4页
数据库范式理解例题_第5页
资源描述:

《数据库范式理解例题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、范式分解主属性:包含在任一候选关键字中的属性称主属性。非主属性:不包含在主码中的属性称为非主属性。函数依赖:是指关系中一个或一组属性的值可以决定其它属性的值。函数依赖正象一个函数y=f(x)一样,x的值给定后,y的值也就唯一地确定了。如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant)。例:身份证号→姓名。部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X

2、’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。完全函数依赖:在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y不函数依赖于X',则称Y对X完全函数依赖。否则称Y对X部分函数依赖。【例】;举个例子就明白了。假设一个学生有几个属性SNO学号SNAME姓名SDEPT系SAGE年龄CNO班级号G成绩对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO,CNO),因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。而SAGE部分函数依赖于(SNO,CNO)

3、,因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。传递函数依赖:设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。如果X->Y,Y->Z,则称Z对X传递函数依赖。计算X+ (属性的闭包) 算法:      a.初始化,令X+ = X;       b.在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令 X+ = X+∪“右边属性集”, 并为访问过的函数依赖设置标记。      c.反复

4、执行b直到X+不改变为止。检验给定的任意函数依赖A1A2...An->B是否蕴含于依赖集S:分析:根据属性集闭包的定义,可知A1A2...An->{A1,A2,...,An}+蕴含于S。只要证明B在{A1,A2,....,An}+中,那么函数依赖A1A2...An->B肯定蕴含于依赖集S中求解过程:(1)利用依赖集计算闭包(2)如果B在闭包中,则函数依赖A1A2...An->B是否蕴含于依赖集S,否则不蕴含于S【例】总结:  判定函数依赖X→Y是否能由F导出的问题,         可转化为求X+并判定Y是否是X+子集的问题

5、。         即求F闭包的问题可转化为求属性集闭包的问题。函数依赖的闭包:定义:若F为关系模式R(U)的函数依赖集,我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+求函数依赖闭包,基于函数依赖推理规则函数依赖推理规则:若XY->Z,则X->Z,Y->z(错)正确的:若X->Y,则XZ->YZ若X->Y,X->Z,则X->YZ若X->Y,Z属于Y,则X->Z若X->Y,Y->Z,则X->Z若X->YZ,则X->Y,X->Z//可以把每个函数依赖的右边的属性分解,从而使其右边只出现一个属性伪传递率:若A-

6、>B,BC->D,则AC->D范式第一范式(1NF):属性,属性值,字段不可分就是无重复的列不满足1NF的数据库就不是关系数据库【例】:第二范式(2NF):符合1NF,每一个非主属性完全依赖于码,不能存在部分依赖,有主键,非主键字段依赖主键;唯一性一个表只说明一个事物;【例】:不符合第二范式的例子:表:学号,姓名,年龄,课程名称,成绩,学分;这个表明显说明了两个事务:学生信息,课程信息;存在问题:数据冗余,每条记录都含有相同信息;删除异常:删除所有学生成绩,就把课程信息全删除了;插入异常:学生未选课,无法记录进数据库;更新异

7、常:调整课程学分,所有行都调整。修正:学生:Student(学号,姓名,年龄);课程:Course(课程名称,学分);选课关系:SelectCourse(学号,课程名称,成绩)。满足第2范式只消除了插入异常。第三范式(3NF):符合2NF,并且,消除传递依赖,非主键字段不能相互依赖;每列都与主键有直接关系,不存在传递依赖;若所有的属性都是主属性,则属于第三范式要求一个数据库表中不包含已在其它表中已包含的非主关键字信息【例】:不符合第三范式的例子:学号,姓名,年龄,所在学院,学院联系电话,关键字为单一关键字"学号";存在依赖传

8、递:(学号)→(所在学院)→(学院地点,学院电话)存在问题:数据冗余:有重复值;更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况删除异常修正:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。总结:1nf:不可分2nf:一个表说明一个事物,

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

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

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