SQL数据库技术与应用期末复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《SQL Server数据库技术与应用》期末复习一、单项选择题(每小题2分,共20分)
1.“借书日期必须在还书日期之前”这种约束属于数据库的()功能。
A.恢复B.并发控制C.完整性D.安全性
C.完整性
2.在数据中,产生数据不一致的根本原因是()。
A.没有严格保护数据B.数据存储量太大C.数据间联系弱D.数据冗余
D.数据冗余
3.次数据文件用于存储不能存在主数据文件中的数据,默认扩展名为()。
A..ndf B..mdf C..log D..dat
A..ndf
4、若要求查找‘’姓学生的学生号和,正确的SQL语句是( B )。
A. SELECT S#,SNAME FROM S WHERE SNAME=’%’
B. SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%’
C. SELECT S#,SNAME FROM S WHERE SNAME=’%%’
D.SELECT S#,SNAME FROM S WHERE SNAME LIKE ’%%’
5.通过CREATE TABLE语句或者其他方法创建了一个表后,可以使用()语句在表中添加记录。
A.DELETE B.INSERT C.UPDATE D.INSEATER
B.INSERT
6.在关系数据库系统中,一个关系就是()。
A.一二维表B.一条记录C.一个关系数据库D.一个关系代数运算
A.一二维表
7.语句SELECT ,性别,出生日期FROM student_info返回()列。
A.1 B. 2 C.3 D.4
C.3
8.语句SELECT 1.2*0.5的结果是()。
A.NULL B.1 C.0 D.0.6
D.0.6
9.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建(c )。
A.另一个表B.游标C.视图D.索引
5.一个查询的结果成为另一个查询的条件,这种查询被称为()。
A.连接查询B.查询C.自查询D.子查询
D.子查询
10.为了对表中的各行进行快速访问,应对此表建立()。
A.约束B.规则C.索引D.视图
C.索引
11.SELECT语句中,下列()子句用于对数据按照某个字段分组。
A.HAVING子句B.GROUP BY 子句C.ORDER BY 子句D.WHERE子句
B.GROUP BY 子句
12.在SELECT语句中,下列子句用于选择列表()。
A.SELECT子句B.INTO子句C.FROM 子句D.WHERE子句
A.SELECT子句
13.在SELECT语句中,下列子句用于将查询结果存储在一个新表中()。
A.SELECT子句B.INTO子句C.FROM 子句D.WHERE子句
B.INTO子句
14.在SELECT语句中,下列子句用于指出所查询的数据表名()。
A.SELECT子句B.INTO子句C.FROM 子句D.WHERE子句
C.FROM 子句
15.SQL的视图是从()中导出的。
A.基本表B.视图C.基本表或视图D.数据库
C.基本表或视图
16.创建视图命令是()。
A.CREATE VIEW B.DROP VIEW C.CREATE TABLE D.CREATE RULE
A.CREATE VIEW
17.()具备多条件分支结构,计算多个条件表达式的值,并返回符合条件的一个结果表达式的值。
A.CASE 函数B.IF...ELSE语句C.CASE语句D.GOTO语句
A.CASE 函数
18.WHILE 语句可以重复执行SQL 语句或语句块,直到逻辑表达式为假。
其中,()为循环结束标记。
A.END B.BREAK语句C.CONTINUE语句D.GOTO语句
A.END
19.下列对触发器的描述()是错误的。
A.触发器属于一种特殊的存储过程
B.触发器与存储过程的区别在于触发器能够自动执行并且不含有参数
C.触发器有助于在添加、更新或删除表中的记录时保留表之间已定义的关系
D.既可以对INSERTED、DELETED临时表进行查询,也可以进行修改
C.触发器有助于在添加、更新或删除表中的记录时保留表之间已定义的关系
20.用于修改存储过程的SQL语句为()。
A.ALTER TABLE B.ALTER DATABASE C.ALTER TRIGGER D.ALTER PROCEDURE
D.ALTER PROCEDURE
21.“日志”文件可以用于()。
A.进行数据库恢复B.实现数据库的安全性控制C.保证数据库的完整性D.控制数据库的并发操作
A.进行数据库恢复
22. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。
A. SELECT * FROM CP WHERE 产品名称LIKE ‘冰箱’
B. SELECT * FROM XSH WHERE 产品名称LIKE ‘冰箱’
C. SELECT * FROM CP WHERE 产品名称LIKE ‘%冰箱%’
D. SELECT * FROM CP WHERE 产品名称=‘冰箱’
23. SQL Server 2000是一个(c)的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是
24. SQL Server 2000 采用的身份验证模式有(d)。
(A)仅Windows身份验证模式
(B)仅SQL Server身份验证模式
(C)仅混合模式
(D)Windows身份验证模式和混合模式
25. SQL Server提供的单行注释语句是使用(b)开始的一行容。
(A)“/*”(B)“--”(C)“{”(D)“/”
26. 在SQL SERVER中局部变量前面的字符为:(d)
(A)* (B)# (C)(D)
27. 对视图的描述错误的是:(d)
(A)是一虚拟的表
(B)在存储视图时存储的是视图的定义
(C)在存储视图时存储的是视图中的数据
(D)可以像查询表一样来查询视图
28、在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A)。
A. age>=30 and age<=40
B. age>=30 or age<=40
C. age>30 and age<40
D. age>30 or age<40
29. SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是(d)。
(A)企业管理器(B)导入和导出数据(C)事件探察器(D)服务管理器
30、表在数据库中是一个非常重要的数据对象,它是用来(_a_)各种数据容的,数据库创建后就可以创建表了,创建表可以用(__d_)等方法来创建。
⑴A、显示B、查询C、存放D、检索
⑵A、企业管理器B、查询分析器
C、OSQL
D、企业管理器和CREATE TABLE语句
31、SQL语言中,删除一个表的命令是(B )
A. DELETE
B. DROP
C. CLEAR
D. REMOVE
32.在数据库中存储的是( C )。
A. 数据
B. 数据模型
C. 数据及数据之间的联系
D. 信息
33.现有一个“教师”表,其中一个字段是教师的住址(字符型,20位长),如果不希望此字段包含空值,即某位教师现没有住址,则希望此字段自动填入“还没有”,应该(C )。
A. 为此列创建一个check约束
B. 为此列创建一个foreign key约束
C. 为此列创建一个default约束
D. 为此列创建一个primary key约束34.触发器是一种特殊类型的( B ),当表中发生特殊事件时执行。
A.存储器B.存储过程
C.模式D.视图
35.删除数据库使用的SQL语句是( C)。
(A)CREATE DATABASE (B)ALTER DATABASE
(C)DROP DATABASE(D)DELETE DATABASE
36.系统存储过程存放在( A )数据库中。
A.master B.msdb
C.tempdb D.model
37.下列SQL语句中,修改表结构的是(A)。
A.ALTER B.CREATE C.UPDATE D.INSERT
38.DBMS通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D )。
A.可靠性B.一致性C.完整性D.安全性
39.SQL语言是(C)语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库
40.下列语句用于删除触发器的是( A )
A.drop trigger 触发器名B.drop procedure 触发器名
C.delete procedure 触发器名D.delete trigger 触发器名
41.下面有关存储过程的叙述中,错误的是( D )。
(A)SQL Server允许在存储过程创建时引用一个不存在的对象
(B)存储过程可以带多个输入参数,也可以带多个输出参数
(C)使用存储过程可以减少网络流量
(D)在一个存储过程中不可以调用其他存储过程
二、判断题(共30分)
1. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。
×
2. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf √
3. 使用INSERT命令一次只能插入一行数据。
×
4. 已使用DROP TABLE除去删除表,若要删除表上的视图,必须通过使用DROP VIEW手工删除。
√
5. SQL Server存储过程能够立即访问数据库。
√
6. 两个空值相比较的结果是未知。
√
7. 在INSERT语句中,VALUES列表中的表达式的数量,必须匹配列表中的列数,表达式的数据类型必须可以和表格中对应各列的数据类型兼容。
√
8.数据管理经历了文件管理和数据库管理两个阶段。
错
9.一个基本表最多只能有一个索引。
错
10.已知学生关系student(学号, , 系别),如果规定学号的值域必须是7个数字组成的字符串,则这一个规则属于用户自定义完整性约束。
对
11.若希望某数据库中的全体用户都具有某个权限,较好的做法是创建一个角色并将此权限授给该角色。
对
12.日志文件是用于数据库恢复的重要文件。
对
13.视图能够简化用户的操作。
(对)
14.索引有助于提高数据检索的速度,因此建立索引的数量越多越好。
( 错)
14.Windows身份验证模式登录SQL Server服务器时不需要输入登录名和密码。
( 对)
16.触发器可用于保证数据的完整性。
( 对)
17.在SQL Server 2000中,数据库一旦建立就不允许重命名。
( 错)
18.因为通过视图可以插入、修改或删除数据,因此视图也是一个实际存储的表。
(错)
三、填空题
1.数据管理技术的发展大致经历了__________、__________、__________三个阶段。
人工管理方式、文件管理方式、数据库系统管理方式
2.SQL Server有两种身份验证模式,如果选择_________,SQL Server 系统根据用
户的Windows允许或拒绝访问;如果选择_________,你要提供一个SQL Server登
录用户名和口令,该记录将保存在SQL Server部,而且该记录与任何Windows无
关。
Window身份验证模式、SQL Server身份验证模式
1.在CREATE INDEX语句中使用____选项创建惟一索引。
UNIQUE
1.在SQL语句中___________语句使用频率最高。
SELECT
2.WHERE子句后一般跟着___________ 。
条件
4.在查询条件中,可以使用另一个查询的结果作为条件的一部分,例如判定列值
是否与某个查询的结果集中的值相等,作为查询条件一部分的查询称为__________。
子查询
7.SQL是__________。
结构化查询语言
11.连接查询的类型有__________、__________、__________3种。
连接,外连接,交叉连接
13.外连接有__________、__________、__________等。
左外连接,右外连接,完全外连接
1.对视图的操作与对表的操作一样,可以对其进行_________ 、_________ 与
_________,但对数据的操作要满足一定的条件。
当对通过视图看到的数据进行修改
时,相应的基础表的数据也会发生变化,同样,若基础表的数据发生变化,也会自
动反映到_________中。
查询、修改、删除、视图
2.___________语句将多个SQL 语句组合成一组语句块,并将些语句块视为一个
单元。
BEGIN…END
4. SQL Server 2000服务管理器的主要作用是启动、暂停、停止服务器。
17. 每条__select___语句能够同时为多个变量赋值,每条__set__语句只能为一个变量赋值。
9 、在我们说到数据完整性时,使用是约束优先于使用触发器、规则和默认值
9、计算字段的累加和的函数是:Sum(),统计项目数的函数是:__Count()____。
四、综合题(每小题10分,共30分)
1.使用Transact-SQL语句删除studentsdb数据库的grade表中学号为0004的成绩记录。
DELETE grade WHERE 学号='0004'
2.使用Transact-SQL语句修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。
UPDATE grade SET 分数= 90
WHERE 学号='0003' and 课程编号= '0005 '
3.使用Transact-SQL语句修改curriculum表的“课程编号”列,使之为非空。
ALTER TABLE curriculum
ALTER COLUMN课程编号NOT NULL
4.在student_info表中,查询所有男同学的学号和。
SELECT 学号, FROM student_info WHERE 性别= '男'
5.在student表中查找与“卫平”性别相同的所有学生的、出生日期。
SELECT ,出生日期
FROM student
WHERE 性别=
(SELECT 性别
FROM student
WHERE = '卫平' )
6.使用查询分析器建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。
CREATE RULE stusex_rule
AS
性别in ('男','女')
sp_bindrule stusex_rule, 'stu_phone.性别'
7.在studentsdb数据库的student_info表中,以“性别”为分组条件,分别统计男生和女生人数。
DECLARE male int,female int
SET male =(SELECT COUNT(*) From student_info WHERE 性别='男')
SET female =(SELECT COUNT(*) From student_info WHERE 性别=' 女')
SELECT male,female
8. 运行以下代码,运行结果为241
DECLARE a int,b int
SET a =168
SET b = 73
SELECT a +b
9.查询grade表。
如果分数大于等于90,显示A;如果分数大于等于80小于90,显示B;如果分数大于等于70小于80,显示C;如果分数大于等于60小于70,显示D;其他显示E。
在以下代码的划线部分填入适当容完成上述功能。
SELECT 学号,分数,等级=
CASE
分数>=90 THEN 'A'
WHEN 分数>=80 AND 分数<90 'B'
WHEN 分数>=70 AND 分数<80 THEN 'C'
WHEN 分数>=60 AND 分数<70 THEN
ELSE 'E'
END
FROM grade
答案:WHEN THEN ‘D’10.运行以下代码段,写出运行的结果为15 DECLARE n int,
counter int
SELECT n = 0,
counter = 1
WHILE counter > 0
BEGIN
SET n = n + counter
SET counter=counter+1
IF counter <=5
CONTINUE
ELSE
BEGIN
PRINT n
BREAK
END
END。