第5章关系数据库规范化理论
1. 理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传
递依赖、超键、候选键、主键、外键、全键、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF。
2. 设关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个?其中
平凡的函数依赖有多少个?非平凡函数依赖有多少个?
3. 设有关系模式R(ABCD),F是R上成立的函数依赖之集,F={AB→CD,A→D}。
(1) 说明R不是2NF模式的理由。
(2) 将R分解成2NF模式集。
4. 设有关系模式R(ABC),F是R上成立的函数依赖之集,F={C→B,B→A}。
(1) 说明R不是3NF模式的理由。
(2) 将R分解成3NF模式集。
5. 设有关系模式:
R(职工名,项目名,工资,部门名,部门经理)。
如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一名经理。
(1) 写出关系模式R的函数依赖集合与关键码。
(2) 说明R不是2NF模式的理由,并把R分解成2NF模式集。
(3) 进而把R分解为3NF模式集,并说明理由。
6.现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。
语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。
描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区;
描述班级的属性有:班号、专业名、系名、人数、入校年份;
描述系的属性有:系名、系号、系办地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数、学生参加某回有一个入会年份。
1)请写出关系模式。
2)写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。
在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
3)指出各个关系模式的侯选关键字、外部关键字,以及有没有全关键字.
7.设关系模式R(A,B,C,D,E,F),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}.
1)求出R的侯选码。
2)求出F的最小函数依赖集。
3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。
8.设关系模式R〈A,B,C,D,E,F〉,函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D}。
1)证明AB、AC、AD均是候选关键字。
2)证明主属性C部分依赖于关键字AB,传递依赖于AD。
同时证明主属性D 部分依赖于关键字AC,传递依赖于关键字AB。
9.设关系模式R〈A,B,C,D,E,F〉,函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。
10.判断下面的关系模式是不是BCNF,为什么?
1)任何一个二元关系。
2)关系模式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号)→成绩}。
3)关系模式R(A,B,C,D,E,F),函数依赖集F={A→B,C→F,E→A,CE→A},将R分解为p={ABE,CDEF}。
判断p是否是无损连接。
11.设关系模式R{B,O,I,S,Q,D},函数依赖集F={S→D,I→S,IS→Q,B →Q}。
1)找出R的主码。
2)把R分解为BCNF,且具有无损连接性。
12.设有关系模式R(A,B,C),数据依赖集F={AB→C,C→→A},R属于第几范式?为什么?
13.设有关系模式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是否为第四范式?为什么?
3)R是不是BCNF?为什么?
4)R是不是3NF?为什么?
14.下述结论中哪些是正确的?哪些是不正确的?正确的就说明理由,不正确的请举出反例。
(1) 任何一个二元关系模式都属于3NF模式。
(2) 任何一个二元关系模式都属于BCNF模式。
(3) 任何一个二元关系模式都属于4NF模式。
(4) 任何一个二元关系模式都属于5NF模式。
(5) 在R(ABC)中,如果有A→B和B→C,则就有A→C。
(6) 在R(ABC)中,如果有A→B和A→C,则就有A→BC。
(7) 在R(ABC)中,如果有B→A和C→A,则就有BC→A。
(8) 在R(ABC)中,如果有BC→A,则有B→A和C→A。