数据库设计范式

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

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

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

如下表所示:


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

如下表所示:


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

       解释:

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

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

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

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

如下表所示:


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

不符合第二范式的后果:

1.)数据冗余;

2.)更新异常;

3.)插入异常:

4.)删除异常:

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

如下表所示


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

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

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

四五范式不常用,在此不作深入研究。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值