- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.对于函数依赖X→Y若在R(U)上成立,不能断言对 任何 Y ′Y都有X→Y ′成立
练习——判断题
P197 第12题 解答:
1) 正确 2) 正确 3) 正确 4) 错误 当A->C时,也是无损连接分解
练习——判断题
P197 第12题 解答:
5) 正确 6) 正确 7) 正确 8) 错误 (学号,课号)->成绩;
D→E, D→G
练习——关系分解的判断
解题思路: 无损连接:借助判断表 保持函数依赖:
利用函数集等价的概念,逐一判断F中的依赖 关系是否可由F在各子关系上投影的并集推 出
练习——关系分解的判断
设有关系模式R(A,B,C,D),其函数依赖集为 F={A→B,B→C},将关系R分解成 ={R1(AB), R2(BC), R3(CD)} 要求: 是否无损连接分解?若不是,试举出反 例。
练习——综合应用题
2 P195 课后习题2 解:3)系关系
系(系号,系名,办公室地点,人数) 候选键:系号 系名 外部键:无 最小依赖集Fmin={系号→系名,系号→办公室地点, 系号→人数,系名→系号}
练习——综合应用题
2 P195 课后习题2 解:4)学会关系
学会(学会名,成立年份,地点,人数) 候选键:学会名 外部键:无 最小依赖集Fmin={学会名→成立年份,学会名→地 点,学会名→人数}
练习——综合应用题
2 P195 课后习题2 解:1)学生关系
学生(学号,姓名,出生年月,系名,班级号,宿舍区) 候选键:学号 外部键:系名,班级号 最小依赖集Fmin={学号→姓名,学号→出生年月,学 号→班级号,班级号→系名,系名→宿舍区} 存在传递函数依赖:学号→宿舍区,学号→系名
练习——综合应用题
R2: B C 11 61
R3: C D 14 15 11
111 4 111 5 111 1 211 4 211 5 211 1
R≠R1 R2 R3
361 4 361 5 361 1
练习——分解算法
解题思路: 无损连接的BCNF分解算法 保持函数依赖的3NF分解算法 无损连接、保持函数依赖的3NF分解算法
D.一个关系模式如果属于4NF,则一定属于BCNF; 反之不成立
练习——选择题
答案:A
下列叙述中正确的是 ( )
A. 函数依赖X→Y的有效性仅决定于两属性集的值; 而多值依赖X→→Y的有效性与属性集的范围有关 B.函数依赖X→Y与多值依赖X→→Y的有效性都决定 于两属性集的值
C.多值依赖X→→Y若在R(U)上成立,则对任何 Y ′Y都有X→→Y ′成立
练习——最小函数依赖集
1 F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C, CG→BD,CE→AG}
解:(2)去掉左边多余的属性。由于CE→A,有C→A,则E多余; 对于ACD→B,由于CD→B,则A多余。结果为: AB→C, BE→C C→A, BC→D
F= CG→B, CG→D CD→B,CE→G D→E, D→G
练习——选择题
答案:D
下列有关范式的叙述中正确的是 ( )
A. 如果关系模式R∈1NF,且R中主属性完全函数 依赖于键,则R是2NF
B. 如果关系模式R∈3NF,X,Y U,若X→Y,X含 有候选码,则R是BCNF
C.如果关系模式R∈BCNF,若X→→Y(YX)是平凡 的多值依赖,则R是4NF
第六章 关系数据库的模式设计
本章主要内容
1、函数依赖的定义 2、键(候选键)的定义和判定 3、运算律的内容和应用 4、闭包的计算 5、最小函数依赖集的求法 6、关系模式的分解(无损联接和保持函数依赖) 7、关系模式的范式及范式级别判定的依据 8、分解成BCNF、3NF的算法 9、多值依赖
练习——无损连接
练习——关系分解的判断
F={A→B,B→C}, 分解成={R1(AB), R2(BC), R3(CD)}
解:的无损连接判断表如下所示,由此可判断 相对于F不是无损连接分解。
Ri A B C D
AB a1 a2 a3
BC
a2 a3
CD
a3 a4
练习——关系分解的判断
F={A→B,B→C}, 分解成={R1(AB), R2(BC), R3(CD)}
练习——综合应用题
2 P195 课后习题2 解:5)学生参加学会关系
学生-学会(学号,学会名,入会年份) 候选键: (学号,学会名) 外部键:学号,学会名 最小依赖集Fmin={(学号,学会名) →入会年份}
关系模式为R(A,B,C,D),F是R上成立的FD集, F={AB→C,D→B},那么={ACD,BD}相对于F是()
R1R2:ACDBD=D
R1-R2:ACD-BD=AC
R2-R1:BD-ACD=B
D→B在F中,因此无损分解
由AB→C,D→B,得到AD→AB,和AB→C得到AD→C 所以F在ACD上的投影为:{AD→C},在BD上的投影为 { D→B },合并后不可以得到F={AB→C,D→B},所以是 不保持函数依赖
1)BCNF,(XY)*
2)3NF,(XY)*和(XZ)*
3)BCNF,(X)*和(Y)* 4)1NF,(WX)*
练习——范式判断
2 有如下关系模式R(A,D,E),要求:
(1)指出R的所有候选键 (2)列出R中的函数依赖 (3)R属于第几范式?
A DE a1 d1 e2
答案: 1) A* 和 (DE)* 2) F={A→DE,DE→A} 3) R是BCNF
1 假设某商业集团数据库中有一关系模式R如下: R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:
(1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题: (1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选键; (3) 试问关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF模式集
练习——关系分解
关系模式为R(A,B,C,D),F是R上成立的FD 集,F={AD→C,D→B},那么={ABC,BD} 相对于F是()
不是无损,也不保持函数依赖!
练习——选择题
答案:B
当属性B函数依赖于属性A时,属性A与B 的联系是 ( )
A. 1对多
B. 多对1
C. 多对多
D.以上都不是
2) 不属于BCNF和4NF
练习——最小函数依赖集
解题思路: 运用运算律(A氏定理) 求解算法 相关:(求闭包)
练习——最小函数依赖集
1 设有关系模式R(A,B,C,D,E,G),其函数依赖 集 为 F={AB→C , C→A , BC→D , ACD→B , D→EG , BE→C , CG→BD , CE→AG}
但学号->成绩, 课号->成绩
练习——范式判断
解题思路: 判断主键:从函数依赖的左边属性找 判断是否存在部分、传递、多值依赖
练习——范式判断
1 指出下列关系模式是第几范式?并说明理 由。
1) R(X,Y,Z) F={XY→Z} 2) R(X,Y,Z) F={Y→Z,XZ→Y} 3) R(X,Y,Z) F={Y→Z,Y→X,X→YZ} 4) R(W,X,Y,Z) F={X→Z,WX→Y}
解: (1)有三个函数依赖: (商店编号,商品编号) →部门编号 (商店编号,部门编号) →负责人 (商店编号,商品编号) →数量 (2) R的候选键是 (商店编号,商品编号) (3) 因为R中存在着非主属性“负责人”对候选码 (商
店编号、商品编号)的传递函数依赖,所以R属于 2NF,R不属于3NF。 (4) 将R分解成: R1 (商店编号,商品编号,数量,部门编号) R2 (商店编号,部门编号,负责人)
练习——最小函数依赖集
1 F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C, CG→BD,CE→AG}
解:(3)去掉多余的依赖。由于CG→D,有CD→B,可得CG→B, 所以CG→B多余。结果为:
AB→C, BE→C
C→A, BC→D F= CG→D
最小依赖集Fmin
CD→B,CE→G
2 P195 课后习题2 解:2)班级关系
班级(班级号,专业名,系名,人数,入学年份) 候选键:班级号, (专业名,入学年份) 外部键:系名 最小依赖集Fmin={班级号→专业名,班级号→人数, 班级号→入学年份,专业名→系名,(专业名,入学年 份)→班级号} 存在传递函数依赖:班级号→系名
p
存在部分函数依赖:(专业名,入学年份) →系名
解:举反例,只要把判断表最后结果作为关 系模式R的一个关系,其值如下: A BC D 1 11 4 2 11 5 3 61 1
练习——关系分解的判断
F={A→B,B→C}, 分解成={R1(AB), R2(BC), R3(CD)}
解:举反例
R1 R2 R3
ABCD
R1: A B 11 21 36
解: 1)Fmin= {A→C,C→A, B→A,D→A} 2)候选键为(BD)* 3)分解成{AC,AB,BD} 4)分解成{AC,BA,DA}∪{BD}
练习——综合应用题
解题思路: 根据语义分析属性之间的依赖关系 按照无损连接、保持函数依赖的3NF分解算
法进行关系规范化
练习——综合应用题
要求: 求R的最小依赖集。
练习——最小函数依赖集
1 F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C, CG→BD,CE→AG}
解:(1)将依赖右边属性单一化,结果为: AB→C, BE→C wk.baidu.com→A, BC→D
F= CG→B, CG→D CE→A,CE→G D→E, D→G
ACD→B
a2 d6 e2
a3 d4 e3
a4 d4 e4
练习——范式判断
3 设有关系模式R(A,B,C,D),其函数依 赖 集 为 F={A→B , B→A , AC→D , BC→D , AD→C , BD→C , A→→CD , B→→CD}
请回答如下问题: (1)指出R的所有候选键 (2答)R案属:1于) ABC*C或NFBC吗* ?或 ARD属* 或于B4DN* F吗?为什么?
练习——分解算法
设有关系模式R(A,B,C,D),其函数依赖集为 F={A→C,C→A, B→AC,D→AC} 求: 1)Fmin 2)求候选键 3)将R分解成满足BCNF且无损连接性 4)将R分解成满足3NF且无损连接性与保持 依赖性
练习——分解算法
F={A→C,C→A, B→AC,D→AC}