当前位置:文档之家› 数据库习题第三章 习题

数据库习题第三章 习题

CH3关系数据库标准语言SQL
一、选择题
1、SQL属于()数据库语言
A、关系型
B、网状型
C、层次型
D、面向对象型
2、SQL中创建基本表应使用()语句
A、CREATE INDEX
B、CREATE TABLE
C、CREATE VIEW
D、CREATE DATEBASE
3、SQL中创建视图应使用()语句
A、CREATE SHCEMA
B、CREATE TABLE
C、CREATE VIEW
D、CREATE DATEBASE
4、关系代数中的Π运算对应SELECT语句中的()子句
A、SELECT
B、FROM
C、WHERE
D、GROUP BY
5、关系代数中的σ运算对应SELECT语句中的()子句
A、SELECT
B、FROM
C、WHERE
D、GROUP BY
6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()
A、*
B、%
C、_
D、?
7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()
A、*
B、%
C、_
D、?
8、SELECT语句中与HA VING子句同时使用的是()子句
A、ORDER BY
B、WHERE
C、GROUP BY
D、无需配合
9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()
A、WHERE G>60 AND G<100
B、WHERE G>=60 AND G<100
C、WHERE G>60 AND G<=100
D、WHERE G>=60 AND G<=100
10、若用如下的SQL语句创建一个表student:
CREATE TABLE student ( NO CHAR(4) NOT NULL,
NAME CHAR(8) NOT NULL,
SEX CHAR (2),
AGE INT)
可以插入到student表中的是()
A、(‘1031’,‘刘华’,男,23)
B、(‘1031’,‘刘华’,NULL,NULL)
C、(NULL,‘刘华’,‘男’,‘23’)
D、(‘1031’,NULL,‘男’,23)
11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。

A、经常更新的
B、主属性
C、非主属性
D、经常查询的属性列
12、查询Student表中没有注册(即注册日期Regdate为空)的学生的学号和姓名,其SQL语句为()
A、SELECT Sno,Sname FROM student WHERE Regdate=NULL;
B、SELECT Sno,Sname FROM student WHERE Regdate!=NULL;
C、SELECT Sno,Sname FROM student WHERE Regdate IS NULL;
D、SELECT Sno,Sname FROM student WHERE Regdate IS NOT NULL;
13、下面列出的关于视图的选项中,()是不正确的。

A、视图对应三级模式结构的外模式
B、视图是虚表
C、使用视图可以加快查询语句的执行速度
D、使用视图可以简化查询语句的编写
14、用SQL的ALTER TABLE语句修改基本表时,删除其中某个列的完整性约束条件应使用的子句是()
A、ADD
B、DELETE
C、MODIFY
D、DROP
15、在表course中,增加任课教师列,其数据类型为字符型,宽度为10,能正确完成的SQL语句是()。

A、ALTER TABLE course ADD Teacher CHAR(10);
B、ALTER TABLE course ADD Teacher CHAR;
C、UPDATE TABLE course ADD Teacher CHAR(10);
D、UPDATE TABLE course ADD Teacher CHAR;
二、填空题
1、SQL语言的功能包括()、()、()和()。

2、SELECT语言中,()子句用于选择满足给定条件的元组,使用()子句可以按指定列的值分组,同时使用()子句可以提取满
足条件的组。

3、在SQL中,如果希望将查询结果排序,应在SELECT语句中使用()子句,其中()选项表示升序,()选项表示降序。

4、SELECT语句中进行查询,若希望查询的结果不出现重复元组,应在SELECT 子句中使用()保留字。

5、DBA利用()语句将对某类数据的操作权限赋予用户,用()语句收回对某类数据的操作权限。

6、视图是一个虚表,该表从()导出的表。

在数据库中,只存放视图的(),不存放视图对应的()。

7、视图不仅可以建立在一个或多个基本表上,也可以建立在一个或多个已定义好的()上。

三、简答题
1、有两个关系:C(cno, cn, scno), SC(sno, cno, grade)
其中,C为课程表关系,对应的属性分别是课号,课程名和选修课号;SC为学生选课表关系,对应的属性分别是学号、课号和成绩. 用SQL语言写出:
(1)对关系SC中课号等于C1进行查询;
(2)对关系C的课号、课程名的查询;
(3)两个关系的自然连接。

2、学生数据库中有三个基本表(关系)
S(Sno,Sname,Age,Sex,DEPT)
C(Cno,Cname,Teacher)
SC(Sno,Cno,Grade)
试用SQL语言完成以下操作:
(1)检索学生姓名及其所选修课程的课程号和成绩。

(2)检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

(3)查询选修了“计算机”课程的女学生姓名;
3、什么是基本表?什么是视图?二者的区别是什么?
4、为什么将SQL中的视图称为“虚表”?
5、已知R 和S 两个关系: 执行如下SQL 语句:
(1)create view H(A,B,C,D,E)
AS select A,B,R.C,D,E FROM R,S
WHERE R.C=S.C
(2)SELECT B,D,E
FROM H
WHERE C= (2)
试给出:
(1)视图H ;(2)对视图H 的查询结果。

6、设有如下关系R(NO,NAME,SEX,AGE,CLASS)
主键是NO ,写出实现下列功能的SQL 语句
(1)插入一个记录(2005001,“黎明”,“男”,21,05031)
(2)插入05031班学号为2005030,姓名为郑和的学生记录;
(3)将学号为2005010的学生姓名改为刘平;
(4)将所有05101班号改为05091;
(5)删除学号为2005020的学生记录;
(6)删除姓赵的学生记录。

7、学生数据库中有三个基本表
学生关系S(Sno,Sname,Age,Sex,SD)
课程关系C(Cno,Cname,Teacher)
学生选课关系SC(Sno,Cno,Grade)
用SQL 语言完成以下操作
(1)检索选修课程名为“MS”的学生学号和姓名;
c2 b3 a3 c2 b2 a2 c1 b1 a1 C B A e2 d3
c3 e2 d2
c2 e1 d1
c1 E D
C R S
(2)检索至少选修了课程号为C1和C3的学生学号;
(3)检索选修了操作系统或数据库课程的学号和成绩;
(4)检索年龄在18~20之间(包含18和20岁)的女生的学号、姓名及年龄;(5)检索选修了…刘平‟老师所讲课程的学生学号、姓名和成绩;
(6)检索所有姓“李”的学生姓名、年龄和所在系;
(7)检索选修了三门课以上的学生姓名、年龄和所在系。

相关主题