频道栏目
首页 > 数据库 > 其他综合 > 正文
数据库的第一、第二、第三范式、BCNF范式
2017-07-15 09:59:27      个评论    来源:梁猴子的博客  
收藏   我要投稿

第一范式:

数据库设计原则:

记录的每个属性只能包含一个值

关系中的每个记录必须包含相同数量的值

关系中的每个记录一定不能相同

(1)可能出现重复学号的数据,大量冗余数据 (2)每一行都非空,一些不确定的属性不能置null

(3)删除学生数据,其它所有数据都不存在了

(4)修改不方便,重复项太多

第二范式:避免了重复学号,但不同学号可能对应同样的姓名(重名) 引入了主键的概念,主键不可重复,凡是有主键的数据库都满足第二范式

图1主键:课名 图2主键:学号

使用了模式分解,修改映射关系 (1)每一行都非空,一旦不确定学号,则无法添加数据

(2)删除学生数据,其它所有数据都不存在了

第三范式: 满足第二范式,但是因为第二范式的“系主任”和“学号”直接没有依赖关系,“系主任”只和“系名”有依赖关系(出现了依赖传递),所以不满足第三范式,只有将表继续拆分。 凡是有主键、表中所有属性都和主键有直接依赖关系(没有依赖传递)的表都是第三范式

进一步模式分解,数据之间的依赖关系更加明确

BCDF范式 满足第三范式,且只能存在一种主键:学号、学生QQ号都可以做主键(都成为候选键),但要满足BCDF范式则必须去掉其中一个候选键,另外健表。

点击复制链接 与好友分享!回本站首页
上一篇:Redis系列(五)-Opserver的监控
下一篇:Redis的数据结构和使用场景介绍
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站