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

数据库三范式的理解

时间:2016-04-11 20:18:42      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

画好e-r图,简单的设计好表结构以后,就需要进行三范式检验。

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 即表中所有字段仅包含单值。(反例,用户表中一个人可能有多个银行账户,多个值存储同一单元,违反1NF).
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 要求数据表中每个记录或实例需要唯一区分(引入id),要求实体属性完全由主键决定,而且是完全依赖,即如果主键有2个字段,仅由其中一个主键决定的就违反2NF。
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。即一个非键字段决定另一个飞键字段,就违反3NF。

没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降
低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理
数据模型设计时考虑。降低范式就是增加字段,允许冗余。

数据库三范式的理解

标签:

原文地址:http://www.cnblogs.com/xfvipp/p/5379562.html

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