发布时间 : 星期五 文章数据库原理期末考试习题1更新完毕开始阅读924d1db8960590c69ec37663
候选关键字:学号(每个学生只有惟一的学号)
最小依赖集:{学号→姓名,学号→出生日期,学号→班号,系名→宿舍区,班号→系名} 存在传递函数依赖:
学号→系名→宿舍区,?有学号
tt→宿舍区;
??宿舍区; 班号→系名→宿舍区,?有班号???系名 学号→班号→系名,?有学号?2、答:⑴ R是BCNF
⑵ R是3NF ⑶ R是BCNF ⑷ R是BCNF ⑸ R是BCNF ⑹ R是1NF
3、答:由求候选关键字的原理知道:
(CE)+=ABCDEP,即CE→U C+=CP,E+=ABE
t?R只有一个候选关键字CE
4、答:低级范式的关系模式对数据存储和数据操作的不利影响主要有:插入异常、删除异常、修改异常和数据冗余。
产生的原因及解决方法是:
属于1NF不属于2NF的关系模式中,非主属性对码的部分函数依赖,从而引起操作异常。解决方法是采用分解的方法,将式中不完全函数依赖的属性去掉,将部分函数依赖的属性单独组成新的模式,使关系模式属于2NF。
属于2NF不属于3NF的关系模式中,由于非主属性对码具有传递依赖,从而引起操作异常。解决方法是采用分解的方法,消除关系模式中非主属性对码具有传递依赖。
属于3NF不属于BCNF的关系模式中,由于存在主属性对码的部分函数依赖,从而引起操作异常。解决的方发是将起转换成BCNF消除部分函数依赖 5、答:3NF与BCNF的区别和联系如下:
3NF是建立在2NF的基础上的,如果满足2NF的关系模式中不存在非主属性传递依赖于R的候选键,则R属于3NF。
BCNF是3NF的改进形式,它建立在1NF的基础上的。如果关系R属于1NF,且每个属性都不传递依赖R的候选键,则R属于BCNF。
一个关系模式属于BCNF,则一定属于3NF,BCNF是3NF的一个特例,反之则不然。
6、答:属于3NF。因为该关系模式存在的函数依赖是:
学号→姓名,学号→年龄,学号→所在系,学号→出生日期
不在有其它的函数依赖,所以该模式是属于2NF。又因为所有的非主属性对码(学号)非传递依赖,所以该关系模式是3NF的。 7、答:根据Armstrong公理系统 推导F+为:
?A??,AB??,AC??,ABC??,B??,C????A?A,AB?A,AC?A,ABC?A,B?B,C?C?????A?B,AB?B,AC?B,ABC?B,B?C??A?C,AB?C,AC?C,ABC?C,B?BC?? F+= ??
A?AB,AB?AB,AC?AB,ABC?AB,BC?B????A?AC,AB?AC,AC?AC,ABC?AC,BC?B??A?BC,AB?BC,AC?BC,ABC?BC,BC?C???A?ABC,AB?ABC,AC?ABC,ABC?ABC,BC?BC???从上可见,一个小的F集合,常有一个非常大的闭包F+,在F+中,含有许多平凡的函数依赖,例如:A→φ,AB→φ,AB→A。所以我们要讨论最小函数依赖集的有关问题
8、答:(1)关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式的码为:Sno,Course。
(2)原关系模式是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖
于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成
2NF如下:
S1(Sno,Sname,SD,Sdmane) S2(Sno,Course,Grade) (3) 将上述关系模式分解成3NF如下:
分解的关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname
传递依赖于Sno,所以可进一步分解如下:
S11(Sno,Sname,SD) S12(SD,Sdname)
分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,
原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。
S11(Sno,Sname,SD) S12(SD,Sdname) S2(Sno,Course,Grade)
9、答:(1)关系模式如下:
学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系: D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) 学生学会:SM(Sno,Mname,SMyear) (2) 每个关系模式的最小函数依赖集如下: 学生S的最小函数依赖集如下:
Sno→Sname,Sno→Sbirth,Class→Dept,Sno→Class, Dept→Rno 传递依赖如下:
由于Sno→Dept,Dept→Rno,而Dept→Sno, 所以Sno与Rno之间存在着传递依赖。 由于Class→Dept,Dept→Rno
所以Class与Rno之间存在着传递依赖。 由于Sno→Class,Class→Dept 所以Sno与Dept之间存在着传递依赖。 班级C的最小函数依赖如下:
Class→Pname,Class→Cnum,Class→year,Pname→Dept, 由于Class→Pname,Pname→Dept, 所以Class与Dept之间存在着传递依赖。 系D的最小函数依赖集如下:
Dept→Dno,Dno→Office,Dno→Dnum
根据上述传递依赖可知,Dept与Office,Dept与Dnum之间存在着
传递依赖。
学会M的最小函数依赖集如下:
Mname→Myear,Mname→Maddr,Mname→Mnum 该模式不存在传递依赖。
学生学会SM的最小函数依赖集如下:(Sno,Mname,SMyear) (Sno,Mname) →Smyear是完全函数依赖 (3)各关系模式的候选码、外部码、全码如下:
学生S候选码:Sno;外部码:Dept、Class;无全码 班级C候选码:Class;外部码:Dept;无全码 系D候选码:Dept或Dno;无外部码;无全码 学会M候选码:Mname;无外部码;无全码
学生学会SM候选码:(Sno,Mname);外部码:Sno,Mname;无全
码
10、答:(1)设U=(ABCDE),
因 (CE)+=ABCDE,而(C)+=C,(E)+=BDE, 故R的候选关键字为CE (2) 求出最小函数依赖集F
F={A→D,E→D,D→B,BC→D,CD→A} 将R分解成3NF:
ρ={AD,DE,BD,BCD,ACD} 11、答⑴ R的候选关键字是CE.
⑵ 将R分解的3NF:ρ={AD,DE,BD,BCD,ACD}
12、F={(S#,C#)→G,C#→TN,TN→D}
⑴ 关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),则非主属性有G,TN和G。有因为F中有C#→TN,所以存在非主属性TN对候选关键字(S#,C#)的部分依赖,即:(S#,C#)
P→TN 若新增设一门课程而暂时还没有学生选修时,则因缺少关键字S#直而不断进行插入操作.若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删除.
⑵ 因为F=F`={(S#,C#)→G,C#→TN,TN→D} 所以ρ={R1,R2,R3} 其中:R1=(S#,C#,G)
R2=(C#,TN) R3=(TN,D)
13、答:⑴ 课程名t→教师地址,即存在非主属性教师地址对候选键字课程名的传递函数依赖,因此R不是3NF. R是2NF.
⑵ 存在.
⑶ 解为高一级范式如图4.5所示.
教师名 马千里 于得水 余快 关系R1 课程名 C1 C2 C3
教师地址 D1 D1 D2 教师名 马千里 于得水 余快