【数据库】范式

0.概述

范式(Normalization)是关系型数据库设计中的一种重要概念,主要目的是通过规范化(Normalization)来减少冗余和复杂性,提升数据库的数据完整性、一致性和可维护性。

在数据库设计中,范式通常分为一般范式(First Normal Form,1NF)、第二范式(Second Normal Form,2NF)、第三范式(Third Normal Form,3NF)等。每一级别的范式都有其特定的要求和优点,一般来说,范式级别越高,数据库设计就越规范化,但同时也会增加数据库的查询和维护难度。

例如,在 1NF 中,每个属性都应该是原子性的,即不可再分的。在 2NF 中,每个非主属性都应该完全依赖于主键,而在 3NF 中,每个非主属性都不依赖于其它非主属性。在实际的数据库设计中,通常需要根据具体需求和数据特征进行选择和平衡。

范式的概念在数据库设计和优化中非常重要,可以帮助开发者设计出高效、可靠、可维护的数据库系统。

在关系型数据库设计中,常见的范式包括以下几种:

  1. 第一范式(First Normal Form,1NF):属性具有原子性,不可再分。
  2. 第二范式(Second Normal Form,2NF):满足 1NF,且非主属性完全依赖于主键。
  3. 第三范式(Third Normal Form,3NF):满足 2NF,且非主属性不依赖于其它非主属性。
  4. 巴斯-科德范式(Boyce-Codd Normal Form,BCNF):满足所有主属性都能唯一决定非主属性,不存在函数依赖。
  5. 第四范式(Fourth Normal Form,4NF):满足 3NF,并且不存在多值依赖和联合依赖。
  6. 第五范式(Fifth Normal Form,5NF):满足 4NF,并且不存在结构相同但具有不同语义的多值依赖。

其中,1NF 是最基本的范式,后续的范式都是在 1NF 的基础上进行进一步规范化。这些范式可以提高数据库的数据完整性、一致性和可维护性,但范式的划分也需要根据具体需求和数据特征进行选择和平衡。

1.第一范式(NF)

2.第二范式(2NF)

3.第三范式(3NF)

4.BCNF(3.5范式)

5.第四范式(4NF)

6.范式判断

  • 题目:
    • R(A,B,C,D)    F={B->D,D->B,AB->C}
  • 答案:
    •  
  • 过程:
    • 找候选键
      • 只在左边出现的项,L=A,A为候选键
        • A+能否导出全部?不能,A不是候选键
      • 在左右都出现的项,LR=B,D
      • 候选键:AB,AD
      • AB+={ABCD}
      • AD+={ABCD}
      • AB,AD是候选键
    • 非键属性是否部分依赖于候选键?
      • 非键属性:C,由AB导出,直接依赖
      • 至少2NF
    • 非键属性是否传递依赖于候选键?
      • 没有传递依赖
      • 至少3NF
    • 不满足左边都是候选键
    • 3NF

 

参考:

https://www.bilibili.com/video/BV1AM4y1u7cB/?spm_id_from=333.337.search-card.all.click&vd_source=c708def0a324eac06f3f31f597632be7

https://www.bilibili.com/video/BV1eE411a7mF/?spm_id_from=trigger_reload&vd_source=c708def0a324eac06f3f31f597632be7

posted @ 2023-04-23 22:17  尚方咸鱼  阅读(777)  评论(0编辑  收藏  举报