数据库设计范式

来源:互联网 发布:银河证券海王星软件 编辑:程序博客网 时间:2024/06/08 16:22

范式:是符合某种关系模式的集合,构造数据库必须遵循一定的规则,在关系数据库中这个规范就叫范式。

种类:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF).

第一范式:无重复列。是指数据库中的表的每一列是不可分割的即列的原子性,实体的某个属性不能有多个值或重复的属性。

如下表所示:


这里违背了第一范式:列的原子性。列"电话号码"可以分为手机号码和住宅号码。

如下表所示:


第二范式:满足第一范式,要求表中的每一行必须可以唯一标识,要求实体属性完全依赖主关键字(主键)

       解释:

实体属性:表或表中的字段;

依赖关系:分为完全依赖与部分依赖;

完全依赖:一张表中只有一个主键的时候,该表中的其他属性对于它就是完全依赖。

部分依赖:一张表中的主键是组合主键,那么,该表中的其他属性对于该组合主键中的单个属性就是部分依赖。

如下表所示:


编号和 姓名对身份证可以说是完全依赖。

不符合第二范式的后果:

1.)数据冗余;

2.)更新异常;

3.)插入异常:

4.)删除异常:

第三范式:满足第二范式,要求一个数据表当中,不包含已在其它表中已包含的非主关键字信息,就是说外键一定要依赖于主键。所有非主属性对任何候选关键字或候选关键字都不存在传递依赖

如下表所示


系编号依赖学号,系名称依赖系编号,存在传递依赖,不符合第三范式。

第四范式:禁止主键列和非主键列一对多关系不受约束。

第五范式:又叫无NULL范式。就是不允许表里的属性存储null值。

四五范式不常用,在此不作深入研究。
原创粉丝点击