🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
<hr> <div id="div1"><h3> <font color=red> 范式 </font> <h3></div> ### 第一范式(1NF): 属性(字段)是最小单位不可再分。**如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式**。 > 将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。这样设计才算满足了数据库的第一范式 ### 第二范式(2NF): 满足 1NF,每个非主属性**完全依赖于主键**(消除 1NF 非主属性对码的部分函数依赖)。 >设计一个订单信息表,因为订单中可能会有多种商品,所以要将订单编号和商品编号作为数据库表的联合主键。 ### 第三范式(3NF):确保每列都和主键列直接相关,而不是间接相关 满足 2NF,任何非主属性不依赖于其他非主属性(消除 2NF 非主属性对码的传递函数依赖)。**就是数据只在一个地方存储,不重复出现在多张表中,可以认为就是消除传递依赖** 鲍依斯-科得范式(BCNF):满足 3NF,任何非主属性不能对主键子集依赖(消除 3NF 主属性对码的部分和传递函数依赖)。 >设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段 ### 第四范式(4NF): 满足 3NF,属性之间不能有非平凡且非函数依赖的多值依赖(消除 3NF 非平凡且非函数依赖的多值依赖)。