数据库范式

数据库范式

范式(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. 三类完整性规则

  • 实体完整性
  • 参照完整性
  • 用户定义完整性

·