5.关系数据理论

数据依赖对关系模式的影响

数据依赖

数据依赖 是一个关系内部属性和属性之间的一种约束关系。

关系模式的规范化

函数依赖

“X函数确定Y” 或 “Y函数依赖于X”,记作X→Y

平凡函数依赖与非平凡函数依赖

在关系SC(Sno, Cno, Grade)中,

  • 非平凡函数依赖:
    • (Sno, Cno) → Grade
  • 平凡函数依赖:
    • (Sno, Cno) → Sno
    • (Sno, Cno) → Cno

完全函数依赖与部分函数依赖

  • 完全函数依赖
    • (Sno,Cno)→Grade
  • 部分函数依赖
    • (Sno,Cno)→Sdept

传递函数依赖

在关系Std(Sno, Sdept, Mname)中,有:

  • Sno → Sdept
  • Sdept → Mname

Mname传递函数依赖于Sno

  • 超键:能够唯一标识一个元祖的属性或属性集
  • 候选键(候选码):不含有多余属性的超键
  • 主键(主码):多个候选键中的一个
  • 外键:如果关系R的某一属性不是自身的主键,而是另一关系S的主键,则称该属性是R的外键
  • 全码:关系模式的所有属性是该关系的候选码,称为全码
  • 主属性:候选码的诸属性
  • 非主属性:不包含任何候选码的属性

范式

关系模式满足的确定的约束条件称为范式

  • 第一范式(1F):关系模式的所有域均为简单域,其元素不可再分,即属性不能再分,每个属性是数据项,而不是属性组

  • 第二范式(2F):任何一个非主属性都完全依赖于他的每个候选键

  • 第三范式(3F):任何一个非主属性都不传递依赖于他的任何一个候选键

  • BC范式(BCNF):

    • 非主属性对候选键完全依赖
    • 非主属性不传递依赖于任何一个候选键
    • 主属性对不含它的候选键完全依赖
    • 主属性不传递依赖于任何一个候选键

多值依赖与第四范式

多值依赖

下表所表示的现实世界的情形,变成数据库的关系,就会形成多值依赖

数据依赖的公理系统

Armstrong公理系统

Armstrong公理系统用处

  • 可用于从一组函数依赖F求得蕴含(导出)的函数依赖
  • 可用于求得关系模式的码

Armstrong公理系统

  • 自反律:若Y ⊆ \subseteq X ⊆ \subseteq U,则X →Y为F所蕴含
  • 增广律:若X→Y为F所蕴含,且Z ⊆ \subseteq U,则XZ→YZ为F所蕴含
  • 传递律:若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含
  • 推理规则
    • 合并规则:由X→Y,X→Z,有X→YZ
    • 伪传递规则:由X→Y,WY→Z,有XW→Z
    • 分解规则:由X→Y及 Z ⊆ \subseteq Y,有X→Z

闭包

在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为 F + F^{+} F+

求闭包的算法

求闭包就是由一个属性直接或间接推导出的所有属性的集合,例如:

f={ a->b, b->c, a->d, e->f }

a可直接得到bd,间接得到c,则a的闭包就是{ a, b, c, d }

设关系R(A, B, C, D, E, G)有函数依赖集F={AB→C, BC→AD,D→E, CG→B},求AB的闭包。

  • 首先从AB出发,令X={A, B},由于函数依赖AB→C左边的所有属性都在X中,所以可以把右边的C添加到X中,这时X={A, B, C}
  • 其次考虑函数依赖BC→AD,左边B,C均在X中,右边D不在X中,将其添加到X中,此时X={A, B, C, D}
  • 再考虑函数依赖D→E,同理可将E添加到X中,此时X={A, B, C, D, E}。
  • 上述方法再不能向X中添加属性,所以得到 A B + = { A , B , C , D , E } AB^{+}=\{A, B, C, D, E\} AB+={A,B,C,D,E}

最小依赖集

最小依赖集定义

如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。

  • F中任一函数依赖的右部仅含有一个属性。
  • F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
  • F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
求最小依赖集(点我)

关系模式的分解

无损链接的判断(点我)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Eva_5433

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

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

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

打赏作者

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

抵扣说明:

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

余额充值