数据库表设计原则

数据库三范式: *

第一范式(1NF):

数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。(保持数据的原子性)

第二范式(2NF):

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

第三范式(3NF):

首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。即没个属性都跟主键有直接关系而不是间接关系。

数据库多表之间建表原则

一对多的关系

例如:商品表和商品分类表,一个分类对应多个商品,
建表原则:在‘多’的一方添加一个外键,指向‘一’的一方的主键。

多对多的关系

例如:单管理数据库当中“产品”表和“订单”表之间的关系。单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。
建表原则:: 建立一张中间表,将多对多的关系,拆分成一对多的关系,中间表至少要有两个外键,分别指向原来的那两张表

一对一的关系

例如:班级和班长,一个班级对应一个班长。
建表原则:
-将一对一的情况,当作是一对多情况处理,在任意一张表添加一个外键,并且这个外键要唯一,指向另外一张表
-直接将两张表合并成一张表
-将两张表的主键建立起连接,让两张表里面主键相等

猜你喜欢

转载自blog.csdn.net/weixin_42731928/article/details/85846391