范式调整

pull/1/head
liruyu 3 years ago
parent 982d0d04c1
commit d06103130f

@ -6,21 +6,6 @@
# 数据库范式
- **1NF**:所有字段值都是不可分解的原子值
- **2NF**:确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关
- **3NF**:确保数据表中的每一列数据都和主键直接相关,而不能间接相关
- **BCNF**:并且主属性不依赖于主属性
- **第四范式4NF**:要求把同一表内的多对多关系删除
- **第五范式5NF**:从最终结构重新建立原始结构
> 四种范式之间的关系:
>
> 1NF→2NF消去非主属性对键的部分函数依赖
>
> 2NF→3NF消去非主属性对键的传递函数依赖
>
> 3NF→BCNF消去主属性对键的传递函数依赖
## 第一范式(1NF)
**所有字段的值都是不可分解的原子值**。即实体中的某个属性有多个值时,必须拆分为不同的属性。例如:
@ -137,7 +122,7 @@
## 巴斯-科德范式BCNF
在3NF基础上**消除主属性之间的传递函数依赖**,即存在多个主属性时,**主属性不依赖于主属性**。例如:
在3NF基础上**主属性之间不存在部分或传递依赖**。例如:
**配件表**
@ -183,9 +168,9 @@
## 第四范式4NF
满足第三范式3NF的前提下表中不能包含一个实体的两个或多个互相独立的多值因子
BCNF基础上**需要消除多对多关系**
当一个表中非主属性相互独立时(即在 3NF 基础上),这些非主属性不应该有`多值`。即表中不能包含一个实体的两个或多个互相独立的多值因子。例如:
例如:
**客户联系方式**

Loading…
Cancel
Save