数据库原理习题集
选课(学号,课程号,成绩)
(1)检索”李军”老师所授课的课程号和课程名 (2)检索年龄大于21的男学生学号和姓名。
(3)检索选修课程名为”C语言”的学生学号和姓名。
(4)检索至少选修”李军”老师所授课程中一门课程的学生学号。 (5)检索至少选修两门课程的课程号。
(6)检索全部学生都选修的课程的课程号和课程名。
(7)检索至少选修”李军”老师所授全部课程的学生姓名。 (8)检索选修全部课程的学生姓名。
(9)检索选修课程包含学号为2的学生所选修课程的学生学号。 (10)检索”李强”同学不学课程的课程号。 (11)检索选修课程号为k1和k5的学生学号。 (12)检索选修了数据结构先行课的学生姓名。
4. 分别用元组关系演算、域关系演算表达式表示上题给定的关系中所有选修了“os”课程且年龄大于20的学生姓名。
5.将下列关系代数表达式用汉语表示出来,并写出等价的元组关系演算、域关系演算表达式。
(1) 2,7,8(?籍贯=‘上海’(学生∞选课)
(2) 2,9,8(学生∞选课∞课程名=‘数据库’( 课程))
??? 10
数据库原理习题集
第四部分SQL语言 一、单选题
1. SQL语言是( )标准语言。
A. 层次数据库 B.网络数据库 C.关系数据库 D.非数据库 2. SQL语言是( )的语言,易学习。
A. 过程化 B.非过程化 C.格式化 D.导航化 3.SQL语言具有的功能是( )
A. 关系规范化 B. 数据定义、数据操纵、数据控制、数据查询 C. 数据库系统设计D. 能绘制E-R图
4.SQl语言具有两种使用方式,分别称为交互式SQL和( )
A. 提示式SQL B. 多用户SQL C. 嵌入式SQL D. 解释式SQL 5. 以下关于SQL语句的书写准则中不正确的是( )。 A. SQL语句对大小写敏感,关键字需要采用大写形式 B. SQL语句可写成一行或多行,习惯上每个子句占用一行 C. 关键字不能在行与行之间分开,并且很少采用缩写形式 D. SQL语句的结束符为分号“;”
6. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。其中最重要的也是使用最频繁的语句是( )。
A.SELECT B.INSERT C.UPDATE D.DELETE 7.SQL语言中实现数据库检索的语句是( )
A. SELECT B. INSERT C. UPDATED. DELETE 8.SELECT语句执行的结果是( )。
A.数据项 D.元组集合 C.表 D.视图 9.下列语句中修改表结构的是( )
A. ALTER B. CREATE C. UPDATE D. INSERT 10.若要撤销数据库中已经存在的表S,可用( )
A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 11.SQL语言中,删除一个表的命令是( )
A. CLEAR TABLE B. DROP TABLE C. DELETE TABLE D. REMOVE TABLE 12 下列关于基本表的叙述中,错误的是( )。
A.一个存储文件可包含多个表 B.一个基本表对应一个存储文件 C.一个基本表只能有一个索引,索引也存放在存储文件中
D. 基本表是独立存储在数据库中的但一个存储文件中可存放多个基本表 13. 一般来说,以下情况的列不适合建立索引( )。
A.经常被查询的列 B.ORDER BY子句中使用的列。
C.是外键或主键的列 D.包含许多重复值的列
14. 定义基本表时,若要求某一列的值是唯一的,则应在定义时使用( )保留字,但
如果该列是主键,则可省写。
A.NULL B.NOT NULL C.DISTINCT D.UNIQUE
15. 在SQL语句中,可以用来实现关系代数中π运算功能的是( )语句。 A. SELECT B.ALTER C.DELETE D.DROP 16. 在SELECT语句中,与关系代数中σ运算符对应的是( )子句。 A. SELECT B.FROM C.WHERE D.GROUP BY
17. 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用( )保留字。
A. UNIQUE B.ALL C.EXCEPT D.DISTINCT
11
数据库原理习题集
18. 在以下SELECT 语句的子句中,放在最后的应该是( )子句。 A.GROUP BY B.HAVING C.WHERE D.ORDER BY 19. 与HAVING子句一起使用的子句是( )。
A.GROUP BY B.ORDER BY C.WHERE D.JOIN 20. FOREIGN KEY约束是( )约束。
A.实体完整性 B.参照完整性 C.用户自定义完整性 D.域完整性 21. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的( )子句。 A. DELETE B. DROP C. MODIFY D. ADD 22. 向基本表中增加一个新列后,原有元组在该列上的值是( )。
A.TRUE B.FALSE C.空值 D.不确定 23. 当FROM子句中出现多个基本表或视图时,系统将执行( )操作。
A. 并 B.等值连接 C.自然联结 D.广义笛卡儿积 24. 视图创建完成后,数据字典中存放的是( )。
A. 查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义 25. 查询中需要统计元组的个数时,应使用( )函数。
A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 26. 查询中需要统计某列中值的个数应使用( )函数。
A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 27.下列的SQL语句中,( )不是数据定义语句。
A. CREATE TABLE B. DROP VIEW C. CREATE VIEWD. GRANT 28. 两个子查询的结果( )时,可以执行并、交、差操作。
A.结构完全一致 B.结构完全不一致 C.结构部分一致在 D.主码一致 29.在SQL语言中,子查询是
A. 返回单表中数据子集的查询语言 B. 选取多表中字段子集的查询语句
C. 选取单表中字段子集的查询语句 D. 嵌入到另一个查询语句之中的查询语句 30.SQL语言中,下列涉及空值的操作,不正确的是( )
A. AGE IS NULL B. AGE IS NOT NULL C. AGE=NULL D. NOT(AGE IS NULL)
31.设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成 WHERE DNAME LIKE( )
A. “_ _W _%”B. “_ W _ %”C. “_ W _ _”D. “ _ %W _ _” 32.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制 第33题到第38题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN)
SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩
33.要查询选修“Computer”课的男生姓名,将涉及到关系( )
A. S B. S,SC C. C,SC D. S,C,SC 34.要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )
A. S.S# = SC.S# and C.C# = SC.C# and SEX=‘男’ and CNAME=‘数据库’
B. S.S# = SC.S# and C.C# = SC.C# and SEX in ‘男’and CNAME in ‘数据库’ C. SEX ‘男’and CNAME ‘数据库’D. S.SEX=‘男’and CNAME=‘数据库’
12
数据库原理习题集
35. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是( )。 A. SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#; B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE; C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#; D.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;
36. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是( )。 A.SELECT MAX(GRADE) FROM SC WHERE C# ='C2’ AND SEX='男';
B.SELECT MAX(GRADE) FROM SC,C,S WHERE C#=‘C2‘ AND SEX=’男‘;
C.SELECT MAX(GRADE) FROM SC,S WHERE SC.C#=C.C# AND C#=’C2‘ AND SEX=’男‘; D.SELECT MAX(GRADE) FROM SC,C,S WHERE SC.C#=C.C# AND SC.S#=S.S# AND C#='C2' AND SEX='男';
37. 检索选修课程“C2”的学生中成绩最高的学生学号,正确的SELECT语句是( )。
A.SELECT S# FROM SC WHERE C# ='C2’ AND GRADE>=(SELECT GRADE FROM SC WHERE C# ='C2’);
B.SELECT S# FROM SC WHERE C# ='C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C# ='C2’);
C. SELECT S# FROM SC WHERE C# ='C2’ AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C# ='C2’) ;
D. SELECT S# FROM SC WHERE C# ='C2’ AND GRADE >=ALL( SELECT GRADE FROM SC WHERE C# ='C2’) ;
38. 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是( )。 A. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4
B. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC C. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC
D. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4
39.下面列出的关于视图的条目中,不正确的是( )
A. 视图是外模式 B. 使用视图可以加快查询语句的执行速度 C. 视图是虚表 D. 使用视图可以简化查询语句的编写 40.在视图上不能完成的操作是
A. 更新视图B. 查询 C. 在视图上定义新的表D. 在视图上定义新的视图
41.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建( )
A. 另一个表 B. 游标C. 视图D. 索引 42.在SQL语言中的视图VIEW是数据库的( )
A. 外模式 B. 模式 C. 内模式 D. 存储模式 43. 若用如下的SQL语句创建一个student表( )
CREATE TABLE student( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2), AGE SMALLINT );可以插入到student表中的是( )。
A.('2004010','王华',男,23) B.('2004010,'王华',NULL,NULL) C.(NULL,'王华','男',23) D.('2004010,NULL,'男',23) 44.若要在基本表S中增加一列CN(课程名),可用( )
13
数据库原理习题集
A. ADD TABLE S(CN CHAR(8))B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD CN CHAR(8)D. ALTER S (ADD CN CHAR(8))
45.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、
性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( ) A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’
46.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用( )
A. ADD INTO S VALUES('张二’,‘化学’,‘80’) B. INSERT INTO S VALUES(‘张二’,‘化学’,‘80’) C. ADD INTO S VALUES(‘张二’,‘化学’,80) D. INSERT INTO S VALUES(‘张二’,‘化学’,80)
47.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课
程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用( )
A. UPDATE S SET grade=85 WHERE SN=‘王二’AND CN=‘化学’ B. UPDATE S SET grade=‘85’WHERE SN=‘王二’AND CN=‘化学’ C. UPDATE grade=85 WHERE SN=‘王二’AND CN=‘化学’
D. UPDATE grade=‘85’WHERE SN=‘王二’AND CN=‘化学’ 48.如下的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作中有可能不能执行的是( )
A. 从职工表中删除行(‘025’,‘王芳’,‘03’,720) B. 将职工号为‘004’的部门号改为‘03’
C. 将行(‘02’,‘财务处’)插入到部门表中 ,部门表中无此行。 D. 将职工号为‘001’的工资改为700
49.用OPEN语句打开游标后,游标指针指向( )。 A. 基本表的第一行 B.基本表的第一行之前 C.查询结果的第一行 D.查询结果的第一行之前 50.SQL语言中,用于实现安全性控制的语句是( ) A. COMMITB. B.GRANT C. ROLLBACK D. SAFE 51.有关嵌入式SQL的叙述,不正确的是( ) A.宿主语言是指C 一类高级程序设计语言 B.宿主语言是指SQL语言
C.在程序中要区分SQL语句和宿主语言语句
D.SQL有交互式和嵌入式两种使用方式
52.卷游标的推进语句”exec sql fetch relative -3”表示( )
A.把游标移向查询结果的第3行 B. 把游标移向查询结果的倒数第3行 C. 把游标从当前位置推进3行 D. 把游标从当前位置返回3行 三.填空题
1.在SQL中,关系模式称为_____,子模式称为_____,元组称为_____,属性称为____。
2.在SQL语言中,DELETE命令用来删除表中的记录,_____命令用来删除表。UPDATE命令用来更新表的记录值, ______语句用来更新表结构。
3.使用INSERT语句插入记录时,有两种形式:一是使用VALUES子句,一次只能插入一行;
另一种是使用_____ ,一次可插入多行。
4.在SQL中,WHERE子句的条件表达式中,字符串匹配的操作符是 ;与0个或多个
14
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库复习题(3)在线全文阅读。
相关推荐: