ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL丨理论丨(五)理论范式

2021-08-02 20:01:58  阅读:195  来源: 互联网

标签:候选 依赖 范式 函数 sno 理论 MySQL 属性


同步发布:Hedon丨MySQL丨理论丨(五)理论范式 (排版更佳!)

1. 函数依赖

1.1 函数依赖的概念

[1] 决定关系

其实就是 Y = f(X),X决定Y,Y依赖于X。

[2] 非平凡的函数依赖

X -> Y,但是 Y ⊊ X

[3] 平凡的函数依赖

X -> Y,但是 Y ⊆ X

[4] 完全函数依赖(X-F>Y)

R(U)是属性集U上的关系模式,X,Y,Z是U的不同子集,非空且不互相包含。

X -> Y,且任意 X 的真子集 X`,都有 X` ⧷> Y ,也就是 X 中没有滥竽充数的,每个都得要。

[5] 部分函数依赖(X-P>Y)

就是不完全函数依赖。

[6] 传递依赖(X-t>Z)

若有 X->Y( Y ⊊ X),Y⧷>X,Y->Z,则必有 X->Z,则称 Z 传递依赖于 X。

△[例题]
  • 左部位单属性的函数依赖一定是完全函数依赖。
    • sno -> sname
    • sno -> class
    • tno -> tname
  • 左部有多个,那就看起真子集能否决定右部属性。
    • (sno,cno) -> grade:
      • sno ⧷> grade
      • cno ⧷> grade
      • 完全函数依赖
    • (sno,cno) -> sname:
      • sno -> sname
      • cno ⧷> sname
      • 部分函数依赖
    • cno -> tname
      • cno -> tno, tno⧷> cno
      • tno -> tname
      • 传递函数依赖

1.2 候选键

[1] 定义

唯一标识实体,且不包含多余属性的属性集。

[2] 相关概念
  • 主键

  • 主属性

    包含在任何一个候选键中的属性。

  • 非主属性

    不包含在任何一个候选键中的属性。

2. 关系模型的规范化

第 1 范式(1NF)

image-20200401194036000
[1] 特点
  • 不重复
  • 原子性
[2] 问题
  • 数据冗余

  • 插入异常

    image-20200401194501247
  • 删除异常

    image-20200401194607786
  • 修改异常

    image-20200401194654329

第 2 范式(2NF)

[1] 特点

任意一个非主属性都完全依赖于R的任一候选键。

image-20200401195815547

image-20200401195943891
[2] 问题
  • 减少了数据冗余

  • 插入异常

    image-20200401200110517
  • 删除异常

    image-20200401200236477
  • 修改异常

    一个地方修改,可能需要修改很多个表。

第 3 范式(3NF)

[1] 特点

消除了非主属性对候选码的传递函数依赖

image-20200401200618015 image-20200401200706535
[2] 问题
  • 减少了数据冗余
  • 减少了前面的删除异常
  • 减少了前面的插入异常
  • 减少了前面的修改异常
  • 不彻底性。

BC 范式(BCNF)

[1] 特点
  • R 中的每一个非平凡函数依赖的决定因素都包含一个候选键(只有依赖于候选键的函数依赖)。

    • 消除部分依赖
    • 消除传递依赖
  • BCNF 必定是 3NF

第 4 范式(4NF)

多值依赖(一对多)

image-20200401210648965 image-20200401210701100
[1] 特点

如果存在元组(x,y1,z1)和(x,y2,z2),一定存在元组(x,y2,z1)和元组(x,y1,z2)。

U=X+Y+Z,X →→ Y 表示 X 多值决定 Y

  • X的一个值可以确定Y的多个值(这个关系决定于Z的取值无关,也就是说当X值确定后,无论Z取何值,得到的Y总是固定的。
  • 对称性
    • 若 X →→ Y,则 X →→ Z
  • 合并性
    • 若 X →→ Y,且 X →→ Z,则 X →→ YZ
  • 相交性
    • 若 X →→ Y,且 X →→ Z,则 X →→ (Y∩Z)
  • 传递性
    • 若X →→ Y,且 Y →→ Z,则 X →→ (Y-Z),X →→(Z-Y)

第 4 范式(4NF)

[1] 特点

设 R(U)是一个关系模式,D是R上的多值依赖集合。如果D中每个非平凡多值依赖X→→Y,X都包含R的候选键,则R∈4NF。

image-20200401210841443
  • 4NF必定是BCNF

标签:候选,依赖,范式,函数,sno,理论,MySQL,属性
来源: https://blog.csdn.net/Hedon954/article/details/119332842

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有