数据库期末复习 范式

规范化

关系模式看为R<U,F>
R 关系名
U 一组属性
F 属性组U上的一组数据依赖
规范化:低级范式通过模式分解转换为高级范式

规范化过程

函数依赖

  1. 定义:在属性集U上,Y的属性值可由X的属性值唯一确定,则称X函数确定YY函数依赖于X,记作X->Y
  2. 非平凡的函数依赖:X->Y,但Y⊄X
  3. 平凡的函数依赖:X->Y,但Y⊆X
  4. X称为决定因素
  5. 完全函数依赖:任意X的真子集都不能确定Y
  6. 部分函数依赖:存在X的真子集能确定Y
  7. 传递函数依赖:X->Y,Y->Z,则Z对X传递函数依赖

  1. 候选码:K为属性或属性组合,U完全函数依赖于K,K为候选码
  2. 超码:U部分依赖于K,K为超码
  3. 主码:候选码中任意一组
  4. 主属性:包含在任意一个候选码中的属性
  5. 非主属性:不包含在候选码
  6. 全码:所有属性都在候选码中

范式

  1. 第一范式1NF:每一个分量都是不可分的数据项
  2. 5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF

2NF

  1. 第二范式2NF:R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码

3NF

  1. 第三范式3NF:R∈1NF,且每一个非主属性既不传递依赖于码,也不存在部分函数依赖于码

BCNF

  1. BCNF:R∈1NF,且每个决定因素都包含码
  2. 所有非主属性对每个码都是完全函数依赖
  3. 所有主属性对每一个不包含它的码也是完全函数依赖
  4. 没有任何属性完全依赖于非码的任何一组属性

多值依赖

  1. 定义:X+Y+Z=U,对关系r,给定一组(x,z),有一组y的值,这组值仅仅由x决定,与z无关,称X->->Y为多值依赖
  2. 平凡的多值依赖:X->->Y,且Z为空
  3. 多值依赖具有对称性 X+Y+Z=U,X->->Y,则X->->Z
  4. 多值依赖具有传递性 X->->Y,Y->->Z,则X->->Z
  5. 函数依赖可以看作是多值依赖的特殊情况
  6. 多值依赖的有效性与属性集的范围有关

4NF

  1. 4NF:R∈1NF,且R的每个非平凡多值依赖包含码
  2. 4NF不允许属性之间有非平凡且非函数依赖的多值依赖

公理系统

Armstrong公理系统

  1. 自反律:Y⊆X⊆Z,则Y->X
  2. 增广律:若Y->X,则ZY->ZX
  3. 传递律:若Y->X,X->Z,则Y->Z

闭包

  1. 定义:{A|X->A能由F根据Armstrong公理导出}
  2. 算法:当Xi=Xi+1或Xi=U时,所得属性集合为闭包
    例:AB->C,B->D,C->E,EC->B,AC->B
    (1)设X0=AB,由AB->C,B->D得X1=ABCD
    (2)由C->E,AC->B得X2=ABCDE
    (3)由X2=U得到闭包为ABCDE

最小函数依赖集

  1. 任一函数依赖右部仅含有一个属性
  2. 不存在X->A,使F与F-{X->A}等价
  3. 不存在X->A,X有真子集Z,使F与F-{X->A}∪{Z->A}等价
  4. 左部尽量简单,减少重复可被替代的依赖

模式分解

  1. 保持函数依赖,总可以达到3NF,不一定达到BCNF
  2. 既保持函数依赖,又具有无损连接性,可以达到3NF,不一定达到BCNF
  3. 具有无损连接性,一定可以达到4NF

三个定义

  1. 具有无损连接性
    分解完成后有一行为a1,a2,a3,a4…an,则为无损分解
    通俗来说,就是不丢失信息
  2. 保持函数依赖
    减少异常情况
  3. 既具有无损连接性,又保持函数依赖

分解算法

  1. 合成法:转换为3NF的保持函数依赖的分解
  2. 分解法:转换为BCNF的无损连接分解

  3. 规范化

分解为3NF算法例题

P43模式分解例题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值