设有如下所示的关系: 学生关系S(S#,SNAME,AGE,SEX) 课程关系C(C#,CNAME,TEACHER) 学生选课关系SC(S#,C#,GRADE) 其中:S#为学号, SNAME 为姓名, AGE 为年龄, SEX 为性别;C#为课程号, CNAME 为课程名, TEACHER为教师, GRADE 为成绩。 请根据要求写出关系代数表达式。 (1) 检索“张三”老师所授课程的课程号和课程名。 (2) 检索年龄大于 21的男学生学号和姓名。 (3) 检索选修“张三”老师所授全部课程的学生姓名。 (4) 检索“李四”同学不学课程的课程号。 (5) 检索选修课程包含“张三”老师所授课程之一的学生学号。 (6) 检索选修课程名为“C语言”的学生学号和姓名。 (7) 检索全部学生都选修的课程的课程号和课程名。 (8) 检索学号为3学生所学课程的课程名与任课教师名。 (9) 检索选修课程包含学号为2的学生所修课程的学生学号。 (10) 检索既选修课程号为K1又选修课程号为K5的学生学号。 (11) 检索至少选修两门课程的学生学号。
假定学生关系S(s#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),要查找“成绩大于75”的男学生的姓名将涉及的关系()。
A.S
B.C,SC
C.S,SC
D.S,C,SC
A.S
B.SC,C
C.S,SC
D.S,C,SC
A.SELECTS#FORMSCWHEREC#=‘C2’ANDGRADE>=ALL(SELECTGRADEFORMSCWHEREC#=‘C2’)
B.SELECTS#FORMSCWHEREC#=‘C2’ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=‘C2’)
C.SELECTS#FORMSCWHEREC#=‘C2’ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=‘C2’)
D.SELECTS#FORMSCWHEREC#=‘C2’ANDGRADE>=(SELECTGRADEFORMSCWHEREC#=‘C2’)
设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER) 用SQL语句实现下面查询: 1.查询不学C2课的学生姓名与年龄。 2.求刘老师所授课程的每门课程的平均成绩。 3.求年龄大于女同学平均年龄的男学生姓名和年龄。 4.检索学习全部课程的学生姓名; 即在表S中找学生,要求这个学生学了全部课程。换言之,在S表中找学生,在C中不存在一门课程,这个学生没有学。 5.往关系C中插入一个课程元组(‘C8’,‘VC++’,‘BAO’)
设教学数据库中,有两个基本表:
学生表:S(S#,SNAME,AGE,SEX)
学习表:SC(S#,C#,GRADE)
现有一个SQL语句:
SELECT SEX,AGE,AVG(GRADE)
FROM S,SC
WHERE S.S# = SC.S#
GROUP BY SEX,AGE
ORDER BY 3 DESC;
试写出与此语句等价的汉语查询语句。
A.1NF
B.2NF
C.3NF
D.BCNF
设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT→MNAME
关系STUDENT属于第几范式?并说明理由。
A.课程号,成绩
B.课程号,教工号
C.学号,成绩
D.学号,教工号
S(Sno,Sname,Age,Sex,Dept)
A(Ano,Aname,Location,Manager)
SA(Sno,Ano,Date)
建立一个包含Sno、Sname、Aname和Date的视图ST。