**1.**要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会有一个入会年份。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。
描述班级的属性有:班号、专业名、系名、人数、入校年份。
描述系的属性有:系号、系名、系办公室地点、人数。
描述研究会的属性有:研究会名、成立年份、地点、人数。
(1)试给出上述数据库的关系模式;
(2)写出每个关系的最小依赖集(即基本的函数依赖集,不是导出的函数依赖);
(3)指出是否存在传递函数依赖;
(4)对于函数依赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,指出各关系的候选键、外部键。
(1)关系模式
学生(学号、姓名、出生年月、班号、宿舍区)
班级(班号、专业名、系号、入校年份)
系(系号、系名、系办公室地点)
研究会(研究会名、成立年份、地点、人数)
学生加入研究会(学号、研究会名、入会年份)
(2)最小依赖集
学号->(姓名、出生年月、系号、班号)
系名->宿舍区
班号->(专业名、系号、人数、入校年份)
系号->(系名、系办公室地点、人数)
研究会名->(成立年份、地点、人数)
(学号、研究会名)->入会年份
(3)传递依赖
学号->宿舍区
班级->宿舍区
学号->系号
班级->系号
(4)(学号、研究会名)->入会年份 是 部分函数依赖
学生:候选键 学号 外部键 班号
班级:候选键 班号 外部键 系号
系:候选键 系号 外部键 无
研究会: 候选键 研究会名 外部键 无
(5)入会关系: 候选键 (研究会名、学号) 外部键 研究会名 或 学号
**2.**设有关系模式R(A,B,C,D,E,F),函数依赖集F={(A,B)→E,(A,C)→F,(A,D)→B,B→C,C→D},求出R的所有候选关键字。
L = A, Ri = EF, LR = BCD
(AB)F+ = {ABCDEF}
(AC)F+ = {ABCDEF}
(AD)F+ = {ABCDEF}
LR - {A} - {B} - {C} = 空,不必考虑两种组合
候选码有AB,AC,AD
**3.**设有关系模式R(X,Y,Z),函数依赖集为F={(X,Y)→Z}。请确定SC的范式等级,并证明。
BCNF范式
证明:关系R的候选码为(X、Y),对于F中的唯一一个依赖关系(X,Y)→Z,(X、Y)包含了R的一个候选码,得证
**4.**设有关系模式R(A,B,C,D,E,F),函数依赖集F={A→(B,C),(B,C)→A,(B,C,D)→(E,F),E→C}。试问:关系模式R是否为BCNF范式,并证明结论。
不是BCNF
证明:(DA),(DBC),(DBE)是候选码
存在A→(B,C),A不包含任何候选码
5.
试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={B→D,AB→C}。
1NF
候选码为(A、B),对于非主属性D,依赖于B,B不是候选码,所以不是2NF
**6.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D,E),F={AB→CE,E→AB,C→D}。
2NF
候选码为(A、B),E
对于非主属性C D,由关系AB→CE,C→D得知完全依赖于(A,B)
但是存在AB→C,C→D传递依赖
所以不满足3NF,满足2NF
**7.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={B→D,D→B,AB→C}。
3NF
候选码为(A、B)(A、D)
非主属性C依赖于候选码(A、B)满足2NF
无传递依赖,满足3NF
但存在依赖B→D,D→B中的B和D不包含候选码,不满足BCNF
**8.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C),F={A→B,B→A,A→C}。
候选码为A,B
非主属性C完全依赖于候选码A,满足2NF
无传递依赖,满足3NF
任意依赖关系中的X都包含候选码,满足BCNF
**9.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C),F={ A→B,B→A,C→A }。
2NF
候选码为C
非主属性A,B完全依赖于候选选码C,满足2NF
但存在传递依赖,A→B,C→A,不满足3NF
**10.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={A→C,D→B}。
1NF
候选码为(A、D)
对于非主属性C、B不完全依赖于关键字AD,不满足2NF
**11.**试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={A→C,CD→B}。
同10