数据库三范式

第一范式(1NF)

  1.概述:

    第一范式就是确保每列的原子性,也就是说如果每列都是不可再分的最小数据单元,则满足第一范式。

  2.举例:

       说明:图中表一不满足1NF,因为Address字段可拆分为Country和City两个字段,拆分后,表二符合1NF。

第二范式(2NF)

  1.概述:首先满足1NF,并且表中非主键列不存在对主键的部分依赖,它要求每个表只描述一件事情。

  2.举例:

          说明:图中左表一的(订单编号,产品编号)为主键,而非主键列(价格,订购日期)是依赖主键的,但是(产品编号,价格)中的价格字段是依赖产品编号的,也就是说存在非主键列的依赖部分主键现象,因此不满足2NF。经过拆分,得到Orders表和Products表,此时不存在非主键列的主键部分依赖,因此符合2NF。在设计表的过程中,如果发现不满足2NF的话,可以对表中的字段进行分离,单独建表。

第三范式(3NF)

  1.概述:满足2NF,且表中的列不存在对非主键列的传递依赖。

  2.举例:

  

          说明:图中左表的非主键列顾客编号依赖主键订单编号,但顾客姓名又依赖非主键列顾客编号,因此存在传递依赖,不满足3NF。经过拆分,得到的右表时符合3NF的。

 

        

你还有很多未完成的梦,你有什么理由停下脚步
原文地址:https://www.cnblogs.com/quanziheng/p/13213035.html