数据库设计的三大范式通俗讲解

                    举例说明关系数据库表的设计之三大范式

  1. 第一范式:第一范式(1NF)是指数据库的每一列都是不可分割的基本数据项
  2. 第二范式:第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式要求每一行都要有唯一标识存在,这个唯一属性列被称为主关键字或主键、主码。实体的属性完全依赖于主关键字。
  3. 第三范式:第三范式是在第二范式的基础上建立起来的。第三范式指:属性不依赖于其他非主属性。

     举例说明:

     现有一张表:

     

       存在的问题:

  1.  存在非常严重的冗余,姓名,系名,班主任这三列大大重复。
  2.  添加数据存在问题,要想单独添加系名和系主任,则无法办到
  3. 数据删除存在问题,删除一名同学对应的系名和系主任也没有了,数据依赖太强

  解决办法:

     使用三大范式进行数据表的拆分:

       1> 使用第一范式,将系列拆分为系名和系主任两列,结果如下图:

   

    2>   使用第二范式,将表拆分为每列属性可依赖于首列的两张表,如图所示:

  >

 3>   使用第三范式,继续进行拆分,将表分为仅依赖于首列主属性的表

这样就解决了上述存在的三个问题,表也拆分完毕。

简单色说以下三大范式:第一范式就是说每个列就是是一个不可拆分的词语,若还可以再细分,便不符合第一范式。第二范式就是告诉人们在建表的时候要确立主键,方便查找。第三范式就是说如果一张表可以拆分要继续拆分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章