数据库第四章(下)

4.3 关系模式的规范化

4.3.1 关系与范式

要想设计一个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级比一级要求得严格。满足最低要求的关系属于第一范式的,在此基础上又满足了某种条件,达到第二范式的标准,则称它属于第二范式的关系,以此类推,直到第五范式。本章中,我们只需要掌握第一范式、第二范式、第三范式和BC范式即可。

1、第一范式

如果一个关系模式R的所有属性都是不可分的基本数据项,则称R是第一范式,不满足第一范式的数据库模式不能称为关系数据库,但满足第一范式关系模式并不一定是一个好的关系模式。

这个关系是否是第一范式呢?很明显不是,根据定义,每一个数据项不可分,像[课程、电话号码]这一项完全可以分成两个数据项,而它们却放在了一个数据项里,这是不满足第一范式的要求的。

2、第二范式

设R是一个关系模式,当R属于第一范式且每个非主属性都完全函数依赖于任一候选码时,我们称他是第二范式。判断一个关系R是不是第二范式的方法就是先求R的候选码,再看R中所有的非主属性,这些非主属性是否都依赖于任一候选码,若是,则为第二范式,否则就不是第二范式了

3、第三范式

设关系模式R是第二范式,且每个非主属性都非传递函数依赖于主码,我们称R为第三范式。

假设一个关系R中有非主键A和非主键B,那么就不能存在A依赖于B,而B又依赖于主键的情况。

4、BC范式

对于关系模式R,若R中的所有非平凡、完全的函数依赖的决定因素是码,则R属于BC范式。

由BC范式定义可得以下结论,若R属于BC范式,则R有:

R中所有的非主属性对每一个码都是完全函数依赖

R中的所有主属性对每一个不包含它的码也是完全函数依赖

R中没有任何属性完全函数依赖于非码的任何一组属性

这些概念可能会比较绕,但换句话来说就是X→Y时,X一定含有码(候选码中的任意一个)

我们总结一下这些范式到底是用来干什么的:

第一范式消除非基本数据项。

第二范式消除部分依赖。

第三范式消除传递依赖。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值