浅谈数据库范式
来源:互联网 发布:幸运转盘的php源码 编辑:程序博客网 时间:2024/06/07 21:57
一、相关概念
超键(super key):能唯一标识元组的属性集。
候选键(candidate key):不含有多余属性的超键(最小的超键)。
主键(primary key):选作元组标识的一个候选键。
外键(foreign key):如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键,则该属性集是关系模式R1的外键。
主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。
非主属性:一个属性没有在任何候选码中出现过,这个属性就是非主属性。
二、六大范式
1、1NF
每个属性值都是不可再分的最小数据单位(原子性)。
2、2NF
如果关系模式R是1NF,而且每一个非主属性都完全依赖于R的候选键,则R为2NF。
1NF消除非主属性对候选键的部分函数依赖=>2NF
性质:不存在非主属性对候选键的部分依赖。
3、3NF
如果关系模式R是2NF,而且每一个非主属性都不传递依赖于R的任何候选键,则R是3NF。
2NF消除非主属性对键的传递函数依赖=>3NF
性质:不存在非主属性对候选键的部分和传递依赖。
4、BCNF
如果关系模式R是1NF,如果对R中的每个属性(包括主属性、非主属性),不存在对键的传递或部分依赖,则R是BCNF。
3NF消除主属性对键的部分和传递函数依赖=>BCNF
性质:不存在属性(主属性,非主属性)对候选键的传递和部分依赖。
BCNF包含3NF,3NF包含2NF,2NF包含1NF。
一般一个数据库设计符合3NF或BCNF就可以了。
5、4NF
把同一表内的多对多关系删除。
BCNF消除非平凡且非函数依赖的多值依赖=>4NF
6、5NF
4NF消除非平凡连接依赖=>5NF
- 浅谈数据库范式
- 数据库三大范式浅谈
- 浅谈数据库五大范式
- 浅谈范式
- 数据库范式 三范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库范式
- 数据库---范式
- 数据库范式
- 数据库范式
- 数据库范式
- 网络编程_网络模型概述和图解
- Abnormal Ball, I found you die: Easy Algorithms in pseudo-code
- KMP算法next数组生成中k=next[k]解释
- CentOS Apache配置详解
- 解决Ubuntu下耳机没有声音的问题
- 浅谈数据库范式
- Two-phase commit(2PC) 协议介绍/以及疑问
- 新手常见杨辉三角,斐波那契数列,百元百鸡求法
- Discuz!开发之模板制作CSS扩展规范与语法规范
- C++重载之转换构造函数与类型转换函数
- linux基础2-5使用逻辑卷管理器管理灵活存储
- 简单模拟
- linux基础2-6文本处理工具
- ubiqua 2.0 破解版 zigbee 协议分析软件加密与验证机制,破解可行性的思考