《SQL数据库管理与开发教程与实训》试题(D卷)
刘占文 老师
一、单项选择题(每小题1分,共10分)
1.数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、( )和用户构成。 A.DBMS B.DB C.DBS D.DBA 2.数据库管理系统的英文缩写是( )。
A.DBMS B.DBS C.DBA D.DB
3.在关系运算中,选取符合条件的元组是( )运算。
A.除法 B.投影 C.连接 D.选择
4.数据库设计中的逻辑结构设计的任务是把( )阶段产生的概念数据库模式变换为逻辑结构的数据库模式。 A.需求分析 B.物理设计 C.逻辑结构设计 D.概念结构设计 5.一个规范化的关系至少应当满足( )的要求。
A.一范式 B.二范式 C.三范式 D.四范式 6.在实际数据库设计中,“学号”通常作为( )存在。
A.数据结构 B.数据存储 C.数据项目 D.处理过程 7.SQL Server 2000中删除表中记录的命令是( )。
A.DELETE B.SELECT C.UPDATE D.DROP 8.运行命令SELECT ASCII(‘Alklk’) 的结果是( )。
A.48 B.32 C.90 D.65 9.在SQL中,建立视图用的命令是 ( )。
A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX
10.在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。
A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb
二、判断题(每空1分,共10分)
1.连接、选择和投影三种关系运算具有相同的结果。 2.数据的安全性主要防范的对象是合法用户。 3. 数据库设计前只需选择数据库分析设计人员。 4. 恢复是利用冗余数据来重建数据库。
5.定义外键级级联是为了保证相关表之间数据的一致性吗? 6.创建唯一性索引的列可以有一些重复的值?
———————————————————————————————————————————— 北京大学出版社 1 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
7.存储过程的输出结果可以传递给一个变量。
8.视图具有与表相同的功能,在视图上也可以创建触发器。 9.能在游标中删除数据记录。
10.SQL Server 2000不具有数据的导入与导出功能。
三、填空题(每空1分,共20分)
1.数据库三个要素是__________、__________和_____________。 2. 语句 select year('1931-9-18') 的执行结果是____________。
3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。 4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。
5.事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________(如果在操作执行过程中不能完成其中任一操作)。
6. SQL Server 2000 采用的身份验证模式有________________模式和________模式。 7.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段。 8.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份。
9.SQL Server代理主要由______、______和警报来组成。
10.SQL Server复制把服务器分为______服务器、______服务器和订阅服务器三种。
四、简述题(每小题5分,共20分)
1. 试述关系的含义和性质。(7分) 2. 什么是事务?(6分)
3. 事务控制语句的使用方法是什么?(7分)
五、设计题(1—6题每空2分,第7题10分,共40分)
1.计算1+2+3+„„+100的和,并使用PRINT显示计算结果。 DECLARE @I int,@sum int,@csum char(10) SELECT @I=1,@sum=0 WHILE @I<=________ BEGIN
SELECT @sum = __________ SELECT @I=@I+1 END
SELECT @csum=convert(char(10),@sum) __________ ’1+2+3+……+100=’ + @csum
2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。 CREATE ________ CLASS
(CLASSNO ______ (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL,
CLASSNAME CHAR (____) NOT NULL
)
3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。 USE XK
———————————————————————————————————————————— 北京大学出版社 2 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
DECLARE @COUNO VARCHAR(3),@COUNAME VARCHAR(20) _________________________
FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO _________________________
FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME WHILE @@FETCH_STATUS=0 BEGIN
PRINT ’课程号:’+ @COUNO +’课程名称:’+ @CouName FETCH NEXT FROM CRSCOURSE INTO @COUNO,@COUNAME END
_________________________ DEALLOCATE CRSCOURSSE
4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。 USE XK
CREATE ____________ V_STUDENT AS
SELECT *
FROM ____________
WHERE CLASSNO=’20000001’
5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为200000001的记录。 USE XK
CREATE ____________ P_STUDENT AS
SELECT *
____________ STUDENT
WHERE CLASSNO=’20000001’
6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。 USE XK
_________________ ON STUDENT
_________________ AS
PRINT ‘记录已修改’
7.定义事务向[学生]数据库的[选课表]中插入学号=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交。 选课表(学号,课号,报名号) 假设要插入的记录为以下三条: ‘20030021’,‘01’,1 ‘20030021’,‘02’,2 ‘20030021’,‘03’,3 根据以上要求编写程序,并指出本题定义的事务是否成功提交。
———————————————————————————————————————————— 北京大学出版社 3 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
———————————————————————————————————————————— 北京大学出版社 4 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
《SQL数据库管理与开发教程与实训》试题(D卷)参考答案
一、单项选择题
1.D 2.A 3.D 4.D 5.C 6.C 7.D 8.D 9.C 10.D
二、判断题
1.N 2.N 3.N 4.Y 5.Y 6.N 7.Y 8.N 9.Y 10.N
三、填空题
1.数据结构、数据操作、完整性约束 2.1931 3.域完整性 4.触发器 5.都完成、都取消 6.Windows身份验证、混合 7.身份、权限
8.完整、差异、事务日志、文件和文件组 9.操作员、作业 10.发布、分发
四、简述题
1.关系是笛卡尔积的有意义的子集,用二维表格表示; 关系的性质如下:
关系表中的每一列都是不可再分的基本属性; 表中的各属性不能重名; 表中的行、列次序不分前后; 表中的任意两行不能完全相同。 2.事务(Transaction)可以看成是由对数据库若干操作组成的一个单元,这些操作要么都完成,要么都取消(如果在操作执行过程中不能完成其中任一操作)。在SQL Server 2000中,事务是由一条或者多条Transact-SQL语句组成的一个工作单元,这些语句要么都正常执行,要么如果有其中任意一条语句执行失败被取消的话,这些语句的执行都被取消。SQL利用事务机制保证数据修改的一致性,并且在系统出错时确保数据的可恢复性。
3.事务控制语句的使用方法 begin transaction
„„ -- A组语句序列 save transaction 保存点1
———————————————————————————————————————————— 北京大学出版社 5 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
„„ -- B组语句序列 if @@error <> 0
rollback transaction 保存点1 --回滚到:保存点1 else commit transaction --提交A组语句,同时如果未回滚B组语句则提交B组语句。
五、设计题
1.100 @sum+@i print 2.table char 20 3.Declare crscourse cursor open crscourse close crscourse 4.view student 5.procedure from
6.Alter trigger test for update 7. Use 学生
Begin transaction
Insert 选课表(学号,课程号,报名号) values(‘20030021’,‘01’,1) Insert 选课表(学号,课程号,报名号) values(‘20030021’,‘02’,2) Insert 选课表(学号,课程号,报名号) values(‘20030021’,‘03’,3) Declare @num int
Set @num=(select count(*) from 选课表 where 学号=‘20030021’) If @num>4 begin
Rollback transaction Print ‘超过报名门数!’ end Else Begin
Commit transaction Print ‘报名成功!’ end go
本题定义的事务成功提交。
———————————————————————————————————————————— 北京大学出版社 6 ISBN 7-301-10173-2/TP.0842
《SQL数据库管理与开发教程与实训》试题
———————————————————————————————————————————— 北京大学出版社 7 ISBN 7-301-10173-2/TP.0842
因篇幅问题不能全部显示,请点此查看更多更全内容