一.第一范式1NF

1.含义

数据表中的所有字段都是不可分割的原子值。

2.建表

MySQL第四天

3.传值

MySQL第四天

4.查表

MySQL第四天
address字段值还可以继续拆分,就不满足第一范式。

5.重新建表

地址一栏更正为多个不可拆分的字段。国家、省份、市、详细地址。
MySQL第四天

7.插入数据

MySQL第四天

8.查表

地址栏满足第一范式
MySQL第四天
注意:设计的越详细,对于某些实际操作可能有好处,但是可能也有坏处。所以具体如何设计,应该从需求出发。

二.第二范式

1.定义:

在满足第一范式的前提下,第二范式要求,除主键外的每一列都必须完全依赖于主键。
如果是出现不完全依赖,只可能发生在联合主键的情况下,这种情况就不满足第二范式。

2.建表

project_id和customer_id为联合主键。
project_name不依赖于主键customer_id
customer_name不依赖于主键project_id
所以不满足第二范式。
MySQL第四天

3.解决问题

解决方式:拆表。分成三个表后,就满足了第二范式的设计。
MySQL第四天

三.第三范式3NF

1.内容

必须满足第二范式,除开主键列的其他列之间不能有传递依赖关系。

2.反例

customer_phone与customer_id有传递依赖关系。
MySQL第四天

3.解决

拆表
MySQL第四天

MySQL第四天

相关文章:

猜你喜欢
  • 2021-10-06
  • 2021-04-25
  • 2021-09-23
  • 2021-08-01
  • 2021-11-23
  • 2021-09-03
相关资源
相似解决方案