1 建立一个关于系 学生 班级 学会等信息的关系数据库。 描述学生的属性:学号 姓名 出生年月 系名

大学网课 已帮助 人

1、建立一个关于系、学生、班级、学会等信息的关系数据库。 描述学生的属性:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性:班号、专业名、系名、人数、入校年份。 描述系的属性:系名、系号、系办公室地点、人数。 描述学会的属性:学会名、成立年份、地点、人数。 有关语义描述:一个系有若干专业,每个专业每年只招一人班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 (1)给出关系模式; (2)写出每个关系模式的函数依赖集(最小集); (3)对函数依赖左部是多个属性的情况,讨论函数依赖是完全函数依赖还是部分函数依赖; (4)指出各关系模式的候选码、外码,并说明有没有全码存在。

1 建立一个关于系 学生 班级 学会等信息的关系数据库。 描述学生的属性:学号 姓名 出生年月 系名

热搜:以学生为主体性活动和经验为中心建立起来的课程理论是

回答

共1条回复

  • 学生:学号、姓名、出生年月、系名、班号、宿舍区。 班级:班号、专业名、系名、人数、入校年份。 系:系名、系号、系办公地点、人数。 学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在? 解:(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)的最小函数依赖集如下: MnameMyear,MnameMaddr,MnameMnum 该模式不存在传递依赖。 (3)各关系模式的候选码、外部码,全码如下: A、学生S候选码:Sno;外部码:Dept、Class;无全码 B、班级C候选码:Class;外部码:Dept;无全码 C、系D候选码:Dept或Dno;无外部码;无全码 D、学会M候选码:Mname;无外部码;无全码