阅读 55

数据库

数据库依赖及范式

部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
例如:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。

完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
例如: 通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.

传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
例如: 通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A

1、第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项。

2、第二范式(2NF):满足第一范式,然后消除部分依赖。

3、第三范式(3NF): 满足第二范式,消除传递依赖。

     若关系模式属于第一范式,且每个属性都不传递依赖于键码,则R属于BC范式。

  通常BC范式的条件有多种等价的表述:每个非平凡依赖的左边必须包含键码;每个决定因素必须包含键码。BC范式既检查非主属性,又检查主属性。当只检查非主属性时,就成了第三范式。满足BC范式的关系都必然满足第三范式。还可以这么说:若一个关系达到了第三范式,并且它只有一个候选码,或者它的每个候选码都是单属性,则该关系自然达到BC范式

  一般,一个数据库设计符合3NF或BCNF就可以了。在BC范式以上还有第四范式、第五范式。

  第四范式:要求把同一表内的多对多关系删除。

  第五范式:从最终结构重新建立原始结构。

原文:https://www.cnblogs.com/xinyi-Conan/p/15167972.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐