数据库课程第6章练习(03版)

  • 格式:ppt
  • 大小:252.50 KB
  • 文档页数:32

下载文档原格式

  / 32
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习——最小函数依赖集
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 最小依赖集Fmin C→A, BC→D F= CG→D CD→B,CE→G D→E, D→G
1 F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD, CE→AG} 解:(1)将依赖右边属性单一化,结果为: AB→C, BE→C C→A, BC→D F= CG→B, CG→D CE→A,CE→G D→E, D→G ACD→B
练习——最小函数依赖集
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
2 P195 课后习题2 解:2)班级关系
班级(班级号,专业名,系名,人数,入学年份) 候选键:班级号, (专业名,入学年份) 外部键:系名 最小依赖集Fmin={班级号→专业名,班级号→人数, 班级号→入学年份,专业名→系名,(专业名,入学年 份)→班级号} 存在传递函数依赖:班级号→系名 p 存在部分函数依赖:(专业名,入学年份) →系名
练习——范式判断
解题思路: 判断主键:从函数依赖的左边属性找 判断是否存在部分、传递、多值依赖
练习——范式判断
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}
练习——最小函数依赖集
解题思路: 运用运算律(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} 要求: 求R的最小依赖集。
练习——最小函数依赖集
练习——范式判断
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属于BCNF吗?R属于4NF吗?为什么?
答案:1) AC* 或 BC* 或 AD* 或 BD* 2) 不属于BCNF和4NF
练习——选择题
答案: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 D.一个关系模式如果属于4NF,则一定属于BCNF; 反之不成立
练习——关系分解
关系模式为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 P195 课后习题2 解:3)系关系
系(系号,系名,办公室地点,人数) 候选键:系号 系名 外部键:无 最小依赖集Fmin={系号→系名,系号→办公室地点, 系号→人数,系名→系号}
练习——综合应用题
2 P195 课后习题2 解:4)学会关系
学会(学会名,成立年份,地点,人数) 候选键:学会名 外部键:无 最小依赖集Fmin={学会名→成立年份,学会名→地 点,学会名→人数}
练习——分解算法
设有关系模式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}
练习——综合应用题
2 P195 课后习题2 解:5)学生参加学会关系
学生-学会(学号,学会名,入会年份) 候选键: (学号,学会名) 外部键:学号,学会名 最小依赖集Fmin={(学号,学会名) →入会年份}
解:举反例,只要把判断表最后结果作为关 系模式R的一个关系,其值如下: A B C D 1 1 1 4 2 1 1 5 3 6 1 1
练习——关系分解的判断
F={A→B,B→C}, 分解成ρ={R1(AB), R2(BC), R3(CD)}
解:举反例
R1: A 1 2 3 B 1 1 6 R2: B 1 6 C 1 1 R3: C 1 1 1 D 4 5 1
练习——关系分解的判断
解题思路: 无损连接:借助判断表 保持函数依赖: 利用函数集等价的概念,逐一判断F中的 依赖关系是否可由F在各子关系上投影的并 集推出
练习——关系分解的判断
设有关系模式R(A,B,C,D),其函数依赖集 为F={A→B,B→C},将关系R分解成 ρ={R1(AB), R2(BC), R3(CD)} 要求: ρ是否无损连接分解?若不是,试举出反 例。
1)BCNF,(XY)* 3)BCNF,(X)*和(Y)* 2)3NF,(XY)*和(XZ)* 4)1NF,(WX)*
练习——范式判断
2 有如下关系模式R(A,D,E),要求:
(1)指出R的所有候选键 (2)列出R中的函数依赖 (3)R属于第几范式?
A a1 a2 a3 a4 D d1 d6 d4 d4 E e2 e2 e3 e4 答案: 1) A* 和 (DE)* 2) F={A→DE,DE→A} 3) R是BCNF
解: 1)Fmin= {A→C,C→A, B→A,D→A} 2)候选键为(BD)* 3)分解成{AC,AB,BD} 4)分解成{AC,BA,DA}∪{BD}
练习——综合应用题
解题思路: 根据语义分析属性之间的依赖关系 按照无损连接、保持函数依赖的3NF分解算 法进行关系规范化
练习——综合应用题
1 假设某商业集团数据库中有一关系模式R如下: R (商店编号,商品编号,数量,部门编号,负责人) 如果规定: (1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题: (1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选键; (3) 试问关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF模式集
练习——关系分解的判断
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)}
练习——选择题
答案:A
下列叙述中正确的是 ( ) A. 函数依赖X→Y的有效性仅决定于两属性集的值; 而多值依赖X→→Y的有效性与属性集的范围有关 B.函数依赖X→Y与多值依赖X→→Y的有效性都决定 于两属性集的值 C.多值依赖X→→Y若在R(U)上成立,则对任何 Y ′⊂Y都有X→→Y ′成立 D.对于函数依赖X→Y若在R(U)上成立,不能断言对 任何 Y ′⊂Y都有X→Y ′成立
关系模式为R(A,B,C,D),F是R上成立的FD集, F={AB→C,D→B},那么ρ={ACD,BD}相对于F是() R1∩R2:ACD∩BD=D R1∩R2:ACD∩ R1-R2:ACDR2-R1:BDR1-R2:ACD-BD=AC R2-R1:BD-ACD=B D→B在 D→B在F中,因此无损分解 由AB→C,D→B,得到AD→AB,和AB→C得到AD→C AB→C,D→B,得到AD→AB,和AB→C得到AD→C AD→AB, 得到 所以F ACD上的投影为:{AD→C},在BD上的投影为 上的投影为:{AD→C}, 所以F在ACD上的投影为:{AD→C},在BD上的投影为 },合并后不可以得到F={AB→C,D→B}, 合并后不可以得到F={AB→C,D→B} { D→B },合并后不可以得到F={AB→C,D→B},所以是不 保持函数依赖
R1 R2
A 1 1 1 2 2 2 3 B 1 1 1 1 1 1 6 6 6 C 1 1 1 1 1 1 1 1 1
R3
D 4 5 1 4 5 1 4 5 1
R≠R1
R2
R3
3 3
练习——分解算法
解题思路: 无损连接的BCNF分解算法 保持函数依赖的3NF分解算法 无损连接、Βιβλιοθήκη Baidu持函数依赖的3NF分解算法
解: (1)有三个函数依赖: (商店编号,商品编号) →部门编号 (商店编号,部门编号) →负责人 (商店编号,商品编号) →数量 (2) R的候选键是 (商店编号,商品编号) (3) 因为R中存在着非主属性“负责人”对候选码 (商 店编号、商品编号)的传递函数依赖,所以R属于 2NF,R不属于3NF。 (4) 将R分解成: R1 (商店编号,商品编号,数量,部门编号) R2 (商店编号,部门编号,负责人)
第六章 关系数据库的模式设计
本章主要内容
1、函数依赖的定义 2、键(候选键)的定义和判定 3 3、运算律的内容和应用 4、闭包的计算 5、最小函数依赖集的求法 6、关系模式的分解(无损联接和保持函数依赖) 7、关系模式的范式及范式级别判定的依据 8、分解成BCNF、3NF的算法 9、多值依赖
练习——无损连接
练习——综合应用题
2 P195 课后习题2 解:1)学生关系
学生(学号,姓名,出生年月,系名,班级号,宿舍区) 候选键:学号 外部键:系名,班级号 最小依赖集Fmin={学号→姓名,学号→出生年月, 学号→班级号,班级号→系名,系名→宿舍区} 存在传递函数依赖:学号→宿舍区,学号→系名
练习——综合应用题