数据库——范式

目录

一、概念

二、各范式

第一范式

第二范式

第三范式

BC范式

第四范式

第五范式(略)


一、概念

  1. 基本概念
    1. 关系:通常一个关系对应一张表;
    2. 元组:一行;
    3. 属性:一列;
    4. 码:键;
    5. 超码:能唯一标识一个元组的一个属性或属性组;
    6. 候选码:能唯一标识一个元组的一个属性或属性组,而它的真子集不能,候选码是最小的超码;
    7. 主码:主键,主码是候选码里人为选一个;
    8. 主属性:包含在任意一个候选码中的属性;
    9. 非主属性:不包含在任何码中的属性;
    10. 域:属性的取值范围;
    11. 外键:关系(表)A中的公共属性包含的关键字是另一个关系B的主键,则这个关键字被称为A的外键,A是主表,B是从表。
  2. 范式Normal Form:设计数据库时要求遵循的不同设计规范与要求,不同等级的范式对数据关系有不同等级的约束条件;
    1. 关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)
    2. 总的来说,范式不满足的情况都是由于属性之间的关系复杂,而没有将关系拆解,而导致同一个表内属性之间的关系大量牵连耦合,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。

二、各范式

  1. 第一范式

    1. 域是原子性的,即属性不可分,每一列都是不可再分割的原子数据项,且不重复。(部分数据库设计突破了1NF的设计要求,因此是否满足1NF主要取决于所使用的关系类型)
  2. 第二范式

    1. 满足第一范式;
    2. 不存在部分依赖:实体的属性完全依赖于主键,即整个主键唯一标识一个元组且主键不可拆分
      1. 比如ABCD表中,A→B,A→C,C→D,属性D不依赖于主键A。
  3. 第三范式

    1. 满足第二范式;
    2. 不存在传递函数依赖:一个表可以包含其他表的主键,但不可以包含其他表除主键外的其他非主属性,即任何非主列不得传递依赖于主键。
      1. 如ABCD表中,A→B,A→C,A→D,C→D,存在A→C→D的传递依赖关系,此时可以拆分成ABC和CD两张表(或者ABE,ECD,其中E→C,E→D)
  4. BC范式

    1. 满足第三范式;
    2. 不存在关键字决定关键字的情况,一般需要对表进行拆分,但拆分后有可能会损失一些依赖关系
      1. 比如ABCD表中的依赖关系:AB→C,AB→D,BC→A,BC→D,D是唯一的非关键属性;
      2. 满足第三范式,但不满足BC范式(因为存在A→C,C→A这样的关系);
      3. 但拆表后可能会出现损失依赖关系的情况。
  5. 第四范式

    1. 满足第BC范式;
    2. 消除非平凡函数依赖的多值依赖关系,
      1. 平凡函数依赖:Y⊆X,X→Y。即一组属性函数决定它的所有子集;
      2. 多值依赖:属性之间的一对多关系;
      3. 比如ABC,一个A对应于多个B,一个A也对应于多个C,B和C相互独立。
  6. 第五范式(略)

    1. 只存在理论研究中,很少出现,且难以察觉。

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值