MOOC战德臣数据库课程自用笔记_9_范式

本文详细介绍了数据库设计中的四种范式:1NF、2NF、3NF和BCNF,阐述了每种范式的核心概念及消除部分依赖和传递依赖的重要性。通过实例解析,帮助理解如何将关系模式分解以达到更高的规范化程度,从而提高数据库的逻辑独立性和减少数据冗余。
摘要由CSDN通过智能技术生成

关系范式

一. 范式 1NF

若关系模式 R ( U ) R(U) R(U) 中关系的每个分量都是不可分的数据项(值,原子),则称 R ( U ) R(U) R(U) 属于第一范式,记为: R ( U ) ∈ R(U) \in R(U) 1NF

不符合 1NF 的处理

  1. 将复合属性处理为简单属性;
  2. 将多值属性与关键字单独组成一新的关系;
  3. (面向对象数据库)引入新的数据模型处理:Object-Oriented Data Model

二. 第二范式 2NF

R ( U ) ∈ R(U) \in R(U) 1NF 且 U U U 中的每一非主属性完全函数依赖于候选键,则称 R ( U ) R(U) R(U) 属于第二范式,记为: R ( U ) ∈ R(U) \in R(U) 2NF

例子1:
在这里插入图片描述

  • 2NF 消除了非主属性对候选键的部份依赖

例子2:
在这里插入图片描述

三. 第三范式 3NF

R ( U , F ) ∈ R(U,F) \in R(U,F) 2NF 且 R R R 中不存在这样的情况:候选键 X X X,属性组 Y ⊆ U Y \subseteq U YU 和非主属性 A A A,且 A ∉ X , A ∉ Y , Y ⊄ X , Y ↛ A A \not\in X, A\not\in Y, Y \not\subset X, Y\not\rightarrow A AX,AY,YX,YA 成立。满足以上条件则称 R ( U ) R(U) R(U) 属于第三范式,记为: R ( U ) ∈ R(U) \in R(U) 3NF

例子1:
在这里插入图片描述

  • 3NF 消除了非主属性对候选键的传递依赖

例子2(满足 2NF 但不满足 3NF):
在这里插入图片描述

  • 关系模式设计如果满足 3NF,则一定能满足 2NF,反之则不然

关系模式分解成 3NF

在这里插入图片描述

四. BCNF

R ( U , F ) ∈ R(U, F) \in R(U,F) 1NF,若对于任何 X → Y ∈ F X\rightarrow Y \in F XYF(或 X → A ∈ F X\rightarrow A \in F XAF),当 Y ⊄ X Y \not\subset X YX (或 A ∉ X A\not\in X AX)时, X X X 必含有候选键,则称 R ( U ) R(U) R(U) 属于 Boyce-Codd 范式,记为: R ( U ) ∈ R(U)\in R(U) BCNF

例子1:
在这里插入图片描述

  • BCNF 消除了任何属性(主属性和非主属性)对关系键的部分函数依赖和传递函数依赖

关系分解为 BCNF

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哇咔咔负负得正

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值