关系数据库逻辑设计 数据库逻辑设计的工具──关系数据库的规范化理论 作为二维表,关系要符合一个最基本的条件: 每个分量必须是不可分开的数据项。 数据依赖 主要类型: 1、函数依赖普遍存在于现实生活中 描述一个学生关系,可以有学号、姓名、系名等属性。 Sname=f(Sno),Sdept=f(Sno) 定义6.1 若X→Y,并且Y→X, 则记为X←→Y。 X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。 定义6.2 定义6.3 定义6.4 如果U部分函数依赖于K,即 若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 整个属性组是码,称为全码(All-key) 定义6.5 范式是符合某一种级别的关系模式的集合。 各种范式之间存在联系: 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。 定义6.6 一个关系模式不属于2NF,会产生以下问题: 出现这种问题的原因: 解决方法: 定义6.7 BCNF是修正的第三范式,有时也称为扩充的第三范式。 定义6.8 定义6.9 平凡多值依赖和非平凡的多值依赖 定义6.10 如果一个关系模式是4NF, 则必为BCNF。 关系模式规范化的基本步骤 1NF ->BCNF 是消除决定因素非码的非平凡函数依赖 闭包(记作X+)就是有一个属性直接或间接推导出的所有属性的集合。 L类 仅出现在函数依赖左边的属性 须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式。上面的规范化步骤可以在其中任何一步终止。而非盲目的追求规范化程度更高的关系模式 一. 【注】 AB→D 等价于 (A,B)→ D D→BF 等价于 D→B, D→F 心得体会
· 针对具体问题,如何构造一个适合于它的数据模式
满足了这个条件的关系模式就属于第一范式(1NF)
是一个关系内部属性与属性之间的一种约束关系 :
(1)通过属性间值的相等与否体现出来的数据间相互联系
(2)是现实世界属性间相互联系的抽象
(3)是数据内在的性质
(4)是语义的体现
1、函数依赖(Functional Dependency,简记为FD)
2、多值依赖(Multi-Valued Dependency,简记为MVD)
(1)一个学号只对应一个学生,一个学生只在一个系中学习
(2)“学号”确定后,学生姓名及所在系的值就被唯一确定。
即Sno函数决定Sname
Sno函数决定Sdept
记作 Sno→Sname,Sno→Sdept函数依赖
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,
r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,
记作X→Y。
若X→Y,则X称为这个函数依赖的决定因素
若Y不函数依赖于X, 则记为
X→Y。
X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。
若不特别声明, 我们总是讨论非平凡函数依赖。
在R(U)中,如果X→Y,并且对于X的任何一个真子集 X’, 都有 X’ ↛ Y, 则称Y对X 完全函数依赖,记作
X→FY。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作
X→PY。
在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X 传递函数依赖 (transitive functional dependency)。记为:X → Z。
注: 如果Y→X, 即X←→Y,则Z直接依赖于X,而不是传递函数依赖。码
设K为R<U,F>中的属性或属性组合。若
K→FU,则K称为R的一个候选码(Candidate Key)。
K→PU,则K称为超码 。
候选码是最小的超码,即K的任意真子集都不是候选码。
包含在任何一个候选码中的属性 ,称为主属性
不包含在任何码中的属性称为非主属性
关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。范式
种类:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
1NF⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF
某一关系模式R为第n范式,可简记为R∈nNF。2NF
若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF
(1)插入异常
(2)删除异常
(3)修改复杂
有两类非主属性
用投影分解把该关系模式分解成两个关系模式3NF
设关系模式R<U,F>∈1NF,若R中不存在这样的码X、属性组Y及非主属性Z(Z ⊇ Y), 使得X→Y,Y→Z成立,Y ↛ X不成立,则称R<U,F> ∈ 3NF。
SC没有传递依赖,因此SC ∈ 3NF
S-L中Sno →Sdept( Sdept ↛ Sno), Sdept→Sloc,可得
Sno→传Sloc。
解决的办法(是将S-L分解成
S-D(Sno,Sdept)∈ 3NF
D-L(Sdept,Sloc)∈ 3NFBCNF
设关系模式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为非平凡的多值依赖。
关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R<U,F>∈4NF。
1NF -> 消除非主属性对码的部分函数依赖-> 2NF ->消除非主属性对码的传递函数依赖-> 3NF ->消除主属性对码的部分和传递函数依赖-> BCNF ->消除非平凡且非函数依赖的多值依赖-> 4NF
例如:
f={a->b,b->c,a->d,e->f}
由a直接得到b、d,间接得到c
则a的闭包是{a,b,c,d}
R类 仅出现在右边
N类 两边均未出现
LR类 两边都出现
附加题
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
三.
R(X,Y,Z,W)
F={Y←→W,XY→Z}
四.
R(A,B,C,D,E) F={A→B,CE→A,E→D}
五.
R(商店编号,商品编号,数量,部门编号,负责人)
每个商店的每种商品只在一个部门销售,
每个商店的每个部门只有一个负责人,
每个商店的每种商品只有一个库存数量。
六.
R(A,B,C,D,E,F) F={A→C,AB→D,C→E,D→BF}
说来可能不信,我做了快一天才写完,主要因为不熟练,还有就是我做事比较慢,有时候要反反复复的确认。看了视频,定义例子看了超多遍。(做题的时候还是有点记不住)现在,判断候选码很熟练,关于范式不太熟练,定义还要背一背。我打算把所有的定义,最后都写在一个本子上方便复习(主要是按自己的记忆方法顺序,我记忆力真的不太好),以前写的都和题混在一起,不太简洁。做题是手写的,虽然没有很好看,但有几张为了工整还重写了。。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算