DBS第四章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X→Y∧W→Z X∪(W-Y)→YZ
第四章 关系数据库的规范化设计 4.2 函数依赖
例1:设有关系模式R(A,B,C,D,E),其上的 函
数依赖集F={AB→CD, A→B, D→E}. 求证F必蕴涵A→E。
证明:∵A→B (已知) ∴A→AB (扩展律) ∵AB→CD (已知) ∴A→CD (传递律) ∴A→C,A→D (分解规则) ∵D→E (已知) ∴A→E (传递律)
X→Ai(i=1,2,…,n)中Ai的集合为X的属性闭包
记为
X
+ F
,即:
X
+ F
={Ai|AiU,且X→Ai在F+中}
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.4: 函数依赖X→Y能从F推出的充分必要条件是
YX+F ; (能用推理规则从F推出的所有X→Y的Y都在X +F中。
第四章 关系数据库的规范化设计 4.2 函数依赖
3
0003 C107
4
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
分析: (1)出现冗余和各种异常的原因
事物及事物的各个属性之间有一定的联系、约束 关系模式应尽量准确地反映这种内在的语义 不应把关系不密切或具有“排它”性的属性集中 (2)数据之间的联系→数据依赖→函数依赖(多对一)√
S#,
G
F={(S#, , C,#→T#} T#→TD C#
C#)→G
T#
T D
第四章 关系数据库的规范化设计
4.2 函数依赖
例2:设关系模式R(ABCD),在R的关系中,属性 值
间具有联系:
B→A
A值与B值有一对多联系; C值与D值有一对一联系;
C→D D→C
写出相应的函数依赖。 F={ B→A ,C→D ,D→C }
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
数据库模式之二的一个实例:
{S(S#,SN,SD,SA),C (C#,CN,PC#),S_C(S#,C#,
G)S }
S# SN SD SA
001 张 华 CS 17 002 李 明 MA 19 003 刘 强 CS 18
C
C# C101
CN 离散数学
S#
SN
SD
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0002 李 明 MA
0002 李 明 MA
0003 刘 强 CS
SA C#
CN PC# G
17 C101 高散数学 C110 5
17 C102 数据结构 C101 5
17 C103 操作系统 C102 4
静态约束-数据依4赖.3、关值系域模等式的分解特性 动态约束-操作对4值.4的关影系响模式的范式
数据依赖--数据之间的联系
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.1.2. 关系模式的冗余和异常问题 DBMS都是基于一定的数据模型的 (RDBMS基于关系数据模型) 用数据模型对一个单位的数据进行描述→数据模式 (关系模式 R(A1,A2, …, An) ) 关系数据库模式→关系模式的集合
求属性集闭包算法
求属性集X(XU)关于U上的函数依赖集F的闭包+FX 。 方法:① 令X(0)=X,i=0;
② 对F中的每一个函数依赖Y→Z,若Y X(i),
令X(i+1)=X(i)∪Z。 ③ 若X(i+1)X(i),则用i+1代替i,转②; ④ 若X(i+1)=X(i),则X(i)即为X ,+F算法终止。
说明: (1)函数依赖:属性值之间的联系(/实体完整性) (2)函数依赖是基于整个关系模式的,而不是关系
模式的特定实例(或值)。 (3) X→Y,称X为决定子 (4) 若X→Y,且Y→X,
记作X←→Y,X与Y一一对应 (一对一) (5)Y不依赖于X,记作X→Y
第四章 关系数据库的规范化设计 4.2 函数依赖
一定不包含在任何候选关键字中;
• 若属性A仅出现在所有函数依赖的左部,则它
一定包含在某个候选关键字中;
• 若属性A既出现在函数依赖的右部,又出现在
左部,则它可能包含在候选关键字中;
• 在上述基础上求属性闭包。
第四章 关系数据库的规范化设计
4.4 关系模式的规范化
例:设有关系模式CTHRSG(C,T,H,R,S,G),
→多值依赖(一对多) →连接依赖(分解) (3)关系数据库模式的好坏→每个关系模式对内在 语义的满足程度→分若干等级→满足的条件→范式 (4)避免的办法→依据语义分解大关系为多个小关系
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.1.3 本章的符号规定
英文字母表首部大写字母“A,B,C” 表示单个属性 英文字母表尾部大写字母“X,Y,Z” 表示属性集 大写字母R表示关系模式,小写字母r表示其关系 属性名的组合有时也表示关系模式 属性集{A1,……,An}简写为A1……An 属性集X和Y的并集X∪Y简写为XY
PC# C110
S-C
C102 数据结构 C101
S#
C#
G
C103 操作系统 C102
0001 C101
5
C105 数 据 库 C102
0001 C102
5
C107 汇 编 C110
0001 C103
4
0001 C105
3
C110 程序设计 C111
0001 C110
4
0002 C103
3
0002 C105
17 C105 数 据 库 C102 3
17 C110 程序设计 C111 4
19 C103 操作系统 C102 3
19 C105 数 据 库 C102 3
18 C107 汇 编 C110 4
这个数据库存在下列缺点:
(1)冗余度大 (2)插入异常 (3)删除异常 (4)修改异常 (未选课) ( 只选一门课)
X第(2三)=次A:BCXD(2)EX(1B);=ABCDE; 搜索F,得到EC→B,X(3)=ABCDEB=ABCDE;
第四次:X(3)=X(2), (AB)+=ABCDE;
问:AB→E能否从F中推出? Yes
第四章 关系数据库的规范化设计
4.2 函数依赖
求候选关键字的经验方法:
• 若属性A仅出现在所有函数依赖的右部,则它
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.2 函数依赖(FD)—最基本、最重要→数据库设计
4.2.1 函数依赖的定义
第四章 关系数据库的规范化设计
假定:t,s是关系R上的任意4两.1个关系元模组式,的设计问题
4.2 函数依赖
X和Y是R的属性子集 4.2.1 函数依赖的定义
如果 t[X]=s[X] t[Y]=s[44Y..]22..23 FFDD的的(逻推辑理蕴蕴规涵则涵)
第四章 关系数据库的规范化设计 4.2 函数依赖
2. 闭包 定义:被已知函数依赖集F逻辑蕴涵的所有函数 依赖的集合为F的闭包,记为F+。 即: F+ ={ X→Y| F X→Y } F与F+的关系:F F+ F=F+ 则F为函数依赖的一个完备集 表示对一个关系的全面的约束 用推理方法计算F+的一套规则:3规则+3推论
F ={ CC→→TT,HR→C,HCHTS→T→→RGR,CS→HGS,→HRS→R }
(HS)(F 0)=HS (HS)(F 1)=HSR (HS)(F 2)=HSRC (HS)(F 3)=HSRCTG (HS)(F 4)=HSRCTG
∴ HS是模式CTHRSG的唯一关键字
第四章 关系数据库的规范化设计
第四章 关系数据库的规范化设计 4.2 函数依赖
例2:设有关系模式R(A,B,C,D,E),F={AB→C, B→D,C→E,EC→B,AC→B}。求(AB)+。
解:令X=AB。
第一次:X(0)=X=AB; 搜索F中的每一个函数依赖,得到AB→C,B→D; X(1)=ABCD=ABCD
第二次:X(1)X(0); 搜索F,得到C→E,AC→B,
试分析在f1abf2acbcf3baf4cbba情况下是否具有无损分解和保持依赖的分解特性相对于f1ab是无损且保持fd的分解f2acbc是无损分解不保持fdf3ba是损失分解保持fdf4cbba是损失分解且不保持fd第四章数据依赖和关系规范化理论43关系模式的分解特性1规范化使关系模式满足某种条件的处理2范式nfnormalform关系模式满足的条件3有多级范式级别越高条件越严格1nf2nf3nfbcnf4nf5nf理论研究模式设计44关系模式的范式第四章关系数据库的规范化设计44关系模式的规范化41关系模式的设计问题42函数依赖43关系模式的分解特性44关系模式的范式441第一范式442第二范式443第三范式444bcnf445模式分解算法第四章第四章关系数据库的规范化设计关系数据库的规范化设计a平凡函数依赖与非平凡函数依赖xy且yx则xy为平凡函数依赖否则称之为非平凡函数依赖例
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.2 FD的逻辑蕴涵 1.逻辑蕴涵 设F是R(U)的一个函数依赖集,X,YU。 函数依赖X→Y不包含在F中 若满足F中所有函数依赖的任一关系r,也满足X→Y 则称F逻辑蕴涵X→Y,记为:F X→Y 或称X→Y 可从F推出 例如: F={A→B,B→C}逻辑地蕴涵 A→C
4.4 关系模式的规范化
4.2.6 FD推理规则的完备集
• 推理规则的正确性: 从F使用推理规则推出的函数依赖FD必在F+中 • 完备性: F+中的FD 都能从F中使用推理规则推出 定理4.5: FD推理规则{A1,A2,A3}是完备的。
基于同样的属性构造的关系数据库模式有好坏之分
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
例:设计一个学生学习情况数据库StuDB,它有属 性:S#(学号)、SN(姓名)、SD(所在系)、 SA(年龄)、C#(课程号)、CN(课程名)、G(成绩)、 PC#(先修课编号)。
基于这些属性,可以构造出不同的关系数据库模式。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.3 FD的推理规则
1.Armstrong公理 (以R(U)为例,X,Y,Z,WU) 自反律:如果YXU ,则X→Y 增广律:如果X→Y, ZU,则XZ→YZ(Y∪Z) 传递律: 如果X→Y且Y→Z,则X→Z
推论1:合并规则 X→Y∧X→Z X→YZ 推论2:伪传递规则 X→Y∧WY→Z XW→Z 推论3:分解规则 X→Y∧ZY X→Z 推论4:复合规则 X→Y∧W→Z XW→YZ 推论5:通用一致性定理
例1:设计一个教学情况数据库,它包含:学号S#、课程 号C#、成绩G、教师号T#、所在系TD属性,根据下述
语义写出其函数依赖集。
语义:(1)学号是一个学生的标识,课程号是一门课程的
标识
(2)一位学生所修的每门课程都有一个成绩
(3)每门课程只有一位任课教师,每位教师可教多
门课
(4)每位教师只属于一个系
满足
下列函数依赖:
C→T 每门课程仅有一位教师讲授
HR→C 程
在任一时间,每个教室只能上一门课
HT→R 上课
在一个时间一位教师只能在一个教室
CS→G
每个学生的每门课程只有一个成绩
HS→R 听课
在一个时间每个学生只能在一个教室
求其候选键。
第四章 关系数据库的规范化设计
4.4 关系模式的规范化
解:求所有候选关键字
数据库模式之一:
S_C_G(S#,SN,SD,SA,C#,SN,G,PC#)
数据库模式之二:
S(S#,SN,SD,SA) C (C#,CN,PC#) S_C(S#,C#,G)
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
关系数据库S_C_G(S#,SN,SD,SA,C#,SN,G,PC#)的一个实例
第四章 关系数据库的规范化设计 4.2 函数依赖
对一个关系模式存在的多个函数依赖,可以 通过推理,从一组已知的函数依赖F导出另一 个函数依赖集F’,反之亦然。两个函数依赖集 之间的这种互为因果关系称为逻辑蕴涵 (Logical Implication),即一个函数依赖集 逻辑地蕴涵另一个函数依赖集。
如果X → U在R上成立, 但对X的任一真子集X1都有X1→ U, 则称X为R的一个候选键。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.5 属性集闭包—使推导复杂度从指数级降到多项式级
设R(U,F),U={A1 ,A2 ,…,An}, X是U的子集 称所有从F使用推理规则推出的函数依赖
第四章 关系数据库的规范化设计
第四章 关系数据库的规范化设计
4.1 关系模式的设计问题
4.1.1 关系模式的外延和4.1内关涵系模式的设计问题 内涵-对数据及完整4.性1.1约关束系的模定式义的外→延关和系内模涵式R 外延-关系的值或实4.例1.2(元关组系模集式) 的→冗关余系和异、常表问r 题
内涵与时间独立,外延4随.1时.3间本变章化的符号规定 关系模式定义了: 4.2 函数依赖
则称X函数决定Y,或Y函数依44赖..22..于45 F属XD性,与集键闭的包联系
记为:X→Y
4.2.6 FD推理规则的完备集 4.2.7 FD的最小依赖集
例:Sno → sname Sno →44s..34ex关 关系 系模 模式 式的的分范解式特性
第四章 关系数据库的规范化设计 4.2 函数依赖
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.3:
若Ai(i=1,2, …,n)是关系模式R的属性, 则X→A1 A2…An成立的充分必要条件是:
X→Ai均成立。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.4 FD与键的联系 在关系模式R(U)中,若X U,且满足 X→U 则称X为R的一个超键。
第四章 关系数据库的规范化设计 4.2 函数依赖
例1:设有关系模式R(A,B,C,D,E),其上的 函
数依赖集F={AB→CD, A→B, D→E}. 求证F必蕴涵A→E。
证明:∵A→B (已知) ∴A→AB (扩展律) ∵AB→CD (已知) ∴A→CD (传递律) ∴A→C,A→D (分解规则) ∵D→E (已知) ∴A→E (传递律)
X→Ai(i=1,2,…,n)中Ai的集合为X的属性闭包
记为
X
+ F
,即:
X
+ F
={Ai|AiU,且X→Ai在F+中}
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.4: 函数依赖X→Y能从F推出的充分必要条件是
YX+F ; (能用推理规则从F推出的所有X→Y的Y都在X +F中。
第四章 关系数据库的规范化设计 4.2 函数依赖
3
0003 C107
4
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
分析: (1)出现冗余和各种异常的原因
事物及事物的各个属性之间有一定的联系、约束 关系模式应尽量准确地反映这种内在的语义 不应把关系不密切或具有“排它”性的属性集中 (2)数据之间的联系→数据依赖→函数依赖(多对一)√
S#,
G
F={(S#, , C,#→T#} T#→TD C#
C#)→G
T#
T D
第四章 关系数据库的规范化设计
4.2 函数依赖
例2:设关系模式R(ABCD),在R的关系中,属性 值
间具有联系:
B→A
A值与B值有一对多联系; C值与D值有一对一联系;
C→D D→C
写出相应的函数依赖。 F={ B→A ,C→D ,D→C }
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
数据库模式之二的一个实例:
{S(S#,SN,SD,SA),C (C#,CN,PC#),S_C(S#,C#,
G)S }
S# SN SD SA
001 张 华 CS 17 002 李 明 MA 19 003 刘 强 CS 18
C
C# C101
CN 离散数学
S#
SN
SD
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0001 张 华 CS
0002 李 明 MA
0002 李 明 MA
0003 刘 强 CS
SA C#
CN PC# G
17 C101 高散数学 C110 5
17 C102 数据结构 C101 5
17 C103 操作系统 C102 4
静态约束-数据依4赖.3、关值系域模等式的分解特性 动态约束-操作对4值.4的关影系响模式的范式
数据依赖--数据之间的联系
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.1.2. 关系模式的冗余和异常问题 DBMS都是基于一定的数据模型的 (RDBMS基于关系数据模型) 用数据模型对一个单位的数据进行描述→数据模式 (关系模式 R(A1,A2, …, An) ) 关系数据库模式→关系模式的集合
求属性集闭包算法
求属性集X(XU)关于U上的函数依赖集F的闭包+FX 。 方法:① 令X(0)=X,i=0;
② 对F中的每一个函数依赖Y→Z,若Y X(i),
令X(i+1)=X(i)∪Z。 ③ 若X(i+1)X(i),则用i+1代替i,转②; ④ 若X(i+1)=X(i),则X(i)即为X ,+F算法终止。
说明: (1)函数依赖:属性值之间的联系(/实体完整性) (2)函数依赖是基于整个关系模式的,而不是关系
模式的特定实例(或值)。 (3) X→Y,称X为决定子 (4) 若X→Y,且Y→X,
记作X←→Y,X与Y一一对应 (一对一) (5)Y不依赖于X,记作X→Y
第四章 关系数据库的规范化设计 4.2 函数依赖
一定不包含在任何候选关键字中;
• 若属性A仅出现在所有函数依赖的左部,则它
一定包含在某个候选关键字中;
• 若属性A既出现在函数依赖的右部,又出现在
左部,则它可能包含在候选关键字中;
• 在上述基础上求属性闭包。
第四章 关系数据库的规范化设计
4.4 关系模式的规范化
例:设有关系模式CTHRSG(C,T,H,R,S,G),
→多值依赖(一对多) →连接依赖(分解) (3)关系数据库模式的好坏→每个关系模式对内在 语义的满足程度→分若干等级→满足的条件→范式 (4)避免的办法→依据语义分解大关系为多个小关系
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.1.3 本章的符号规定
英文字母表首部大写字母“A,B,C” 表示单个属性 英文字母表尾部大写字母“X,Y,Z” 表示属性集 大写字母R表示关系模式,小写字母r表示其关系 属性名的组合有时也表示关系模式 属性集{A1,……,An}简写为A1……An 属性集X和Y的并集X∪Y简写为XY
PC# C110
S-C
C102 数据结构 C101
S#
C#
G
C103 操作系统 C102
0001 C101
5
C105 数 据 库 C102
0001 C102
5
C107 汇 编 C110
0001 C103
4
0001 C105
3
C110 程序设计 C111
0001 C110
4
0002 C103
3
0002 C105
17 C105 数 据 库 C102 3
17 C110 程序设计 C111 4
19 C103 操作系统 C102 3
19 C105 数 据 库 C102 3
18 C107 汇 编 C110 4
这个数据库存在下列缺点:
(1)冗余度大 (2)插入异常 (3)删除异常 (4)修改异常 (未选课) ( 只选一门课)
X第(2三)=次A:BCXD(2)EX(1B);=ABCDE; 搜索F,得到EC→B,X(3)=ABCDEB=ABCDE;
第四次:X(3)=X(2), (AB)+=ABCDE;
问:AB→E能否从F中推出? Yes
第四章 关系数据库的规范化设计
4.2 函数依赖
求候选关键字的经验方法:
• 若属性A仅出现在所有函数依赖的右部,则它
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
4.2 函数依赖(FD)—最基本、最重要→数据库设计
4.2.1 函数依赖的定义
第四章 关系数据库的规范化设计
假定:t,s是关系R上的任意4两.1个关系元模组式,的设计问题
4.2 函数依赖
X和Y是R的属性子集 4.2.1 函数依赖的定义
如果 t[X]=s[X] t[Y]=s[44Y..]22..23 FFDD的的(逻推辑理蕴蕴规涵则涵)
第四章 关系数据库的规范化设计 4.2 函数依赖
2. 闭包 定义:被已知函数依赖集F逻辑蕴涵的所有函数 依赖的集合为F的闭包,记为F+。 即: F+ ={ X→Y| F X→Y } F与F+的关系:F F+ F=F+ 则F为函数依赖的一个完备集 表示对一个关系的全面的约束 用推理方法计算F+的一套规则:3规则+3推论
F ={ CC→→TT,HR→C,HCHTS→T→→RGR,CS→HGS,→HRS→R }
(HS)(F 0)=HS (HS)(F 1)=HSR (HS)(F 2)=HSRC (HS)(F 3)=HSRCTG (HS)(F 4)=HSRCTG
∴ HS是模式CTHRSG的唯一关键字
第四章 关系数据库的规范化设计
第四章 关系数据库的规范化设计 4.2 函数依赖
例2:设有关系模式R(A,B,C,D,E),F={AB→C, B→D,C→E,EC→B,AC→B}。求(AB)+。
解:令X=AB。
第一次:X(0)=X=AB; 搜索F中的每一个函数依赖,得到AB→C,B→D; X(1)=ABCD=ABCD
第二次:X(1)X(0); 搜索F,得到C→E,AC→B,
试分析在f1abf2acbcf3baf4cbba情况下是否具有无损分解和保持依赖的分解特性相对于f1ab是无损且保持fd的分解f2acbc是无损分解不保持fdf3ba是损失分解保持fdf4cbba是损失分解且不保持fd第四章数据依赖和关系规范化理论43关系模式的分解特性1规范化使关系模式满足某种条件的处理2范式nfnormalform关系模式满足的条件3有多级范式级别越高条件越严格1nf2nf3nfbcnf4nf5nf理论研究模式设计44关系模式的范式第四章关系数据库的规范化设计44关系模式的规范化41关系模式的设计问题42函数依赖43关系模式的分解特性44关系模式的范式441第一范式442第二范式443第三范式444bcnf445模式分解算法第四章第四章关系数据库的规范化设计关系数据库的规范化设计a平凡函数依赖与非平凡函数依赖xy且yx则xy为平凡函数依赖否则称之为非平凡函数依赖例
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.2 FD的逻辑蕴涵 1.逻辑蕴涵 设F是R(U)的一个函数依赖集,X,YU。 函数依赖X→Y不包含在F中 若满足F中所有函数依赖的任一关系r,也满足X→Y 则称F逻辑蕴涵X→Y,记为:F X→Y 或称X→Y 可从F推出 例如: F={A→B,B→C}逻辑地蕴涵 A→C
4.4 关系模式的规范化
4.2.6 FD推理规则的完备集
• 推理规则的正确性: 从F使用推理规则推出的函数依赖FD必在F+中 • 完备性: F+中的FD 都能从F中使用推理规则推出 定理4.5: FD推理规则{A1,A2,A3}是完备的。
基于同样的属性构造的关系数据库模式有好坏之分
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
例:设计一个学生学习情况数据库StuDB,它有属 性:S#(学号)、SN(姓名)、SD(所在系)、 SA(年龄)、C#(课程号)、CN(课程名)、G(成绩)、 PC#(先修课编号)。
基于这些属性,可以构造出不同的关系数据库模式。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.3 FD的推理规则
1.Armstrong公理 (以R(U)为例,X,Y,Z,WU) 自反律:如果YXU ,则X→Y 增广律:如果X→Y, ZU,则XZ→YZ(Y∪Z) 传递律: 如果X→Y且Y→Z,则X→Z
推论1:合并规则 X→Y∧X→Z X→YZ 推论2:伪传递规则 X→Y∧WY→Z XW→Z 推论3:分解规则 X→Y∧ZY X→Z 推论4:复合规则 X→Y∧W→Z XW→YZ 推论5:通用一致性定理
例1:设计一个教学情况数据库,它包含:学号S#、课程 号C#、成绩G、教师号T#、所在系TD属性,根据下述
语义写出其函数依赖集。
语义:(1)学号是一个学生的标识,课程号是一门课程的
标识
(2)一位学生所修的每门课程都有一个成绩
(3)每门课程只有一位任课教师,每位教师可教多
门课
(4)每位教师只属于一个系
满足
下列函数依赖:
C→T 每门课程仅有一位教师讲授
HR→C 程
在任一时间,每个教室只能上一门课
HT→R 上课
在一个时间一位教师只能在一个教室
CS→G
每个学生的每门课程只有一个成绩
HS→R 听课
在一个时间每个学生只能在一个教室
求其候选键。
第四章 关系数据库的规范化设计
4.4 关系模式的规范化
解:求所有候选关键字
数据库模式之一:
S_C_G(S#,SN,SD,SA,C#,SN,G,PC#)
数据库模式之二:
S(S#,SN,SD,SA) C (C#,CN,PC#) S_C(S#,C#,G)
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
关系数据库S_C_G(S#,SN,SD,SA,C#,SN,G,PC#)的一个实例
第四章 关系数据库的规范化设计 4.2 函数依赖
对一个关系模式存在的多个函数依赖,可以 通过推理,从一组已知的函数依赖F导出另一 个函数依赖集F’,反之亦然。两个函数依赖集 之间的这种互为因果关系称为逻辑蕴涵 (Logical Implication),即一个函数依赖集 逻辑地蕴涵另一个函数依赖集。
如果X → U在R上成立, 但对X的任一真子集X1都有X1→ U, 则称X为R的一个候选键。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.5 属性集闭包—使推导复杂度从指数级降到多项式级
设R(U,F),U={A1 ,A2 ,…,An}, X是U的子集 称所有从F使用推理规则推出的函数依赖
第四章 关系数据库的规范化设计
第四章 关系数据库的规范化设计
4.1 关系模式的设计问题
4.1.1 关系模式的外延和4.1内关涵系模式的设计问题 内涵-对数据及完整4.性1.1约关束系的模定式义的外→延关和系内模涵式R 外延-关系的值或实4.例1.2(元关组系模集式) 的→冗关余系和异、常表问r 题
内涵与时间独立,外延4随.1时.3间本变章化的符号规定 关系模式定义了: 4.2 函数依赖
则称X函数决定Y,或Y函数依44赖..22..于45 F属XD性,与集键闭的包联系
记为:X→Y
4.2.6 FD推理规则的完备集 4.2.7 FD的最小依赖集
例:Sno → sname Sno →44s..34ex关 关系 系模 模式 式的的分范解式特性
第四章 关系数据库的规范化设计 4.2 函数依赖
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.3:
若Ai(i=1,2, …,n)是关系模式R的属性, 则X→A1 A2…An成立的充分必要条件是:
X→Ai均成立。
第四章 关系数据库的规范化设计 4.2 函数依赖
4.2.4 FD与键的联系 在关系模式R(U)中,若X U,且满足 X→U 则称X为R的一个超键。