第1题:
关系模式Student(Sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号,学生姓名,课程号,课程名,成绩,任课教师名和教师地址。其中一个学生可以选若干门课,一个教师可以讲授若干门课,一门课程可以由多个教师讲授,对于同一门课程,学生只能选定一个教师讲授一门课,教师不会重名。下列对关系的分解正确的并且是无损连接及保持函数依赖的是______。
A.{(Sno,Sname,Cno,Tname,Taddr),(Sno,Sname,Cno,Cname,Grade))属于2NF
B.{(Sno,Sname),(Sno,Cno,Grade Tname,Taddr),(Cno,Cname)}属于2NF
C.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Cno,Cname)}属于3NF
D.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Tname,Cno),(Cno,Cname)}属于3NF
第2题:
设数据库中有四个关系
课程关系C(C,CNAME,TNAME)
学生关系S(S,SNAME,AGE,SEX)
选课关系SC(S,C,SCORE)
其中课程关系中各属性分别表示为课程号,课程名,以及相应的课程任课老师名;学生关系中各属性分别为学号,学生姓名,年龄以及性别;用SQL语句完成下面的各个问题:
①创建学生关系S,其中S为主码,SEX只能取F和M两个值,其他的属性不为空
②检索年龄小于17岁的女生的学号和姓名
③检索WANG同学不学的课程的课程
第3题:
第(53)-(54)题基于如下叙述:关系模式Student(Sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一个学生可以选修若干门课程,一个教师可以讲授若干门课程,一门课程可以由若干教师讲授,一个学生选修一门课程时必须选定讲授课程的教师,教师不会重名。 关系模式Student的候选关键码有
A.1个,为 (Sno, Cno)
B.1个,为 (Sno, Cno, Tname)
C.2个,为 (Sno, Sname, Cno) 和 (Sno, Cno, Tname)
D.2个,为 (Sno, Sname, Cno) 和 (Sname, Cno, Tname)
第4题:
设有如图所示的E-R模型:
将上述E-R模型转换成关系模式,正确的结果应是
A.成绩(学号,姓名,年龄,性别,课程号,课程名,学时,分数)
B.学生(学号,姓名,年龄,性别,分数)、课程(课程号,课程名,学时)
C.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时,分数)
D.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时)、成绩(学号,课程号,分数)
第5题:
数据库中有学生表Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示为学号,姓名,性别,年龄,所在系;学生选课表SC(Sno,Cno,Grade),各属性分别表示为学号,课程号以及成绩;课程表 Course(Cno,Cname,Cpno,Ccredit),各属性为课程号.课程名,先行课,学分。(先行课的意思是,比如课程号1有先行课5,说明要选课程1,就必须先选课程5) 。用以上各表完成查询选修了全部课程的学生姓名的语句补充:
SELETE Sname
FROM
5.
第6题:
关系模式Student(sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一个学生可以选若干门课程,一个教师可以讲授若干门课程,一门课程可以由多个教师讲授,对于同一门课程,学生只能选定一个教师讲授的课程,教师不会重名。下列有关关系模式Student的分解中,是无损联接并保持函数依赖的是——。
A.{(Sno,Sname,Cno,rname,raddr),(sno,Sname,Cno,Cnarne,Grade)}E:INF
B.{(Sno,Sname),(sn0,Cno,Grade,Tname,。Taddr),(Cno,Cname)∈2NF
C.{(Sno,Sname),(sno,Cno,Grade),(rI'name,Taddr),(Cno,Cname,)∈3NF
D.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Tname,Cno),(Cno,Cname)}∈BCNF
第7题:
某数据库中有关系Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示学号,姓名,性别,年龄以及所在的系;Course(Cno,Cname,Ccredit)属性分别表示课程号,课程名,学分;SC(Sno, Cno,Grade)为学生选课表,各属性分别表示为学号,课程号和分数;完成下列的SQL语句:
第8题:
设教学数据库中有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#));
第9题:
下题基于如下叙述:关系模式Student(Sno, Sname, Cno, Cname, Grade, Tname, Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一个学生可以选修若干门课程,一个教师可以讲授若干门课程,一门课程可以由若干教师讲授,一个学生选修一门课程时必须选定讲授课程的教师,教师不会重名。关系模式Student的规范化程度最高达到( )。
A.1NF
B.2NF
C.3NF
D.BCNF
第10题:
设教学数据库中有一个关于教师任教的关系模式R(T#,C#,CNAME,TEXT, TNAME,TAGE),其属性为教师工号、任教的课程编号、课程名称、所用的教材、教师姓名和年龄。
如果规定:每个教师(T#)只有一个姓名(TNAME)和年龄(TAGE),且不允许同名同姓;对每个课程号(C#)指定一个课程名(CNAME),但一个课程名可以有多个课程号(即开设了多个班);每个课程名称(CNAME)只允许使用一本教材(TEXT);每个教师可以上多门课程(指C#),但每个课程号(C#)只允许一个教师任教。
那么,关系模式R上基本的函数依赖集为(1),R上的关键码为(2), R的模式级别为(3)。
如果把关系模式R分解成数据库模式ρ1={(T#,C#),(T#,TNAME,TAGE),(C#, CNAME,TEXT)},那么R分解成ρ1是无损分解、保持依赖且ρ1属于(4)。
如果把关系模式R分解成数据库模式ρ2={(T#,C#),(T#,TNAME),(TNAME, TAGE),(C#,CNAME),(CNAME,TEXT)},那么R分解成ρ2是无损分解、保持依赖且ρ2属于(5)。
A.{T#→C#,T#→(TNAME,TAGE),C#→(CNAME,TEXT))
B.{T#→(TNAME,TAGE),C#→(CNAME,TEXT)}
C.{T#→TNAME,TNAME→TAGE,C#→CNAME,CNAME→TEXT}
D.{(T#,C#)→(TNAME,CNAME),TNAME→TAGE,CNAME→TEXT)