数据库三大设计范式
第一范式(1NF)
'''第一范式书面话:必须保证数据库表的每一列都是不可分割的基本数据项 大白话:必须保证每张表的每个列都不可再分的 ''' 总表:订单号、订单日期、顾客编号、顾客名字、顾客地址所在城市(地址、城市)、联系电话、商品编号、商品名、商品价格 按照第一范式分表: 1NF->表:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话、商品编号、商品名、商品价格
第二范式(2NF)
'''第二范式书面话:必须满足第一范式 保证每一行都要有唯一标识存在, 这个唯一属性列被称为主关键字或主键、主码。 实体的属性完全依赖于主关键字。 大白话:必须满足第一范式,必须保证每张表内都有主键,且非主键字段必须依赖主键字段 ''' 1NF->表:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话、商品编号、商品名、商品价格 按照第二范式分表: 2NF->表1:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话 表2:订单号、订单日期、商品编号、商品名、商品价格
第三范式(3NF)
'''第三范式书面话:关系模型满足第二范式,所有非主属性对任何候选关键字都不存在传递依赖。 大白话:必须满足第二范式,必须保证表内的每一列都是与主键存在直接联系的。 ''' 2NF->表1:订单号、订单日期、顾客编号、顾客名字、地址、城市、联系电话 表2:订单号、订单日期、商品编号、商品名、商品价格 按照第三范式分表: 3NF->表1:订单号、订单日期、顾客编号 表2:顾客编号、顾客名字、地址、城市、联系电话 表3:订单号、订单日期、商品编号 表4:商品编号、商品名、商品价格