建立一个关于系、学生、班级、学会等诸信息的关系数据库。

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:06:36
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区;
描述班级的属性有:班号、专业名、系名、人数、入校年份;
描述系的属性有:系名、系号、系办公室地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数;
有关语义如下:一个系有若干专业,每个专业每年只招一个班,每班有若干个学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某个学会有一个入会年份。
要给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。
还要指出各关系的候选码、外部码、,有没有全码存在?

高手帮忙啊! 答案要具体一点哦!

(1)关系模式如下:
学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)
班级:C(Class,Pname,Dept,Cnum,Cyear)
系:D(Dept,Dno,Office,Dnum)
学会:M(Mname,Myear,Maddr,Mnum)

(2)每个关系模式的最小函数依赖集如下:
A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:
SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno
传递依赖如下:
由于SnoàDept,而DeptàSno ,DeptàRno(宿舍区)
所以Sno与Rno之间存在着传递函数依赖。
由于ClassàDept,Dept à Class,DeptàRno
所以Class与Rno之间存在着传递函数依赖。
由于SnoàClass,ClassàSno,ClassàDept
所以Sno与Dept之间存在着传递函数依赖。
B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:
ClassàPname,ClassàCnum,ClassàCyear,PnameàDept.
由于ClassàPname,PnameàClass,PnameàDept
所以C1ass与Dept之间存在着传递函数依赖。
C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:
DeptàDno,DnoàDept,DnoàOffice,DnoàDnum
根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: