【2019-2020春学期】数据库作业15:第六章: 关系数据理论

本文详细介绍了关系数据理论,包括关系模式的定义、函数依赖的概念、完全和部分函数依赖、传递函数依赖以及码和范式。讨论了第二范式、第三范式和BCNF,以及如何通过模式分解达到更高范式。作业部分涉及了候选码识别和关系模式的规范化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第六章 关系数据理论

要理解逻辑设计,即为表结构
针对具体问题,构造数据模式
工具:关系数据库的规范化理论
关系模式 R(U,D,DOM,F)
R 符号化的元组语义 表名
U一组属性
D U的属性所来自的域
DOM 属性到域的映射
F是属性U上的一组数据依赖

而我们一般常用的是三元组 R<U,F>
二维表每个分量必须是不可分开的数据项。
数据依赖关系内部属性与属性之间的的一种约束关系(列与列之间的关系)
函数依赖(普遍存在于现实生活)
Sname=f(Sno) Sdept=f(Sno)
Sno函数决定Sname
Sno函数决定Sdept
记作:Sno->Sname,Sno->Sdept
简单理解,左边确定,右边也确定
F={Sno->Sdept,Sdept->Mname,(Sno,Cno)->Grade}
关系模式中
存在的问题:数据冗余 更新异常 插入异常 删除异常
原因:由于模式中的某些数据依赖引起的
解决办法:用规范化理论改造关系模式
函数依赖::设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,
r中不能存在:两个元组在X上的属性值相等,而在Y上的属性值不等
则称"X函数确定Y"或"Y函数依赖于X",则称X->Y.
X->Y,则X称为这个函数依赖的决定因素。
完全函数依赖
在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有 X’ ↛ Y, 则称Y对X完全函数依赖,记作 X → F Y X \overset F \rightarrow Y XFY
部分函数依赖
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 X → P Y X \overset P \rightarrow Y XPY
传递函数依赖
在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖。记为: X → 传 Z X \overset传\rightarrow Z XZ
注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。

设K为R<U,F>中的属性或属性组合。若 K → F U K\overset F \rightarrow U KFU,则K称为R的一个候选码。

如果U部分函数依赖于K,即 K → P U K\overset P \rightarrow U KPU,则K称为超码
候选码是最小的超码,即K的任意真子集都不是候选码。

若关系模式R有多个候选码,则选定其中的一个做为主码
包含在任意一个候选码的属性称为主属性,不包含在任何码中的属性称为非主属性
整个属性组是码,称为全码

关系模式R中属性或者属性组X并非R码,但X是另外一个关系模式的码,则称X是R的外部码,也称外码

范式
范式(NF)是符合某一级别的关系模式的集合。
范式:第一、第二、第三、BC、第四、第五
模式分解:转换成若干个高一级范式的关系模式的集合

2NF
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF
只能由码确定的非主属性,而且每一个非主属性都满足,才是第二范式
不属于2NF时,会产生问题:插入异常、删除异常、修改复杂
拆分解:把不合群的弄出来,还要把与他们有联系的弄出来
步骤:1、找码 2、主属性与非主属性 3、定义完全依赖与否 4、拆分

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<U,F>中,如果每一个决定属性集都包含候选码,则R∈BCNF。

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

平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=Ф,则称X→→Y为平凡的多值依赖。
否则称X→→Y为非平凡的多值依赖。

4NF
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。
如果一个关系模式是4NF, 则必为BCNF。

总的来说,就是如下这张图:
在这里插入图片描述候选码的求解理论和算法
闭包(记作X+)就是有一个属性直接或间接推导出的所有属性的集合。
例如:
f={a->b,b->c,a->d,e->f}
由a直接得到b、d,间接得到c
则a的闭包是{a,b,c,d}

L类 仅出现在函数依赖左边的属性
R类 仅出现在右边
N类 两边均未出现
LR类 两边都出现
总结来说:
(R为关系模式 F函数依赖集)
1、X(X∈R)是L类属性,则X必为R的任一候选码的成员。
(扩展:X(X∈R)是L类属性,且X+包含了R中的全部属性,则X必为R的唯一候选码的成员。)
2、X(X∈R)是R类属性,则X不存在任何候选码
3、X(X∈R)是N类属性,则X必包含在R的任意候选码中。
(X(X∈R)是L类和N类组成的属性集,且X+包含了R中的全部属性,则X必为R的唯一候选码。)
不能说规范化程度越高的关系模式就越好。

本章的定义比较多,但是并不妨碍我们记忆,因为本章的定义具有相似性,可以连贯记忆。在本章中,总结下来大致分为两大方面就是函数依赖以及范式,因此我自己总结一些知识点便于做题时使用。
在这里插入图片描述
在这里插入图片描述

**

课后作业:

**
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述8(2)题在下一张纸上
附加题:(选做)
一.
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4,
1.侯选码?
2. 属于第几范式?
二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
1 侯选码?
2. 最高属于第几范式?
三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}
1 侯选码?
2. 最高属于第几范式?
四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}
1 求候选码。
2. 最高属于第几范式,为什么?
3. 分解到3NF。
五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。
1 求候选码。
2. R已达第几范式?为什么?
3. 若不属于3NF,分解成3NF。
六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}
1 写出关键字。
2. 分解到2NF。
3. 分解到3NF。
4. 分解到4NF。
在这里插入图片描述在这里插入图片描述总结一下个人心得,本次作业历时时间长,在上课的时候总写下了笔记,所以在本次总结知识点并方面并没有什么问题,但是开始写体的时候,发现自己对于知识点忘掉的差不多了,因此我又在纸上总结了我认为重要的,有规律理解的部分,写作业时又在考虑是写在纸上还是在网页上直接写,刚开始试图直接在网页上写,写了一会会感觉我还是需要打草稿理解其中直接的关系,而且在本次作业中频繁出现箭头,因此我放弃在网页上写,写在本子上,历史时间很长,主要是有重新梳理了一遍关系。感觉理论知识很多,又很难理解。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值