建立一个关于系、学生、班级、学会等诸信息的关系数据库。
发布网友
发布时间:2022-05-11 07:02
我来回答
共2个回答
热心网友
时间:2023-10-06 05:42
(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;无外部码;无全码
热心网友
时间:2023-10-06 05:43
(1).学生(学号,姓名,出生年月,
系名,班号,宿舍区);
.F1(学号→姓名,学号→出生年月,学号→系名,学号→班号,系名→宿舍区);
.存在传递函数依赖:学号→宿舍区
.不存在部分函数依赖;
.候选码:学号;
.外码:系名,班号;
.不存在全码;
(2).班级(班号,专业名,系名,人数,入校年份);
.F2(班号→专业名,专业名→系名,班号→人数,班号→入校年份);
.存在传递函数:班号→系名;
.不存在部分函数依赖;
.外码:系名;
.候选码:班号;
.不存在全码;
(3).系(系名,系号,系办室地点,人数);
.F3(系名→系号,系号→系名,系名→系办室地点,系名→人数);
.不存在传递函数;
.不存在部分函数依赖;
.外码:无;
.候选码:系名,系号;
.不存在全码;
(4).学会(学会名,成立年份,地点,人数);
.F4(学会名→成立年份,学生会→地点,学生会→人数);
.不存在传递函数;
.不存在部分函数依赖;
.外码:无;
.候选码:学会名;
.不存在全码;