数据库设计范式

146 阅读1分钟

数据库范式化设计

1、第一范式

  • 数据库表中的所有字段都只具有单一属性
  • 第一属性的列是由基本的数据类型所构成
  • 设计出来的表都是简单的二维表

2、第二范式

  • 要求一个表中只具有一个业务主键,也就是说符合第二范式的表中不能存在非主键列只对部分主键的依赖关系

3、第三范式

  • 指每一个非主属性既不部分依赖于也不传递依赖于业务主键,也就是在第二范式的基础上消除了非主属性对主键的传递依赖

反范式化设计

  • 反范式化是针对范式化而言的,所谓的反范式化就是为了性能和读取效率的考虑,而适当的对数据库设计范式的要求进行违反,而允许存在少量的数据冗余,换句话来说反范式化就是使用空间来换取时间