码迷,mamicode.com
首页 > 数据库 > 详细

数据库范式 3NF

时间:2017-05-06 15:09:41      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:table   之间   mail   sid   body   one   cti   原子性   范式   

1. 1NF

指的是列具有原子性(即列不可再分)

反例:

ID NAME CONTACT
1 小王 1@qq.com, 110

 

正解:

ID NAME MAIL PHONE
1 小王 1@qq.com 110

 

 

2. 2NF

在第一范式基础上, 对于单主键表, 符合第二范式. 对于多主键表, 非主键属性不能只依赖部分主键.

不符合2NF的容易产生数据冗余

反例:

SHOPID是订单ID PRODUCTID是商品ID NUM是商品数量 NAME是商品名称

主键是订单ID和商品ID, NUM完全依赖于主键(订单ID和商品ID), NAME只依赖于商品ID

SHOPID PRODUCTID NUM NAME
1 101 3 T恤

 

 

正解:

SHOPID PRODUCTID NUM
1 101 3

 

 

PRODUCTID NAME
101 T恤

 

 

3. 3NF

在第二范式的基础上, 非主键列之间不能有依赖关系

反例:

ID NAME CLASSID DEPARTMENT
1 小王 19 计算机系

 

 

这里DEPARTMENT 依赖 CLASSID

正解:

ID NAME CLASSID
1 小王 19

 

 

ID CLASSID DEPARTMENT
1 19 计算机系

 

 

数据库范式 3NF

标签:table   之间   mail   sid   body   one   cti   原子性   范式   

原文地址:http://www.cnblogs.com/lwn007/p/6816516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!