设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可选多门课程,一门课程可以被多个学生选。每个学生由学号唯一标识,一个学生只在一个系学习;每门课程由课程号唯一标识。每个学生选的每门课程有唯一的成绩。
(1)请指出此关系模式的候选键。
(2)写出该关系模式的函数依赖集。
(3)该关系模式属于第几范式?请简单说明理由。
(4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后每个关系模式的主键和外键。
设有一学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,NL表示年龄,DP表示系部。查询学生姓名和所在系这两个属性上的投影操作的关系运算式是______。
已知某教务管理系统有下列关系模式(带下划线的属性是主码):
系(系号,系名)
学生(学号,姓名,性别,入学日期,正常毕业日期,所在系号)
课程(课程号,课程名,学分,开课系号,教师号)
选课(学号,课程号,成绩)
教师(教师号,姓名,职称,所在系号)
①请根据给出的关系模式画出该系统的E-R图,图中忽略实体集的属性,但如果实体集之间的联系有属性则需要给出联系属性。
②随着教学改革的需要,该系统需要满足下列需求:
一门课程可由多名教师讲授,一名教师可以讲授多门课程。
请根据以上需求修改关系模式,仅列出有改动的关系模式,并使每个关系模式满足3NF。
设有学生选修课程的数据库包含如下
学生表(学号,姓名,年龄,性别,所在系)
选课表(学号,课程号,成绩)
课程表(课程号,课程名称,教师姓名)
请用SQL语言查询下列问题:
1.李明老师所教的课程号、课程名称。
2.年龄大于23岁的女学生的学号和姓名。
3.所有成绩都在80分以上的学生姓名及所在系。
4.至少选修两门以上课程的学生姓名、性别。
5.选修了李明老师所讲课程的学生人数。
6.“操作系统”课程得最高分的学生姓名、性别、所在系。
7.所有课程成绩都在60分以上的学生姓名及所在系。
A.其他三项都不对
B.C(C ,Cn,P)
C.SC(S,C,G)
D.S(S,Sn,Sd,Sc,Sa)
S(Sno,Sname,Age,Sex,Dept)
A(Ano,Aname,Location,Manager)
SA(Sno,Ano,Date)
其中表S的属性分别表示学号、姓名、年龄、性别和所在系;表A的属性分别表示会员编号、协会名、协会的办公地点和负责人(负责人为学号);表SA描述了学生参加社团的情况,其属性分别表示学号、协会编号、加入协会时间。
试用SQL语言查询参加“篮球”协会的学生姓名和所在系。
A.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULL
B.SELECT姓名,所在系FROM学生表a LEFT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULL
C.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE a.学号IS NULL
D.SELECT姓名,所在系FROM学生表a RIGHT JOIN选课表bON a.学号=b.学号WHERE b.学号IS NULL
建立一个学生关系表Student,表中有5个字段:学号Sno(字符型)、姓名Sname(字符型)、性别Sex(字符型)、年龄Age(整型)、系别Dept(字符型),其中Sno是关系的码;建立一个学生选课关系表SC,表中有3个字段:学号Sno(字符型)、课程号Cno(字符型)、成绩Grade(数值型),其中Sno、Cno是关系的码,用SQL语言完成下列功能:
① 建立学生关系表Student和学生选课关系表SC。
② 查询计算机系(’CS’)所有同学的姓名和各科成绩。
③ 添加一个学生记录,学号为20020003,姓名为吴刚,性别为男,年龄为19岁,所在系为计算机系。
④ 逻辑删除李江同学的相关记录。