首页 > 代码库 > mySQl

mySQl

/*[数据库设计的三大范式]
1、第一范式 (1NF):数据表中的每一列,必须是不可拆分的最小单元,也就是确保每一字段
不可再分;
例如: userInfo : ‘山东省烟台市 188877677‘
userAds : ‘山东省烟台市‘
phone : ‘188877677‘
2、第二范式 (2NF):
满足1NF后,要求:表中的所有列,都要依赖于主键,而不能有任何一列与主键没有关系(一个表只描述一件事情)
例如:订单表,只能描述订单相关的信息,所以所有的字段都必须与订单ID相关
产品表, 只能描述产品相关的信息,所以所有的字段都必须与产品ID相关
3、第三范式(3NF)
满足2NF后,要求表中的所有字段只与主键直接相关,而不是间接相关;(表中的每一列只能依赖于主键)

例如: 订单表中需要有客户相关信息,在分离出客户表之后,订单表中,只需要有一个用户ID即可
而不能有其他的客户信息;

[第二范式与第三范式的本质区别]
在于有没有分出两张表,第二范式是说一张表中包含了多种不同实体的属性,那么必须要分成多张表
第三范式要求,已经分好了多张表的话,那么,一张表中只能有另一张表中的ID(主键),而不能有
任何其他的信息(其他的任何信息,一律用主键在另一表查询)
*/

 

mySQl