有关系:教学(学号、教工号、课程号),每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程可以由多个老师来讲授,那么该关系的主键是()
第1题:
设有关系模式:成绩(学号,课程号,分数),则下列选项中,能正确描述SQL语句 “SELECT’学号FROM成绩GROUP BY 学号HAVING COUNT(*)>3”功能的是
A.查询选修了3门以上课程的学生的学号
B.查询1门课程有3个以上学生选修的学生学号
C.将学生按照学号分成了3组
D.将学生按照课程分成了3组
第2题:
阅读下列说明和图,回答问题1至问题3。
【说明】
某学校的教学系统描述如下。
学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。
教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Ttitle),其中教工号是唯一编定的。
课程信息包括:课程号(Cno)、课程名称(Cname)、学时(Cperiod)、学分(Ccredit),其中课程号是唯一编定的。
每个专业每个年级只有一个班级,这样班级就可用入学年份标识。
每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。
每位学生可以同时选修多门不同的课程,一门课程至少要有10位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩,即使选修了其他教师教授的同一门课也不行。
如图9-11所示是经分析得到的E-R图。
根据题意,给出联系的属性。实体间的联系有“一对一”、“一对多”和“多对多”,指出各联系分别属于哪一种。
第3题:
设教学数据库中有4个关系:教师关系T(T,TNAME,TITLE)课程关系C(C,CNAME,T)学生关系S(S,SNAME,AGE,SEX)选课关系SC(S,C,SCORE)试用关系代数表达式表示各个查询语句。(1)检索年龄小于17岁的女学生的学号和姓名。(2)检索男学生所学课程的课程号和课程名。(3)检索男学生所学课程的任课老师的职工号和姓名。(4)检索至少选修了两门课程的学生学号。(5)检索至少有学号为S2和S4学生选修的课程的课程号。(6)检索WANG同学不学的课程的课程号。(7)检索全部学生都选修的课程的课程号与课程名。(8)检索选修课程包含LIU老师所授全部课程的学生学号。
①检索年龄小于17岁的女学生的学号和姓名。
SELECT S#.SNAME FROM S
WHERE AGE<17 AND SEX=’F’
②检索男学生所学课程的课程号和课程名。
SELECT C.C#,CNAME (连接查询方式) FROM S,SC,C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’;
③检索男学生所学课程的任课老师的工号和姓名。
SELECT T.T#, TNAME FROM S,SC,C,T
WHERE S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T# AND SEX=’M’;
④检索至少选修两门课程的学生学号。
SELECT DISTINCT X.S# FROM SC AS X, SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
⑤检索至少有学号为S2和S4的学生选修的课程的课程号。
SELECT DISTINCT X.C# FROM SC AS X, SC AS Y
WHERE X.S#=’S2’ AND Y.S#=’S4’ AND X.C#=Y.C#;
⑥检索WANG同学不学的课程的课程号。
SELECT C# FROM C
WHERE NOT EXISTS (SELECT * FROM S, SC
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG’);
⑦检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME FROM C
WHERE NOT EXISTS (SELECT * FROM S
WHERE NOT EXISTS (SELECT * FROM SC
WHERE S#=S.S# AND C#=C.C#));
⑧检索选修课程包含LIU老师所授全部课程的学生学号。
法一:
SELECT DISTINCT S# FROM SC AS X
WHERE NOT EXISTS (SELECT * FROM C,T
WHERE C.T#=T.T# AND TNAME=’LIU’
AND NOT EXISTS (SELECT{
FROM SC AS Y
WHERE Y.S#=X.S# AND Y.C#=C.C#));
法二:
SELECT DISTINCT S# FROM SC X
WHERE NOT EXISTS ((SELECT C# FROM C,T
WHERE C.T#=T.T# AND TNAME=‘LIU’) EXCEPT
(SELECT C# FROM SC Y WHERE Y.S#=X.S#));
第4题:
第5题:
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 实体1:学生(学号,姓名,性别,年龄,所在系)关键字为:学号
实体2:课程(课程号,课程名,学分数,先行课)关键字为:课程号
实体1与实体2的联系:学习(学号,课程号,成绩)关键字为:(学号,课程号)
注:一个学生可以选修多门课程,一门课程也可以被多个学生选修,学生修课后有成绩。
把上面用关系表示的实体,实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1:1,L:N,M:N)。
第6题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第7题:
某学校学籍科管理中心需建立一个学生选修课数据库,该数据库中需要存储和管理下列信息:
学生:学号,姓名,性别,年龄
课程:课程号,课程名,学时
以上数据存在的约束条件是:
一名学生可以选修多门课程,一门课程可以有多名学生,并且选修课要有成绩的登记。
①画出该关系的ER图
第8题:
有一个学生关系,其关键字为学号,又有一个课程关系,其关键字为课程号,另有一个选修关系,其关键字为学号和课程号的组合,则学号和课程号分别为该关系的______。
第9题:
某学校学生、教师和课程实体对应的关系模式如下:
学生(学号,姓名,性别,年龄,家庭住址,电话)
课程(课程号,课程名)
教师(职工号,姓名,年龄,家庭住址,电话)
如果一个学生可以选修多门课程,一门课程可以有多个学生选修;一个教师只能讲授一门课程,但一门课程可以有多个教师讲授。,由于学生和课程之间是一个(51)的联系,所以(52)。又由于教师和课程之间是一个(53)的联系,所以(54)。
A.1对1
B.1对多
C.多对1
D.多对多
第10题:
有一关系:教学(教工号、课程号、开课时间),假定每个老师可以讲授多门课程,每门课程只能由一个老师来讲授,那么该关系的主键设置为()比较合适。