博客
关于我
数据库——关系范式
阅读量:685 次
发布时间:2019-03-17

本文共 389 字,大约阅读时间需要 1 分钟。

关系范式

超键、候选键、主键

超键:在关系中能唯一标识元组的属性集称为关系模式的超键。超键可以是单个候选键或是其他属性的集合。

候选键:候选键是最小的超键,可以有多个候选键。主属性是任何一个候选键中的属性。
主键:在多个候选键中选择一个作为主键。

函数依赖、部分依赖、传递依赖

函数依赖:一组属性的值可以决定另一组属性的值,候选键均可。

部分依赖:由包含多个属性的主键中的一个候选键来确定其他非主属性。
传递依赖:如果A属性确定B属性,且B属性唯一对应C属性,则C对A具有传递函数依赖。

范式

1NF:关系中每一分量不可再分,不能以集合或序列形式作为属性。

2NF:在1NF基础上,消除非主属性对键的部分依赖,可以通过拆分表实现。
3NF:在2NF基础上,消除非主属性对键的传递依赖。
BCNF:对于关系模式R,如果每一个函数依赖的决定因素都包含键,则R属于BCNF范式。

参考

转载地址:http://qqzhz.baihongyu.com/

你可能感兴趣的文章
Python 中只有一个 True 和一个 False 对象吗?
查看>>
python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
查看>>
Python 中多线程与多处理之间的区别
查看>>
Python 中如何使用 lambda 函数
查看>>
Python 中如何创建多行字符串?
查看>>
Python 中如何处理异常?
查看>>
Python 中如何实现列表的切片?
查看>>
Python 中如何实现字典的排序?
查看>>
Python 中常用的数据类型及相关操作详解
查看>>
python 中文乱码
查看>>
Python 中生成器与普通函数的区别
查看>>
Python 中的 *tuple 和 **dict 是什么意思?
查看>>
Python 中的 filter() 函数:筛选可迭代对象元素
查看>>
Python 中的 Pillow 不允许我打开图像(“超出限制“)
查看>>
Python 中的 threading 模块和 multiprocessing 模块有何区别?
查看>>
Python 中的 threading 模块和 multiprocessing 模块有何区别?
查看>>
Python 中的 Turtle 库详解
查看>>
Python 中的 __slots__ 属性有什么作用?
查看>>
Python 中的... 三点、箭头(->)、/ 分别的作用
查看>>
python读取json数据的id_python处理JSON数据
查看>>