第五章 关系数据理论第一次课
第5章 关系数据理论
pYYf ,。否则称为Y对X部分
(S#,C#)f G, (S#,C#)pSN
– 快速热身2:找出S中的另一部分函数依赖。
– 传 且Y递函X数,依Y赖:X在,R则(U称)中Z,对如X传果递X函Y数,依Y赖。Z,
S# SD,SD DEAN
– 快速热身3:找出职工工资表中的传递函数依赖。
多值依赖(Ⅴ)
找出关系上所满足的多值依赖。
A
B
C
a1
b1
c1
a1
b1
c2
a2
b1
c1
a2
b1
c3
CB?若使BC成立,需加入哪些元组?
A
B
C
A
B
C
A
B
C
t1 a1 b1 c1 t3 t2.A t1.B t1.C t3 a2 b1 c1 t2 a2 b1 c1 t4 t1.A t2.B t1.C t4 a1 b1 c1
BCNF(Ⅲ)
定义 – 设关系模式R 1NF,如果对于R的每个函数依赖 XY,X必为候选码,则RBCNF。 如SPC BCNF,因为P# C#,而P#不是候选码。
改造 将S分解为(S#,P#),(P#,C#)。
思考
(S# , C# , ORDER),表示学生选修课程的名次,有函数 依赖(S#,C#) ORDER, (C#,ORDER) S#,它属 于BCNF吗?
·A1自反律(Reflexivity):若 yX U, 则X->Y为F所蕴含。
·A2增广律(Augffientation);若X->Y为F 所蕴含,且Z U,则XZ一>YZ为F所蕴含。
·A3传递律(Transitivity):若 X->Y及 Y->Z为 F所蕴含,则 X->Z为 F所蕴含。
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
第五章关系数据理论
第五章关系数据理论部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑第五章关系数据理论6.3 数据依赖的公理系统1. 逻辑蕴含定义6.11 对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立, (即对于r中任意两个元组s,t,若s[X]=t[X],则s[Y]t[Y]>,则称F逻辑蕴含X→Y例如R(X, Y,Z>,F={X→Y, Y→Z}X→Z为了求得给定关系模式的码,为了从一组给定的函数依赖求得蕴涵的函数依赖,就需要一套推理规则。
这组推理规则是Armstrong于1974年提出的,所以称为Armstrong公理系统。
2. Armstrong公理系统一套推理规则,是模式分解算法的理论基础用途:求给定关系模式的码从一组函数依赖求得蕴含的函数依赖关系模式R <U,F >来说有以下的推理规则:Al.自反律<Reflexivity):若Y X U,则X →Y为F所蕴含。
(Sno,S name> →Sname注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于FA2.增广律<Augmentation):若X→Y为F所蕴含,且Z→U,则XZ→YZ为F所蕴含。
A3.传递律<Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。
定理 6.1 Armstrong推理规则是正确的<l)自反律:若Y X U,则X →Y为F所蕴含证: 设Y X U对R <U,F> 的任一关系r中的任意两个元组t,s:若t[X]=s[X],由于Y X,有t[y]=s[y],所以X→Y成立.自反律得证<2)增广律: 若X→Y为F所蕴含,且Z U,则XZ→YZ 为F 所蕴含。
证:设X→Y为F所蕴含,且Z U。
设R<U,F> 的任一关系r中任意的两个元组t,s;若t[XZ]=s[XZ],则有t[X]=s[X]和t[Z]=s[Z];由X→Y,于是有t[Y]=s[Y],所以t[YZ]=s[YZ],所以XZ→YZ为F所蕴含.增广律得证。
第五章关系数据理论
范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 周口师范学院计算机科学系 2019年3月26日1时57分 第五范式(5NF)
29
周口师范学院计算机科学系02级教育专业
各种范式之间存在联系:后者是前者的真子集 1NF 2NF 3NF BCNF 4NF 5NF
2019年3月26日1时57分
周口师范学院计算机科学系
4
周口师范学院计算机科学系02级教育专业
一、概念回顾
关系:用于描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及 属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用 关系来描述现实世界。
2019年3月26日1时57分 周口师范学院计算机科学系 6
周口师范学院计算机科学系02级教育专业
三、什么是数据依赖
1. 完整性约束的表现形式
限定属性取值范围:例如学生成绩必须在 0-100之间 定义属性值间的相互关连(主要体现于值 的相等与否),这就是数据依赖,它是 数据库模式设计的关键
2019年3月26日1时57分
一、函数依赖
定义5.1 设R(U)是一个属性集U上的关 系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r中 不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数 确定Y” 或 “Y函数依赖于X”,记作X→Y。 X称为这个函数依赖的决定属性集 (Determinant)。 Y=f(x)
2019年3月26日1时57分 周口师范学院计算机科学系 14
⒊ 插入异常(Insertion Anomalies)
该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把 这个系及其系主任的信息存入数据库。
关系数据理论(1)
5.4
关系模式分解
关系模式分解的基本概念 分解的无损连接性和保持函数 依赖性 模 关系数据理论
第五章 关系数据理论
5.1 5.2 关系数据理论概述
关系数据理论即关系数据库设计理论,是设计关系数 据库的指南,是关系数据库的理论基础。
规范化理论
关系模型之所以有许多优点,最根本的原因是关系模 型的操作对象是一组结构简单、逻辑严密的二维平面表。 这就是规范化的关系模式。
5.3 5.4
数据依赖的公理系统
讨论函数依赖的推理规则,是掌握关系数据理论的重 要知识。
模式分解
用模式分解算法讨论模式等价问题。
5.1
关系数据理论概述
1. 什么是“规范化理论” 2. 什么称“数据依赖”(即数据依赖的非形式化概 念) 3. 如何构造一个适合于一个具体问题的数据库模式
5.2
规范化理论
1. 函数依赖 2. 码 3. 范式 4. 2范式(2NF) 5. 3范式(3NF) 6. BC范式(BCNF) 7. 多值依赖 8. 4范式(4NF) 9. 5范式(5NF) 10. 规范化小结
5.3
数据依赖的公理系统
函数依赖的逻辑蕴含定义与推理规则 Armstrong公理的完备性 函数依赖集的覆盖
第5章 关系数据库理论优秀课件
说明:
1. 函数依赖不是指关系模式R的某个或某些 关系实例满足的约束条件,而是指R的所有关 系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数 据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不 允许有同名人的条件下成立 3. 数据库设计者对语义的现实作出设计。
码的定义
设 K 为 R< U,F > 中的属性或属性组,若 K F U 则 K 为 R 的 码。
传递函数依赖
定义3 在关系模式R(U)中,如果X→Y,且Y X, Y→X ,
Y→Z ,则称Z对X传递函数依赖。(或称Z传递函数依赖 于X)
注: 如果Y→X, 即X←→Y,则Z直接依赖于X。 例: 在关系(学号,系名,系主任)中,有:
例如,X:(学号, 姓名) Y: (姓名)
则: (学号, 姓名) (姓名)
增广律:若 XY 为F所蕴含,且 Z 属于 U, 则 XZ YZ 为 F 所蕴含。
例如: 学号 姓名 (学号, 班级) (姓名, 班级)
传递律:若 XY 及 YZ 为F所蕴含, XZ 为 F 所蕴含。
例如: 学号 班级号,班级号 专业
例: 成绩(学号, 课程号, 成绩)中, 由于:学号 →成绩,课程号 → 成绩, 因此:(学号, 课程号) f 成绩
例: 选课(学号,课程号,姓名,课程名)中 由于:学号 →姓名,课程号 →姓名, 因此:(学号, 课程号) p 姓名
由于:学号 →课程名,课程号 →课程名, 因此:(学号, 课程号) p 课程名
数据库技术与应用PPT课件第五章 关系数据理论
5.2.3 范式(续)
• 3. 2NF
– 2NF的定义 • 若R1NF,且每个非主属性完全依赖于码,则称 R2NF • 消除非主属性对码的部分依赖 如S2NF,因为 (Sno,Cno)p SN (Sno,Cno)p SD
2020/7/18
5.2.3 范式(续)
• 3. 2NF
– 1NF到2NF的改造
4
500
钱广
5
600
孙志
6
700
李开
5
600
周祥
6
700
2020/7/18
5.1.2 数据库设计中的数据语义问题(续)
• 2. 示例关系的问题: – (1) 信息的不可表示问题
• 插入异常: – 如果没有职工具有8级工资,则8级工资的工资数额就难以插 入
• 删除异常: – 如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4 级工资的工资数额信息也随之删除了
思考:找出职工工资表中的传递函数依赖
2020/7/18
5.2.2 码
• 候选码 设K为R< U , F >的属性或属性组合,若K FU,则称K为R的候 选码
• 主码 若R(U , F)有多个候选码,则可以从中选定一个作为R的主码
• 主属性/非主属性 包含/(不包含)在每一个候选码中的属性,称作主/(非主)属性
• 插入异常 • 删除异常 • 更新异常 • 数据冗余
2020/7/18
5.2.3 范式(续)
• 4. 3NF
U , F >中,若不存在这样的码X,属性组Y及 非主属性Z(Z Y),使得下式成立, XY , YZ , Y X 则称R3NF
• 消除非主属性对码的传递依赖 如S_SD 3NF,因为有SnoSD,SDDEAN
数据库系统概论关系数据理论
定理5.3:
每一个函数依赖集F均等价于一个极小函数依赖集Fm (此Fm称为F的最小 依赖集)。
求极小函数依赖集Fm的步骤:
例3
已知:F=﹛A→B,B→A,B→C,A→C,C→A﹜ 求F 的极小函数依赖集Fm 解: 1.化右部为单一属性:F=﹛A→B,B→A,B→C,A→C,C→A﹜ 2. ①在F中去掉A→B, (A)F+={AC},∵B∈ (A)F+ ,∴不去掉。
F=﹛AB→C,B→D,C→E,EC→B,AC→B﹜。
求(AB)F+ 由算法7.1得:
设X(0) ={AB},
计算X(1),扫描F中各函数依赖,找左部为A,B,AB的函 数依赖:AB→C,B→D,
于是X(1)=AB∪CD={ABCD},
因为X(0) ≠ X(1)
Байду номын сангаас
计算X(2),扫描F中各函数依赖,找左部为X(1)的子集的函数 依赖:AC→B,C→E,
AF→I,I→J﹜。
2. ①A→B:记G=F-﹛A→B﹜,
∴(A)G+= ﹛ACDEB﹜ , ∴ B∈ (A)G+ , ∴去掉A→B ,
F=F-﹛A→B﹜=﹛ A→C,A→D,A→E,D→E,DE→B, AF→G, AF→H, AF→I,I→J ﹜ 。
②A→C:记G=F-﹛ A→C ﹜,
∴(A)G+= ﹛ADEB﹜ , ∴ C∈ (A)G+ , ∴不去掉A→C ,
三. 举例
例2. 关系模式WSC(W,S,C)中,W表示仓库,S表示保管员,C表示商 品.
四. 多值依赖的性质:
(1).多值依赖具有对称性。即若X→→Y,则X→→Z, 其中Z=U-X-Y。
(2). 多值依赖的传递性。 X→→Y,Y→→Z,则X→→Z-Y。
关系数据理论
数据依赖的公理系统
算法(求属性集的闭包) Input:X,F Output: XF 步骤: (1)令X(0)=X,i=0 (2)求B,B={A|(V)(W)(VW∧V X(i) ∧A∈W)} (3) X(i+1)=B∪X (i) (4)判断X(i+1)=X (i) ? (i+1) (i+1) (5)若相等,或X =U,则X 就是 X F,算法终止。 (6)若否,则i=i+1,返回第二步。
数据依赖的公理系统
定义 – 对于满足一组函数依赖F的关系模式R< U, F >,其 任何一个关系r,若函数依赖XY都成立,则称F 逻辑蕴涵XY。 Armstrong公理 在关系模式R< U, F >中,X,Y,Z是属性集, – 自反律。若YXU, 则XY为F所蕴含。 – 增广律。若XY为F所蕴含,且ZU,则XZ YZ 为F所蕴含。 – 传递律。若XY及YZ为F所蕴含,则XZ为F所 蕴含。
2NF(II)
关系模式S(SNO, SNAME , DEPT , HEAD , CNO , G)
不良特性
– 插入异常:如果学生没有选课,关于他的个人信息 及所在系的信息就无法插入。 – 删除异常:如果删除学生的选课信息,则有关他的 个人信息及所在系的信息也随之删除了。 – 数据冗余:如果一个学生选修了k门课,则有关他的 所在系的信息重复 – 更新异常:如果学生转系,若他选修了k门课,则需 要修改k次。
函数依赖
函数依赖于属性间的联系类型有关。当X、
Y之间是“1对1”联系时,则存在函数依 赖XY和Y X。当X、Y之间是“多对 1”联系时,则存在函数依赖XY。当X、 Y之间是“多对多”联系时,则不存在函 数依赖。 函数依赖不是指关系模式R的某个或某些 关系满足的约束条件,而是指R的一切关 系均要满足的约束条件。
第5章关系数据理论.ppt
2019/10/18
数据库系统
13
第五章 关系数据理论
(4)部分函数依赖: XY,但Y不完全函数依赖于X, 即存在X’ X,有X’Y。
记作 X p Y
如在 S(S#,SN,SD,SA)中,因为 S#SD, 所以 (S#,SN) p SD
又如:(Sno,Cno)→Sdept是部分函数依赖
(5)传递函数依赖:若XY,Y X,YZ, 且Z(XY)= ,则称Z对X是传递函数依赖。
职工关系(工号,姓名,工种,车间号) 车间关系(车间号,车间名,车间主任) 定额关系(工号,日期,定额,超额,车间号)
本节开头
2019/10/18
本章开头
数据库系统
下一节
7
第五章 关系数据理论
§2 数据依赖
数据模型中我们讨论了实体间的联系,同时提到实体内部 属性间也有联系。事实上上一节中的问题都是由于属性间的联 系引起的。
微分方程
高等代数 数学分析
这是产生问题的原因吗?
…… 数据库系统
17
第五章 关系数据理论
2、多值依赖(MultiValued Dependency,缩写为MVD)
设 R(U)是属性集U上的关系模式,X、Y、Z是U的子集,
且Z=UXY,多值依赖XY成立当且仅当对R(U)的任一关
系r,任给的一对(x,z)值有一组Y的值,这组值仅仅取决于
一方面,修改工作量大; 另一方面,可能漏改或该错,会造成数据的不一致性;
上例充分说明对关系模式若随意设计,其后果是严重的。 本章将要讨论产生上述问题的原因以及解决办法,即如何改 造一个不好的关系模式。这就是规范化理论要解决的主要问题。
2019/10/18
数据库系统
关系数据理论课后答案
关系数据理论课后答案第五章关系数据理论习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、1NF、2NF、3NF、BCNF、多值依赖、4NF。
解析:解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答:函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X",记作X→Y。
解析:(1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。
(2)函数依赖是属性之间的一种联系,体现在属性值是否相等。
由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。
(3)要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。
(4)函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。
答:完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'Y,则称Y对X完全函数依赖,记作:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:?→Z,则称Z对X传递函数依赖。
传递依赖:在R(U)中,如果X→Y,(Y候选码、主码:设K为R<u,f>中的属性或属性组合,若K→U(完全依赖)则K为R的候选码(Candidate key)。
若候选码多于一个,则选运其中的一个为主码(Pdmary key)。
解析:1)这里我们用函数依赖来严格定义码的概念。
在第二章中我们只是描述性地定义码(可以复习若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidate key)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F:为属性U上的 一组约束,即数据依赖集。
例如:学习关系SC中存在如下数据依赖: (SNO,CNO) GRADE 学生关系S中存在如下数据依赖:
SNO SNAME
(SNO,SNAME) AGE
关系模式一般形式可简化为:
R < U, F >
泛关系模式
满足上述制约条件F的关系用符号 r 表示
r
例如 :
3、平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y X,则称X→Y是非平凡的函数依赖 若X→Y,但Y X, 则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno
X‘
Y, 则称Y完全函数依赖于X,记作X f Y。
P
若X→Y,但Y不完全函数依赖于X,则称Y部分函数
依赖于X,记作X
Y。
An Introduction to Database System
完全函数依赖与部分函数依赖(续)
例: 在关系SC(Sno, Cno, Grade)中,
由于:Sno →Grade,Cno → Grade,
An Introduction to Database System
⒉ 函数依赖的基本性质(推理规则)
(1) 自反性 若Y是X的子集,X是U的子集,则X → Y。 例如,(SNO,CNO)→SNO和(SNO,CNO)→CNO。
(2)复合性 若X→Y且W→Z,则(X,W)→(Y,Z)。 例如,SNO→(SN,AGE),DEPT→MN,则有(SNO, DEPT)→(SN,AGE,MN)。
这是否是最佳模式? 查询学生所学课程的任课教师?
一般而言,规范化设计关系模式,是将结 构复杂的关系分解成结构简单的关系,从 而把不好的关系数据库转变成较好的关系 数据库。
首先讨论一个关系属性间不同的依赖情况,讨
论如何根据属性间的依赖情况来判定关系是否 具有某些不合适的性质。
通常按属性间依赖情况来区分关系规范化的程
数据库实用教程(第三版)
第五章
规范化设计
第五章
规范化设计
本章讨论如何采用关系模型设计关系数据库。
关键:关系数据库模式的设计。 即:
应该构造几个关系模式?
每个关系模式由哪些属性组成?
如何将这些相互关联的关系模式组建成一个适合的关系模型?
本章重要概念:
数据依赖的定义、数据依赖与关键码的联系;平凡的FD。
① 数据冗余
② 修改异常
③ 插入异常
④ 删除异常
要如何解决这个问题?
例: R ( SNO,CNO,CNAME,TNAME )
把R分解成2个关系模式:
SNO S2 S4 S6 S6 S4 S8 CNO C4 C4 C4 C2 C2 C6 CNO C4 C2 C6 CNAME PASCAL ADA BASIC TNAME WEN LIU MA
当 Y 不函数依赖于 X 时,记作: X Y→X时,则记作:X Y。
Y 。当X→Y且
有一个关于学生选课、教师任课的关系模式: R={SNO,SNAME,CNO,GRADE,CNAME, TNAME,TAGE}
每个学号只能有一个学生姓名: SNO → SNAME 每个课程号只能决定一门课程: CNO → CNAME 每个学生每学一门课程,有一个成绩: (SNO,CNO)→ GRADE 还可以写出哪些FD?
二.关系模式的存储异常问题
在数据管理中,数据冗余一直是影响系统性能的大问题。
数据冗余是指同一个数据在系统中多次重复出现。
例: R ( SNO,CNO,CNAME,TNAME ) R的一个实例:
例: R ( SNO,CNO,CNAME,TNAME )
存在的问题:
R的一个实例:
SNO S2 S4 S6 S6 S4 S8 CNO C4 C4 C4 C2 C2 C6 CNAME PASCAL PASCAL PASCAL ADA ADA BASIC TNAME WEN WEN WEN LIU LIU MA
平凡函数依赖与非平凡函数依赖(续)
– 于任一关系模式,平凡函数依赖都是
必然成立的,它不反映新的语义,因
此若不特别声明, 我们总是讨论非平
凡函数依赖。
An Introduction to Database System
4、完全函数依赖与部分函数依赖 定义:在关系模式R(U)中,如果X→Y,并且对于X的 任何一个真子集X’,都有
(3) 合并性 若X→Y且X→Z则必有X→(Y,Z)。 例如,SNO→( SN , AGE ),SNO→DEPT,则有SNO→ (SN,AGE,DEPT)。 (4) 分解性 若X→( Y , Z ),则X→Y且X→Z。很显然,分解性为 合并性的逆过程。
由合并性和分解性,很容易得到以下事实: X→A1,A2,…,An成立的充分必要条件是 X→Ai(i=1,2,…,n)成立。
函数依赖与属性间的联系类型有关
① 在一个关系模式中,如果属性X与Y有1:1联系时, 则存在函数依赖X→Y,Y→X,即X Y。 例如,当学生没有重名时,SNO SNAME。 ② 如果属性 X 与 Y 有 m:1 的联系时,则只存在函数依赖 X→Y。 例如,SNO与AGE,DEPT之间均为m:1联系,所以有 SNO→AGE ,SNO→DEPT。 ③ 如果属性X与Y有m:n的联系时,则X与Y之间不存在任 何函数依赖关系。 例如,一个学生可以选修多门课程,一门课程又可以为 多个学生选修,所以 SNO 与CNO 之间不存在函数依赖 关系。
关系模式的范式:1NF,2NF,3NF,BCNF。 MVD、4NF和5NF的定义。
§1 概 述 一、关系模式的一般形式:
R < U, D, Dom, F >
R < U, D, Dom, F >
其中: U:为组成关系R的全部属性的集合,即U={A1,A2,……An}。 D:为域的集合,即属性的取值范围的集合。 Dom:为U与D之间的映象,即Dom:UD| Dom安全约束集。
度为第一范式、第二范式、第三范式、BC范式 和第四范式等。
然后直观地描述如何将具有不合适性质的关系
转换为更合适的形式。
§2
数据依赖:
函数依赖
把数据之间存在的联系称为“数据依赖”。 数据依赖描述的是属性与属性之间的U,F):
U是属性全集,F是U上的函数依赖集,X和Y 是 U的子集。 如果对于 R ( U )的任意一个可能的关系 r ,对 于X的每一个具体值,Y都有唯一的具体的值与之 对应,则称 X 函数决定 Y ,或 Y 函数依赖于 X ,记 X→Y。 我们称X为决定因素,Y为依赖因素。
表示的关系称为 :
泛关系
其 中:
学习关系模式 SC < U, F >
U= { SNO, CNO, GRADE }
F={ ( SNO, CNO ) GRADE }
设计关系数据库的核心问题是关系模式的设计
。
对于一个数据库设计,可以有多个关系模式的选择。
按照什么原则来选择关系模式? 标准是什么?
如何实现?
因此:(Sno, Cno) f Grade
An Introduction to Database System
5、传递函数依赖
定义:在关系模式R(A1,A2,……An)中,已知 X Y ,Y Z (Y X, Z Y不存在Y X),则称 X t Z 是传递函数依赖。
注意:若有Y X,则 X
Y ,这时 Z对X是直接函数依赖,而不
是传递函数依赖。
例:SNO DEPT,DEPT SNO,而DEPT MN ,则SNO和 MN就是传递函数依赖。
当学生不重名 的情况下, SNO SNAME, SNAME SNO,SNO
SNAME ,SNAME DEPT,这时DEPT对SNO是直接函数依赖。
由于函数依赖与属性之间的联系类型有关, 所以在确定属性间的函数依赖时,可以从分析属 性间的联系入手,便可确定属性间的函数依赖。
说明:
1.
函数依赖不是指关系模式R的某个或某些关系实例满足的 约束条件,而是指R的所有关系实例均要满足的约束条件。
2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定 函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人 的条件下成立。 3. 数据库设计者可以对现实世界作强制的规定。例如规定不 允许同名人出现,函数依赖“姓名→年龄”成立。所插入 的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。