数据库三大范式

数据库三大设计范式

第一范式(1NF)

'''第一范式书面话:必须保证数据库表的每一列都是不可分割的基本数据项
大白话:必须保证每张表的每个列都不可再分的
'''
总表:订单号、订单日期、顾客编号、顾客名字、顾客地址所在城市(地址、城市)、联系电话、商品编号、商品名、商品价格
按照第一范式分表:
1NF->表:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话、商品编号、商品名、商品价格

第二范式(2NF)

'''第二范式书面话:必须满足第一范式
                保证每一行都要有唯一标识存在,
                这个唯一属性列被称为主关键字或主键、主码。
                实体的属性完全依赖于主关键字。
大白话:必须满足第一范式,必须保证每张表内都有主键,且非主键字段必须依赖主键字段
'''
1NF->表:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话、商品编号、商品名、商品价格
按照第二范式分表:
2NF->表1:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话
    表2:订单号、订单日期、商品编号、商品名、商品价格

第三范式(3NF)

'''第三范式书面话:关系模型满足第二范式,所有非主属性对任何候选关键字都不存在传递依赖。
大白话:必须满足第二范式,必须保证表内的每一列都是与主键存在直接联系的。
'''
2NF->表1:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话
    表2:订单号、订单日期、商品编号、商品名、商品价格
按照第三范式分表:
3NF->表1:订单号、订单日期、顾客编号
    表2:顾客编号、顾客名字、地址、城市、联系电话
    表3:订单号、订单日期、商品编号
    表4:商品编号、商品名、商品价格
原文地址:https://www.cnblogs.com/bk134/p/13033761.html