数据库范式
范式(Normal Forms)是衡量关系模式好坏的标准。范式的种类与数据依赖有直接的联系,基于FD的范式有1NF,2NF,3NF,BCNF等多种。
1NF是关系模式的基础,2NF一般不再提及,在数据库设计中,最常用的是3NF和BCNF
一 、范式定义
1. 第一范式 1NF
如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式
满足1NF的关系称为规范化的关系,1NF是关系模式应具备的最基本的条件
2. 第二范式 2NF
如果关系模式存在局部依赖(部分函数依赖),需要把关系模式分解,排除局部依赖,使模式达到2NF的标准
如果关系模式R是1NF,且每个非主属性完全函数依赖与候选键,那么称R是第二范式(2NF)模式
不满足2NF的关系模式中必定存在非主属性对关键码的局部依赖(部分函数依赖),2NF是1NF消除非主属性对码的部分函数依赖
3. 第三范式 3NF
如果关系模式R是1NF ,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)的模式
不满足3NF的关系模式中必定存在非主属性对关键码的传递依赖,3NF是2NF消除对非主属性对码的传递函数依赖
4. BCNF
如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式
BCNF是3NF消除了主属性对码的部分函数依赖和传递函数依赖
二、其他相关定义
1. 键
超键 : 在关系中能唯一标识元组的属性集称为关系模式的超键
候选键:不含多余属性的超键,称为候选键
主键:用户选做元组标识的候选键称为主键
外键:如果模式R中的属性K是其他模式的主键,那么K在模式R中称为外键
2. 三类完整性规则
- 实体完整性
- 参照完整性
- 用户定义完整性
·