主观题:范式
有一关系模式S(sno,cno,grade,ad,pcode),其中sno(学号),cno(课程号),grade(成绩),pcode(邮编),ad(地址)。有如下语义:
一个学生选修多门课,一门课可被多个学生选修,一个学生学完每门课都有一个成绩;
每个学生只有唯一的家庭住址,每个住址只有唯一的邮编。
请回答如下问题。
注意:
a.箭头用->(横线加大于号)
b.属于 直接用汉字
c.小步骤用(1)(2)标识
1.根据语义写出关系模式S的基本函数依赖。(3分)
2.关系模式S的候选码什么?为什么?(6分)
3.关系模式S属于3NF吗?为什么?(6分)
4.如果S不属于3NF,请将STUDENT分解成3NF。(5分)
答案:1.基本函数依赖为:1个1分
(sno,cno)->grade
cno->ad
ad->pcode
2.候选码是(sno,cno) 2分
(1)所有函数依赖的右部不包含sno,cno 1分
(2)(sno,cno)的闭包集=S 1分
a. (sno,cno)0=(sno,cno)
b. (sno,cno)1=(sno,cno,grade,ad)
c. (sno,cno)2=( sno,cno,grade,ad, pcode)=S 共2分
所以,候选码是(sno,cno)
3.S不属于3NF 2分,步骤共4分
(1)S属于1NF
(2)(sno,cno)是候选码,
(3)非主属性是grade,ad, pcode
(4)对于 (sno,cno)-> ad 由于sno->ad,
所以(sno,cno)-> ad是部分函数依赖,所以S不属于2NF
(5)所以S不属于3NF
4.可分解为如下三个关系模式 共5分
sc((sno,cno,grade) ,(sno,cno)->grade )
sa((sno,ad),cno->ad)
ap((ad,pcode),ad->pcode)
一个学生选修多门课,一门课可被多个学生选修,一个学生学完每门课都有一个成绩;
每个学生只有唯一的家庭住址,每个住址只有唯一的邮编。
请回答如下问题。
注意:
a.箭头用->(横线加大于号)
b.属于 直接用汉字
c.小步骤用(1)(2)标识
1.根据语义写出关系模式S的基本函数依赖。(3分)
2.关系模式S的候选码什么?为什么?(6分)
3.关系模式S属于3NF吗?为什么?(6分)
4.如果S不属于3NF,请将STUDENT分解成3NF。(5分)
答案:1.基本函数依赖为:1个1分
(sno,cno)->grade
cno->ad
ad->pcode
2.候选码是(sno,cno) 2分
(1)所有函数依赖的右部不包含sno,cno 1分
(2)(sno,cno)的闭包集=S 1分
a. (sno,cno)0=(sno,cno)
b. (sno,cno)1=(sno,cno,grade,ad)
c. (sno,cno)2=( sno,cno,grade,ad, pcode)=S 共2分
所以,候选码是(sno,cno)
3.S不属于3NF 2分,步骤共4分
(1)S属于1NF
(2)(sno,cno)是候选码,
(3)非主属性是grade,ad, pcode
(4)对于 (sno,cno)-> ad 由于sno->ad,
所以(sno,cno)-> ad是部分函数依赖,所以S不属于2NF
(5)所以S不属于3NF
4.可分解为如下三个关系模式 共5分
sc((sno,cno,grade) ,(sno,cno)->grade )
sa((sno,ad),cno->ad)
ap((ad,pcode),ad->pcode)