数据库第六章 关系数据理论 总结

一个关系模式应当是一个五元组,但是由于D(域)和DOM(映射)与模式设计不大,所以此处把关系模式看成是一个三元组 R<U,F>。

R是表名字
U是一组属性
F是属性组U上的一组属性依赖

1NF

符合每一个分量都是不可分的数据项这一条件条件的二维表就是第一范式

数据依赖

数据依赖可以分为函数依赖以及多值依赖两种

函数依赖说白了,其实更像是一种映射的关系

在这里插入图片描述
这张关系表中就出现了以下几种问题:

  1. 数据冗余:Cno和Mname会出现多次
  2. 更新异常:由于数据冗余,要想更新表格,就得更新多次,有可能会出现数据不一致的问题
  3. 插入异常:如果一个系刚刚成立,没有学生,则无法将系主任和这个系存入数据库中
  4. 删除异常:如果一个系全部学生都毕业了,把学生删除了的话,这个系和系主任也会被删除

因此可以将此关系表改成以下三种关系模式:
S(Sno,Sdept, S n o → S d e p t Sno \rightarrow Sdept SnoSdept)
SC(Sno,Cno,Grade, ( S n o , C n o ) → G r a d e (Sno,Cno) \rightarrow Grade (Sno,Cno)Grade)
DEPT(Sdept,Mname, S d e p t → M n a m e Sdept \rightarrow Mname SdeptMname)

规范化

函数依赖

就是一个属性值唯一确定另一个属性值称作
X函数确定Y 或者 Y函数依赖于X
X → Y X \rightarrow Y XY

X → Y X \rightarrow Y XY并且 Y ⊆ X Y \subseteq X YX 则称 X → Y X \rightarrow Y XY平凡的函数依赖

X → Y X \rightarrow Y XY并且 Y ⊈ X Y \nsubseteq X YX 则称 X → Y X \rightarrow Y XY非平凡的函数依赖

对于任意关系模式,平凡函数依赖是必然成立的。

两个候选码一起确定一个属性值叫做完全函数依赖,记作 X ⟶ F Y X \overset F \longrightarrow Y XFY
两个候选码中的一个即可确定另一个属性值叫做部分函数依赖,记作 X ⟶ P Y X \overset P \longrightarrow Y XPY

如果 X → Y X \rightarrow Y XY X ↚ Y X \not\leftarrow Y XY ), Y → Z Y \rightarrow Z YZ Z ⊈ Y Z \nsubseteq Y ZY) ,则称Z对X传递函数依赖,记作 X ⟶ 传 递 Y X \overset {传递} \longrightarrow Y XY

R<U,F>
K ⟶ F U K \overset F \longrightarrow U KFU ,则K是一个候选码
K ⟶ P U K \overset P \longrightarrow U KPU ,则K是超码
如果R中有多个候选码,则选定其中一个做为主码。

所谓非主属性,就是不包含在任何码中的属性(就是U-{所有码的并集})

所谓全码:整个属性组是码(任何U的真子集都不能是码)

2NF

2NF就是在1NF的基础上消除了非主属性对于码的部分函数依赖。(用我自己通俗的话讲就是,把码能部分函数依赖【大多数应该是两个码中的一个就能】确定的属性剥离)

3NF

一个属于1NF的属性组,不存在X->Y(Y不能推出X),Y->Z则是第三范式

3NF就是在2NF的基础上消除了非主属性对于码的传递函数依赖(就是码可以传递得到的属性值剥离出来)

二元关系必是传递依赖

BCNF

在关系模式R<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF

多值依赖

用我自己的话来说就是多个属性值共同决定了一种属性,该属性中包含了多个值

4NF

如果一个关系模式是4NF,则必为BCNF

闭包求码

闭包是由一个属性直接或间接推导出的所有属性的集合
在这里插入图片描述
(白嫖一下超哥的例题 手动一下 @梁默申)

解题步骤参考于
https://blog.csdn.net/Chantec/article/details/116245160?spm=1001.2014.3001.5501

首先写出划分属性
L:属性只出现在函数依赖左部
R:属性只出现在函数依赖右部
LR:属性出现在函数依赖左部和右部
N:属性未出现在函数依赖中

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

定理2:对于给定的关系模式R及其函数依赖集F,
若X(X∈R)是R类属性,则X不在任何候选码中。

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值