设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数
设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT→MNAME
关系STUDENT属于第几范式?并说明理由。
设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数依赖:
(S#,CNAME)→SNAME,SDEPT,MNAME
S#→SNAME,SDEPT,MNAME
(S#,CNAME)→GRADE
SDEPT→MNAME
关系STUDENT属于第几范式?并说明理由。
设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:。
(1)检索选修全部课程的学生姓名(SNAME)。
(2)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
(3)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。
设有如下所示的关系: 学生关系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) 检索至少选修两门课程的学生学号。
一、设有一学生-课程数据库,其中关系表如下所示: 学生关系表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表关系:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 请用SQL语句实现下列各题: (1)建立一个“学生”表SC。 (2)为学生-课程数据库中的SC建立索引,SC表按学号升序和课程号降序建索引。 (3)查询全体学生的详细记录。 (4)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 (5)查询名字中第2个字为"明"字的学生的姓名和学号。 (6)查询学生总人数。 (7)查询选修了课程M01或者选修了课程M02的学生。 (8)将学生08001的年龄改为23岁。
A.S#
B.C#
C.GRADE
D.(S#,C#)
假定学生关系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
假设“学生一选课一课程”数据库中有以下3个关系:
S(S#,SNAME,SEX,AGE,DEPARTMENT),主码是S#
C(C#,CNAME,TEACHER),主码是C#
SC(S#,C#,GRADE),主码是(S#,C#)
下面的SQL语句定义了一个反映学生出生年份的视图:
CREATE VIEW S BDAY(S#,SNAME,BIRTH)AS
SELECT S#,SNAME,2010-AGE FROM S
这是一个()。
A.行列子集视图
B.带表达式视图
C.分组视图
D.连接视图
A.S
B.SC,C
C.S,SC
D.S,C,SC
A.S和C
B.SC和C
C.S和SC
D.S、SC和C
假设“学生一选课一课程"数据库中有以下3个关系:
S(S#,SNAME,SEX,AGE,DEPARTMENT),主码是S#
C(C#,CNAME,TEACHER),主码是C#
SC(S#,C#,GRADE),主码是(S#,C#)
要查询学生姓名及其所选修课程的课程号和成绩,正确的SQL语句是()。
A.SELECTS.SNAME,SC.C#,GRADE FROM S WHERE S.S#=SC.S#
B.SELECT S.SNAME,SC.C#,GRADE FROM SC WHERE S.S#==SC.S#
C.SELECTS.SNAME,SC.C#,GRADE FROM S,SC WHERE S.S#=SC.S#
D.SELECT、S.SNAME,SC.C#,GRADE FROM S,SC WHERlE S.S#=SC.C#