(2 ) 有学生表 (学号 , 姓名 , 年龄 , 性别 , 系名 , 专业名 , 班号 ) , 设一个系可有多个专业
方法 1 :索引列顺序为(系名,班号)
方法 2 :索引列顺序为(班号,系名)
① 这两种方法哪个更合理?请简要说明原因 。 (4 分)
② 针对你认为合理的方法,写出创建该索引的 SQL 语句 。 (3 分)
方法 1 :索引列顺序为(系名,班号)
方法 2 :索引列顺序为(班号,系名)
① 这两种方法哪个更合理?请简要说明原因 。 (4 分)
② 针对你认为合理的方法,写出创建该索引的 SQL 语句 。 (3 分)
A. CREATE TABLE学生(学号C(6)PRIMARY,姓名C(8),性别C(2),年龄I)
B. CREATE TABLE学生(学号C(6)FOREIGN,姓名C(8),性别C(2),年龄I)
C. CREATE TABLE学生(学号C(6)FOREIGN KEY,姓名C(8),性别C(2),年龄I)
D. CREATE TABLE学生(学号C(6)PRIMARY KEY,姓名C(8),性别C(2),年龄I)
学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名
(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字
(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名
,课程名,课程号,成绩),关键字为(学号,课程号)。
成绩(1)依赖(学号,课程)。
姓名(2)依赖(学号,课程)。
系主任(3)依赖学号。
A.部分
B.完全
C.传递
依次填入的选项是:()。
A.B,A,C
B.A,B,C
C.B,C,A
D.A,C,B
(1)创建一个查询,查找并显示有书法或绘画爱好学生的“学号”、“姓名”、“性别”和“年龄”四个字段内容,所建查询命名为“qT1”。
(2)创建一个查询,查找成绩低于所有课程总平均分的学生信息,并显示“姓名”、“课程名”和“成绩”三个字段内容,所建查询命名为“qT2”。
(3)以表对象“tScore”和“tCourse”为基础,创建一个交叉表查询。要求:选择学生的“学号”为行标题、“课程号”为列标题来统计输出学分小于3分的学生平均成绩,所建查询命名为“qT3”。
注意:交叉表查询不做各行小计。
(4)创建追加查询,将表对象“tStud”中“学号”、“姓名”、“性别”和“年龄”四个字段内容追加到目标表“tTemp”的对应字段内,所建查询命名为“qT4”。(规定:“姓名”字段的第一个字符为姓,剩余字符为名。将姓名分解为姓和名两部分,分别追加到目标表的“姓”、“名”两个字段中)
有两个基本关系:学生(学号,姓名,系号),系(系号,系名,系主任),学生表的主码为学号,系表的主码为系号,因此系号是学生表的()。
A.主码(主键)
B.外码(外关键字)
C.域
D.映像
使用如下三个数据库表: 学生(学号C(8),姓名C(8),性别C(2),班级C(8)) 课程(课程编号C(8),课程名称C(20)) 成绩(学号C(8),课程编号C(8),成绩N(5,1)) 查询所有选修了“高等数学”的学生的“相关”成绩,要求信息中包括学生姓名和成绩,并按成绩由低到高的顺序排列,下列语句正确的是()。
A. SELECT学生.姓名,成绩.成绩FROM学生,成绩; WHERE学生.学号=成绩.学号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
B. SELECT学生.姓名,成绩.成绩FROM课程,成绩; WHERE AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
C. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; GROUP BY成绩.成绩ASC
D. SELECT学生.姓名,成绩.成绩FROM学生,课程,成绩; WHERE学生.学号=成绩.学号; AND课程.课程编号=成绩.课程编号; AND课程.课程名称=’高等数学’; ORDER BY成绩.成绩ASC
A.选择和投影
B.选择和乘积
C.乘积和投影
D.自然连接和投影
已知有下面三张表:
Student(Sno,Sname,Sage,Ssex,Sdept) 学生表
其中Sno:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别;Sdept:学生所在系。
Course(Cno,Cname,Credit) 课程表
其中Cno:课程编号;Cname:课程名字;Credit:学分。
SC(Sno,Cno,Score) 选课成绩表
Sno:学号;Cno:课程编号;Score:成绩。
根据以上的内容,写出以下问题的SQL语句。
1.查询全体学生的学号与姓名。
2.查询所有年龄在20岁以下的学生姓名及其年龄。
3.查询选修1号课程的学生最高分数。
4.查询选了至少3门课的同学的姓名和所在系。
5.查询选修了课程名为“信息系统”的学生学号和姓名。
设教学数据库中有三个基本表:
学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。
课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。
选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。
请完成下列问题:
(1)写出查询张三同学没有选修的课程的课程号的SQL查询语句;
(2)用等价的关系代数表达式表示上述SQL查询语句。
在SQL Server 2000中,有学生表(学号,姓名,年龄,所在系),学号是主码。在这个表上建有视图V1,V1视图的定义语句为: CREATE VIEW V1 AS SELECT姓名,年龄,所在系FROM学生表 WHERE年龄>=(SELECT AVG(年龄)FROM学生表) 有下列操作语句: Ⅰ.UPDATE V1 SET年龄=年龄+1 Ⅱ.SELECT*FROM V1 WHERE年龄>20 Ⅲ.DELETE FROM V1 WHERE年龄>20 Ⅳ.INSERT INTO V1 VALUES(,张三,20,‘计算机系’) 以上语句能正确执行的是
A.仅Ⅰ和Ⅱ
B.仅Ⅱ
C.仅Ⅱ和Ⅳ
D.仅Ⅰ、Ⅱ和Ⅲ
基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询有选课记录,但没有考试成绩的学生的学号、姓名和课程号,正确的SQL语句是()。
A. SELECT学号,课程号FROM SC WHERE成绩=””
B. SELECT学号,课程号FROM SC WHERE成绩=.F.
C. SELECT学号,课程号FROM SC WHERE成绩=NULL
D. SELECT学号,课程号FROM SC WHERE成绩IS NULL