数据库设计的三范式

数据库的三大设计范式:(首先范式设计的越详细,对于某些实际操作可能更好,但是不一定都是好处)

第一范式1NF: 数据表中的所有字段都是不可分割的原子值。

   

    从上图看出,address字段实际是可以划分的,不满足第一范式的要求。所以可以对address字段再细分成

   countruy+privence+city+details的字段

             

             


第二范式2NF: 必须是满足第一范式的前提下,第二范式要求,除主键外的每一列都必须完全依赖于主键。如果要出现不完全依赖,之可能发生在联合主键的情况下。

          

             上图中主键外其他列只部分依赖于主键。若要满足第二范式,只能进行拆表。

            

第三范式3NF: 必须先满足第二范式,除开主键列的其他列之间不能有传递依赖关系。

            

              上图中customer_phone 和customer_id之间是有传递依赖关系的。

    修改成如下就可以满足第三范式:

               

 

 

 

posted @ 2019-03-13 15:02  codelzc  阅读(185)  评论(0编辑  收藏  举报