0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# 13 MySQL数据库三范式

第一范式

第一范式(1NF):原子性,字段不可分

1、第一范式的列应该是原子性的,不可在分割的,不可拆解的。简单来说,就是在设计数据库时,数据库得列是不可分割的原子数据项,为不能是集合,数组,记录等,非原子数据项,如果实体中的某一个属性有多个值,必须拆分为有多个属性,通俗理解就是一个字段,只能存储一项信息。

2、列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据


  • 错误

联系

老王、1381234**、北京

  • 正确

名字

电话

地点

老王

1381234**

北京


第二范式

第二范式(2NF):唯一性,一个表只能说明一个事务,有主键,非主键字段依赖主键

1、第二范式就是在第一范式的基础上建立出来的,第二范式(2NF)要求数据库得表中每个实例或者行必须可以唯一的被区分,为实现区分,通常会设计一个主键来帮助实现。如果存在多个主键,就不可以存在这样的属性,它只能依赖于一个主键,这样就是不符合第二范式。通俗讲就是任意一个字段都只依赖表中的同一个字段。

2、每一行的数据只能与其中的一列相关,即一行的数据只做一件事,如果表中出现重复的数据就要把它拆分出来。

  • 错误

#yyds干货盘点# 13 MySQL数据库三范式_字段

#yyds干货盘点# 13 MySQL数据库三范式_字段_02

  • 正确

#yyds干货盘点# 13 MySQL数据库三范式_主键_03

第三范式

第三范式(NF):创建第三范式的前提就是必须先要建立第二范式

1、简单说就是非主键字段不能相互依赖,属性需要直接依赖于主键。

2、第三范式就是要求表中不能有其他表中存在的、存储相同信息的字段,通常实现是在通过外键去建立关联,因此第三范式只要记住外键约束就好了。


  • 错误

订单编号

订单日期

用户编号

用户名

用户年龄

用户性别

1001

2020-03-01 12:39:54

2001

老王

38

  • 正确

订单表

订单编号

订单日期

用户编号

1001

2020-03-01 12:39:54

2001

用户表

用户编号

用户名

用户年龄

用户性别

2001

老王

38



举报

相关推荐

0 条评论