关系数据库理论~范式

一个规范的关系模式:

 

  1. 尽可能减少冗余(重复数据)
  2. 没有插入异常(插入不了,没满足复合主键的要求)
  3. 删除异常(把相同的内容都删除了)
  4. 修改异常(修改不完全有剩余)

数据依赖包括函数依赖多值依赖 

关系模式中的各关系属性之间相互依赖,相互制约的联系称为数据依赖。 

★函数依赖 FD (Functional Dependency)

是关系模式中属性之间的一种逻辑依赖关系。

(sn,age,dept)函数依赖于sno

U={sno,sn,age,dept,mn,cno,score}

F={sno→sn,sno→age,sno→dept,(sno,cno)→score}

设关系模式R(U,F) U是属性全集,F是由U上函数依赖所构成的集合。X,Y是U上的子集。

对于R(U)的任意一个可能的关系r,对于X的每一各值,Y都有唯一的具体值与之对应,称X决定Y  记作:X→Y

当Y不依赖于X时 记作:X\→ Y

当X→Y且Y→X时,记作X↔Y

  1. 平凡函数依赖:Y是X的子集
  2. 非平凡函数依赖:Y不是X的子集,不特殊声明都是非平凡的函数依赖,和真正的完整性约束条件相关

函数依赖于属性之间的联系类型有关:

  1. 1:1  X↔Y
  2. M:1 X→ Y
  3. N:M 无依赖

 

Armstrong公理

  1. 自反律  A→A
  2. 增广律  X→Y 则 XZ→YZ
  3. 传递律  X→Y,Y→Z,则X→Z

Armstrong公理推论

 

 

  1. 合并律   X→Y,X→Z,则X→YZ
  2. 伪传递律  X→Y,WY→Z,则XW→Z
  3. 分解律  X→YZ,则X→Y,X→Z
  4. 复合律  X→Y,W→Z 则XW→YZ

属性集的闭包

定义:由一个属性直接或者间接的推导出所有属性的集合

属性集U为XYZW,函数依赖集为{X→Y,Y→Z,W→Y}

X+=XYZ   ,    (XW)+=XYZW  ,   (YW)+=YZW

候选码

定义:能决定所有属性

对于给定的关系模式R(A1,A2,A3,.....An)和函数依赖集F

  1. L类:仅出现在F中的函数依赖左边的左部属性  必
  2. R类:仅出现在F的函数依赖的右边右部的属性
  3. N类:在F的函数依赖左右俩边都没出现的属性  必
  4. LR类:在左右俩边都出现的属性  可能

设有关系模式R(A,B,C,D,E,P) 与它的函数依赖集F={A→D,E→D,D→B,BC→D,DC→A}求R的所有候选码

CEP是R的唯一候选码

 

关系模式的范式

 

主属性:所有候选码

非主属性:不存在于候选码

1NF

↓   消除非主属性对主码的部分函数依赖

2NF

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

3NF  (没有非主属性)

↓   消除主属性对主码的部分和传递函数依赖

BCNF

↓   消除非平凡且非函数依赖的多值依赖

4NF

任一非主属性的候选码都不存在传递依赖

一般3NF已经是一个好的关系模式了

 

规范化的基本原则:

遵循概念单一化“一事一地”的原则,即一个关系描述一个实体或者实体间的联系。

规范化的投影分解方法不是唯一的,对于3NF的规范化,分解既要具有无损连接性,又要具有函数依赖保护性。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值