数据库设计要遵循的三种范式:
第一范式:数据库中每个字段的值都必须是原子值,即仅仅是一个简单值而不能在被划分。
怎么理解第一范式,他所说的原子值就是指每个字段已经是最小的范围,不能再被分割了,列如 [地址]字段,就不能作为字段,因为它还能被划分开来,[地址]>>>[省份][城市][街道][小区]
因为[地址]字段被划分了,所以使得这一表的数据结构更加清晰 易于查找,提高数据库性能
第二范式:
满足第一范式条件,需要确保数据库表中每一列都和主键相关
可以看出此表的数据结构非常混乱,例如数量应该只与订单编号有关,价格应该只与上平编号有关,如果此表设置订单编号为主键,则违背第二范式,所以我们要把上面这表拆成几张表并用外键进行关联,这样就为第三范式
第三范式:
需要确保数据表中的每一列数据都和主键直接相关
也就是说严格区分表与表之间的关系,也可以理解为订单就是订单,客户就是客户,订单里只能有什么,客户表里只能有什么.....如下图:
将客户编号作为外键进行多表联查