1.要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会有一个入会年份。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。
描述班级的属性有:班号、专业名、系名、人数、入校年份。
描述系的属性有:系号、系名、系办公室地点、人数。
描述研究会的属性有:研究会名、成立年份、地点、人数。
(1)试给出上述数据库的关系模式;
(2)写出每个关系的最小依赖集(即基本的函数依赖集,不是导出的函数依赖);
(3)指出是否存在传递函数依赖;
(4)对于函数依赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,指出各关系的候选键、外部键。
1)关系模式为:
系({系号,系名,系办公室地点,宿舍区,人数},{系号→系名,系号→系办公室地点,系名→系办公室地点,系号→宿舍区})
班级({班号,专业名,系号,人数,入校年份},{班号→专业名,班号→系号,班号→入校年份,(专业名,入校年份)→班号})
学生({学号,姓名,出生年月,系号,班号},{学号→姓名,学号→出生年月,学号→系号,学号→班号,学号→宿舍区,班号→系号})
入会({学号,研究会名,入会年份},{(学号,研究会名)→入会年份})
研究会({研究会名,成立年份,地点,人数},{研究会名→成立年份,研究会名→地点})
说明:人数可以不作为属性,能统计得到;宿舍区应作为系的属性;学生关系中的系号可由班号属性通过班级关系得到,冗余可去。
2)传递函数依赖有:系号→系办公室地点;学号→宿舍区;
3)以上关系模式中没有部分函数依赖。
4)系关系中候选键为:系号; 外部键为:无
班级关系中候选键为:班号、(专业名,入校年份); 外部键为:系号
学生关系中候选键为:学号; 外部键为:班号
入会关系中候选键为:(学号,研究会名) 外部键为:学号 或 研究会名
研究会关系中候选键为:研究会名; 外部键为:无
2.设有关系模式R(A,B,C,D,E,F),函数依赖集F={(A,B)→E,(A,C)→F,(A,D)→B,B→C,C→D},求出R的所有候选关键字。
参考答案:
R的候选关键字有:(A、C)、(A、B)、(A、D)
具体:
经确认函数依赖集F中每个已都是非平凡的完全的函数依赖,经考察P={A},Q={E,F}
经分析候选码中必含有A属性,要分别考察(A,B)、(A,C)、(A,D),先考察(A,B)
∵(A,B)→B,B→C, ∴(A,B) →C ①
∵(A,B)→A, (A,B)→C, ∴(A,B) →(A,C) 又∵(A,C)→F ∴(A,B) →F ②
∵(A,B)→C, C→D, ∴(A,B) →D ③
已知(A,B)→E ④
并显然有 (A,B)→(A,B) ⑤
由①②③④⑤得,(A,B)→(A,B,C,D,E,F) ,∴(A,B)为候选码。
∵(A,C)→C, C→D ∴(A,C) →D
∵(A,C)→A, (A,C) →D ∴(A,C) →(A,D)
∵(A,C)→(A,D), (A,D)→B ∴(A,C) →B
∵(A,C)→A, (A,C) →B ∴(A,C) →(A,B)
∵(A,B)→(A,B,C,D,E,F) ∴(A,C) →(A,B,C,D,E,F) ,∴(A,C)为候选码。
∵(A,D)→A, (A,D)→B ∴(A,D) →(A,B)
∵(A,B)→(A,B,C,D,E,F) ∴(A,D) →(A,B,C,D,E,F) ,∴(A,D)为候选码。
∴候选码有(A,B)、(A,C)、(A,D)
3.设有关系模式R(X,Y,Z),函数依赖集为F={(X,Y)→Z}。请确定SC的范式等级,并证明。
R的候选关键字有:(X,Y)
R达到BCNF范式等级,按BCNF定义判定即可,具体略。
4.设有关系模式R(A,B,C,D,E,F),函数依赖集F={A→(B,C),(B,C)→A,(B,C,D)→(E,F),E→C}。试问:关系模式R是否为BCNF范式,并证明结论。
参考答案:
R达不到BCNF范式。R的候选关键字有:(A,D)、(B,C,D)、(B,E,D)
函数依赖集F={A→(B,C),(B,C)→A,(B,C,D)→(E,F),E→C}中A→(B,C),(B,C)→A,E→C这些函数依赖的决定因素都不含码,按BCNF定义,所以R达不到BCNF。
候选关键字分析的具体过程:详见课本133,例题4.3
-
经确认函数依赖集F中每个已都是非平凡的完全的函数依赖,经考察P={D},Q={F}
-
经分析候选码中必含有D属性,显然D无法完全函数决定U,不满足候选码条件。
-
故要考察D与R-P-Q={A,B,C,E}中所有单个属性的组合,看是否能完全决定R,即考察(A,D)(B,D)(C,D)(E,D)
先考察(A,D)
∵(A,D)→A,A→(B,C), ∴(A,D) →(B,C)
∵(A,D)→D, ∴(A,D) →(B,C,D) ①
∵(B,C,D)→(E,F), ∴(A,D) →(E,F) ②
∵(A,D)→(A,D) ③
由①②③得,(A,D)→(A,B,C,D,E,F) ,∴(A,D)为候选码。
经分析显然(B,D)、(C,D)、(E,D)不能函数决定(A,B,C,D,E,F)
∴两属性组合的候选码有 (A,D)
4.下面要考察含D的三个属性组合看是否能完全函数决定U,它们是(B,C,D)、(B,E,D)、(C,E,D)
考察(B,C,D)
∵(B,C,D)→(B,C,D), (B,C,D)→(E,F) ∴(B,C,D) →(E,F) ①
∵(B,C,D)→(B,C), (B,C)→A ∴(B,C,D) →A ②
∵(B,C,D)→(B,C,D) ③
由①②③得,(B,C,D)→(A,B,C,D,E,F) ,∴(B,C,D)为候选码。
考察(B,E,D)
∵(B,E,D)→E, E→C ∴(B,E,D) →C ①
∵(B,E,D)→(B,D) ②
由①②得,(B,E,D)→(B,C,D)
∵(B,C,D)→(A,B,C,D,E,F)
∴(B,E,D)→(A,B,C,D,E,F) ,∴(B,E,D)为候选码。
显然(C,E,D)不能函数决定(A,B,C,D,E,F)
5. 此时R-P-Q去掉A,BC,BE已为空集,
∴候选码有(A,D)、(B,C,D)、(B,E,D)
5.试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={B→D,AB→C}。
参考答案:
候选码AB 该关系模式最高属于1NF
分析过程:R(A,B,C,D),F={B→D,AB→C}。
经分析候选码中必含有AB属性,考察AB
∵AB→B,B→D, ∴AB→D ①
∵AB→AB ②
已知AB→C ③
由①②③得,AB→ABCD ,∴AB为候选码。
候选码就只有AB
显然,A、B为主属性,C、D为非主属性。
对非主属性D来说,∵有B→D, ∴AB→D 为部分函数依赖,∴R不属于2NF
∴R最高属于1NF
6.
试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D,E),F={AB→CE,E→AB,C→D}。
参考答案:
候选码AB,E 该关系模式最高属于2NF
分析过程:R(A,B,C,D,E),F={AB→CE,E→AB,C→D}。
经分析所有属性均出现在被决定因素位置,则从考察各决定因素出发来找寻候选码。
先考察AB
∵AB→CE,CE→C, ∴AB→C ①
∵AB→C, C→D, ∴AB→D ②
∵AB→AB ③
已知AB→CE ④
由①②③④得,AB→ABCDE ,∴AB为候选码。
再考察E
∵E→AB,AB→ABCDE, ∴E→ABCDE ,∴E为候选码。
再考察C
显然C不能决定所有属性。
∴候选码就有AB、E两个。
显然,A、B、E为主属性,C、D为非主属性。
非主属性C、D对候选码AB、E来说均为完全函数决定,∴R达到2NF
但因为有AB→C, C→D, ∴AB→D为传递函数依赖,
∴R不属于3NF
∴R最高属于2NF
7.
试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={B→D,D→B,AB→C}。
参考答案:
候选码AB,AD 该关系模式最高属于3NF
分析过程:R(A,B,C,D),F={B→D,D→B,AB→C}。
经分析候选码中必含有A属性,要考察AB,AD
先考察AB
∵AB→B,B→D, ∴AB→D ①
∵AB→AB ②
已知AB→C ③
由①②③得,AB→ABCD ,∴AB为候选码。
再考察AD
∵AD→D,D→B, ∴AD→B ∵AD→A ∴AD→AB
∵AB→ABCD ,∴AD→ABCD
∴AD为候选码。
∴候选码就有AB、AD两个。
显然,A、B、D为主属性,C为非主属性。
对非主属性C来说,对候选码AB、AD均为完全并为直接函数依赖
∴R属于3NF
但因为有B→D或D→B,而B或D不为候选码
∴R不属于BCNF
∴R最高属于3NF
8.试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C),F={A→B,B→A,A→C}。
参考答案:
候选码A,B 该关系模式最高属于BCNF
分析过程:R(A,B,C),F={A→B,B→A,A→C}。
经分析所有属性均出现在被决定因素位置,则从考察各决定因素出发来找寻候选码。
先考察A
∵A→B,A→C, A→A, ∴A→ABC ∴A为候选码。
∵B→A ,A→C ∴B→C
∵B→A,B→B, ∴B→ABC ∴B为候选码。
候选码就只有A或B两个
显然,A、B为主属性,C为非主属性。
对F中的每个函数依赖考察,可知其每个函数依赖的决定因素均为候选码,
∴根据定义R属于BCNF
9.试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C),F={ A→B,B→A,C→A }。
参考答案:
候选码C 该关系模式最高属于2NF
分析过程:R(A,B,C),F={ A→B,B→A,C→A }。
经分析候选码中必含有C属性,考察C
∵C→A,A→B, ∴C→B ①
∵C→A ②
C→C ③
由①②③得,C→ABC ,∴C为候选码。
候选码只有C
显然,C为主属性,A、B为非主属性。
非主属性A、B对C均为完全函数依赖,∴R属于2NF
但∵有C→A, A→B,∴C→B为传递函数依赖,∴R不属于3NF
∴R最高属于2NF
10.试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={A→C,D→B}。
参考答案:
候选码AD 该关系模式最高属于1NF
分析过程:R(A,B,C,D),F={A→C,D→B}。
经分析候选码中必含有AD属性,考察AD
∵A→C,D→B, ∴AD→BC ①
∵AD→AD ②
由①②得,AD→ABCD ,∴AD为候选码。
候选码就只有AD
显然,A、D为主属性,B、C为非主属性。
对非主属性B来说,∵有D→B, ∴AD→B 为部分函数依赖,∴R不属于2NF
∴R最高属于1NF
11.试问下列关系模式最高属于第几范式,并解释其原因。
R(A,B,C,D),F={A→C,CD→B}。
参考答案:
候选码AD 该关系模式最高属于1NF
分析过程:R(A,B,C,D),F={A→C,CD→B}。
经分析候选码中必含有AD属性,考察AD
∵AD→A,A→C, ∴AD→C
∵AD→D, AD→C ∴AD→CD ①
已知CD→B ∴AD→B ②
∵AD→AD ③
由①②③得,AD→ABCD ,∴AD为候选码。
候选码就只有AD
显然,A、D为主属性,B、C为非主属性。
对非主属性C来说,∵有A→C, ∴AD→C 为部分函数依赖,∴R不属于2NF
∴R最高属于1NF