数据库第6章总结

一、前言

关系模式 :由五部分组成,是一个五元组
R ( U , D , D O M , F ) R(U, D, DOM, F) R(U,D,DOM,F)

R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖

D、DOM与模式设计关系不大 这里只用到三元组:R<U,F>

二维表每个分量必须是不可分开的数据项。

满足了这个条件的关系模式就属于:第一范式(1NF)

❖数据依赖

  • 是一个关系内部属性与属性之间的一种约束关
  • 通过属性间值的相等与否体现出来的数据间相互联系
  • 是现实世界属性间相互联系的抽象
  • 是数据内在的性质
  • 是语义的体现。

❖主要类型:

  • 函数依赖(Functional Dependency,简记为FD)
  • 多值依赖(Multi-Valued Dependency,简记为MVD)

二、规范化

1.函数依赖

设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r 中不可能存在: 两个元组在X上的属性值相等,而在Y上的属性值不等(可理解为两个元组在X上的属性值相等,则在Y上的属性值也一定相等), 则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。若X→Y,并且Y→X, 则记为X←→Y。
若Y不函数依赖于X, 则记为X→Y。

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

X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。
X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。
若X→Y,则X称为这个函数依赖的决定因素

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

在R(U)中,如果 X → Y X \rightarrow Y XY,并且对于X的任何一个真子集X’, 都有 X ↛ Y X \not\rightarrow Y XY, 则称Y对X完全函数依赖,记作 X → F Y X \overset F \rightarrow Y XFY
X → Y X \rightarrow Y XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 X → p Y X \overset p \rightarrow Y XpY

4.码

设K为R<U,F>中的属性或属性组合。若K → U,则K称为R的一个 候选码
如果U部分函数依赖于K,即K → U,则K称为超码 。
候选码是最小的超码,即K的任意真子集都不是候选码。
若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。

主属性与非主属性

1.包含在任何一个候选码中的属性 ,称为主属性
2.不包含在任何码中的属性称为非主属性
3.整个属性组是码,称为全码(All-key

5.范式

范式是符合某一种级别的关系模式的集合。
各种范式之间存在联系:某一关系模式R为第n范式,可简记为R∈nNF
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化
在这里插入图片描述
第一范式(1NF)
二维表每个分量必须是不可分开的数据项。满足了这个条件的关系模式就属于1NF

第二范式(2NF)
关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码。

第三范式(3NF)
设关系模式R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非属性组Z(Z ⊉ Y)使得X→Y,Y→Z成立,Y↛ X,则称R<U,F>∈3NF

BCNF
通常认为BCNF是修正的第三范式,有时也称为扩充的第三范式。关系模式R<U,F>∈1NF,若X → Y且 Y ⊈ X 时X必含有码,则R<U,F>∈BCNF。即在R中,每一个决定因素都包含码

所有非主属性对每一个码都是完全函数依赖
所有主属性对每一个不包含它的码也是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性。

6.多值依赖

设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

4NF
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。如果一个关系模式是4NF, 则必为BCNF,因为每个决定因素都包含码。
不是4NF的,同样可以通过模式分解的方式将其化为4NF。

7.规范化过程

在这里插入图片描述

8.候选码的求解理论和算法

闭包(记作X+ )就是由一个属性直接或间接推导出的所有属性的集合。
由a可直接得到b和d,间接得到c,
则a的闭包就是{a,b,c,d}
对于给定的关系**R(A1,A2,…An)**和函数依赖集F,可将其属性分为4类:
L类 仅出现在函数依赖左部的属性。
R 类 仅出现在函数依赖右部的属性。
N 类 在函数依赖左右两边均未出现的属性。
LR类 在函数依赖左右两边均出现的属性。

1.对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X必为R的任一候选码的成员。
2.若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。

三、总结

1.规范化程度越高的关系模式就越好吗?

:必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式。上面的规范化步骤可以在其中任何一步终止。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值