在"学生选课"数据表中有如下字段:课程编号、课程名称、上课时间、开课教师、上课地点。其中最适合设置为关键字的字段是()
A.课程编号
B.课程名称
C.上课时间
D.开课教师
A、课程编号
A.课程编号
B.课程名称
C.上课时间
D.开课教师
A、课程编号
建立一个学生关系表Student,表中有5个字段:学号Sno(字符型)、姓名Sname(字符型)、性别Sex(字符型)、年龄Age(整型)、系别Dept(字符型),其中Sno是关系的码;建立一个学生选课关系表SC,表中有3个字段:学号Sno(字符型)、课程号Cno(字符型)、成绩Grade(数值型),其中Sno、Cno是关系的码,用SQL语言完成下列功能:
① 建立学生关系表Student和学生选课关系表SC。
② 查询计算机系(’CS’)所有同学的姓名和各科成绩。
③ 添加一个学生记录,学号为20020003,姓名为吴刚,性别为男,年龄为19岁,所在系为计算机系。
④ 逻辑删除李江同学的相关记录。
设教学数据库中有三个关系: 学生关系 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’)
阅读以下说明和关系表,回答问题1~3。
[说明]
在一个大学的选课系统中,包括了学生、系、教师和课程方面的信息。该系统中还包含了学生所选课程、成绩,教师所授课程,以及系开设的课程等信息。学生、教师、系和课程的属性如下:
学生:学号和姓名
教师:编号和姓名
系:系代号和系名
课:课程号和课程名
一个学生可以选多门课程,一名教师可以讲授多门课程,也可以多名教师讲授同一门课程,不同专业间也可以开设相同的课程。
用E-R模型对大学选课的数据库进行描述。
(1)创建一个查询,统计人数在7人以上(含7)的院系人数,字段显示标题为“院系号”和“人数”,所建查询命名为“qTl”。要求:按照学号来统计人数。
(2)创建一个查询,查找非“04”院系还未选课的学生信息,并显示“学号”和“姓名”两个字段内容,所建查询命名为。“qT2”。
(3)创建一个查询,计算组织能力强的学生的平均分及其与所有学生平均分的差,并显示“姓名”、“平均分”和“平均分差值”等内容,所建查询命名为“qT3”。
注意:“平均分”和“平均分差值”由计算得到。
要求:“平均分差值”以整数形式显示(使用函数实现)。
(4)刨建一个查询,查找选修了先修课程的学生,并将成绩排在前3位的学生记录追加到表“tTemp”的对应字段中,所建查询命名为“qT4”。
设有如下实体:
学生:学号,单位,姓名,性别,年龄,选修课程名
课程:编号,课程名,开课单位,任课教师号
教师:教师号,姓名,性别,职称,讲授课程编号
单位:单位名称,电话,教师号,教师名
上述实体存在如下联系:
(1) 一个学生可以选修多门课程,一门课程可为多个学生选修;
(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;
(3) 一个单位可有多个教师,一个教师只能属于一个单位。
试完成以下工作:
(1) 分别设计学生选课和教师任课两个局部信息的结构E-R图。
(2) 将上述设计完成的ER图合并成一个全局E-R图。
(3) 将该全局ER图转换为等价的关系模型表示的数据库逻辑结构。
设有如下所示的关系: 学生关系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) 检索至少选修两门课程的学生学号。