0
点赞
收藏
分享

微信扫一扫

MySql 三大范式和五大约束


文章目录

  • ​​1、三大范式​​
  • ​​1.1 第一范式(1NF)​​
  • ​​1.2 第二范式(2NF)​​
  • ​​1.3 第三范式(3NF)​​
  • ​​1.4 范式的区分方法​​
  • ​​2、五大约束​​

1、三大范式

什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法,以下就是对这三个范式的基本介绍:

1.1 第一范式(1NF)

数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性

1.2 第二范式(2NF)

消除部分依赖,满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情

1.3 第三范式(3NF)

消除传递依赖,必须先满足第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键

1.4 范式的区分方法

  1. 第二范式与第三范式的本质区别:在于有没有分出两张表。
    第二范式是说一张表中包含了多种不同实体的属性,那么必须要分成多张表,第三范式是要求已经分好了多张表的话,一张表中只能有另一张标的ID,而不能有其他任何信息,(其他任何信息,一律用主键在另一张表中查询)。
  2. 必须先满足第一范式才能满足第二范式,必须同时满足第一第二范式才能满足第三范式。
    三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库。

2、五大约束

数据库中的五大约束包括:

  1. 主键约束(Primay Key Coustraint) 唯一性,非空性;
  2. 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个;
  3. 默认约束 (Default Counstraint) 该数据的默认值;
  4. 外键约束 (Foreign Key Counstraint) 需要建立两表间的关系;
  5. 非空约束(Not Null Counstraint):设置非空约束,该字段不能为空。

举报

相关推荐

0 条评论