13. 在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是( )。
(A)ALTER (B)UPDATE (C)UPDAET (D)ALLTER
14. SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是( )。
(A)企业管理器 (B)导入和导出数据 (C)事件探察器 (D)服务管理器 15. 要查询book表中所有书名中以“计算机”开头的书籍的价格,可用( )语句。 (A) SELECT price FROM book WHERE book_name = ‘计算机*’ (B) SELECT price FROM book WHERE book_name LIKE ‘计算机*’ (C) SELECT price FROM book WHERE book_name = ‘计算机%’ (D) SELECT price FROM book WHERE book_name LIKE ‘计算机%’ 二、 填空题(每空2分,共15空)
1.数据库系统的特点分别是数据的结构化、 、数据独立性和 。
2.在SQL Server 2000中,一个批处理语句是以 结束的。
3. SQL Server 2000中的数据以页为基本存储单位,而8个相邻的页称为扩展盘区,那么扩展盘区的大小应该为 。
4. 在SQL Server 2000中,索引的顺序和数据表的物理顺序不相同的索引是___ 5. 如果要计算表中数据的平均值,可以使用的聚合函数是________ ____。 6. 游标的概念包括两个部分,它们是 和 。
7. 一个事务的操作必须是具备以下四个属性:原子性、 、__________和持久性。 8. 在SQL Server 2000中,我们创建数据库的语句是 ,而修改数据库的语句是 。 9. 在我们说到数据完整性时,使用 是优先于使用触发器、规则 和 。
三、 简答(10分)
1. 声明一个长度为16的字符型变量“cname”, 并赋初值为”数据库系统概述”。请按前面的要求写出相应语句。
2. 在字符串中,我们应该怎样来产生一个回车并生成一个新行?
四、 程序阅读题(10分)
下面程序段的功能是:在 数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name、address和telephone字段插入数据。阅读并回答以下问题: USE bookdb
GO
IF EXISTS(SELECT ① FROM Sysobjects WHERE name=’my_proc’ and type=’ ② ’) DROP PROC my_proc GO
CREATE PROC my_proc
@a int, @b char(8),@c char(50)
③
INSERT INTO clients(client_id,client_name,address) VALUES(@a,@b,@c) GO
问题:(1)填写该程序段中空白处的内容:① ② ③ (2)任写一条调用该存储过程的语句: 。
五、 编程题(20分,共4题) student表(学生表) 学号 1 2 3 course表(课程表) sc表(选课表) 课程号 1 2 3 学号 1 2 2 3 1、 把course表中课程号为3的课程的学分修改为3。(3分)
2、 在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。
3、 在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(6分)
4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器
自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(7分) 参考答案
一、 单项选择题(每题2分,共15题)
1. C 2.B 3.D 4.C 5.B 6.B 7.C 8.C 9.A 10.D 11.D 12.D 13.C 14.D 15.D 二、 填空题(每空2分,共15空)
1.数据共享 可控冗余 2.GO 3. 64KB 4.非聚集索引 5.AVG函数 6.游标结果集 游标位置 7.一致性 隔离性 8.CREATE DATABASE ALTER DATABASE 9.约束 默认值 三、 简答(10分)
1.DECLARE cname char(16) SET cname=’数据库系统概述’ 或者是
DECLARE cname char(16)
SELECT cname=’数据库系统概述’ 2.CHAR(13)+CHAR(10)
课程号 1 1 2 3 成绩 88 90 70 79 课程名 SQL Server 数据结构 专业英语 学分 4 3 2 姓名 吴好 崔平 钱筱 性别 男 女 女 年龄 18 21 19 系别 计算机系 经管系 电子系 四、 程序阅读题(5分)
1. name P as
2. EXEC my_proc 7,‘李好’,‘考试书店’或者 EXEC my_proc @a=7,@b=‘李好’,@c=‘考试书店’
五、 编程题(25分,共4题) 1、 (4分)
update course (1分) set 学分=4 (2分) where课程号=2 (1分)
2、select * from student where 年龄>18 order by 学号 desc (5分) 3、(6分) 方法1:
select distinct student.学号,姓名,性别 (1分) from student, course, sc (1分)
where (student.学号=sc.学号) and (course.课程号=sc.课程号) and (course.学分=4) and (sc.成绩>80) (1+1+1+1分)
方法2:
select distinct student.学号,姓名,性别 (1分)
from student Inner Join (sc Inner Join course On course.课程号=sc.课程号)
On student.学号=sc.学号 (2分+2分)
where (course.学分=4) and (sc.成绩>80) (1分+1分) 4、(10分)
If exists(Select name From sysobjects
Where name=’my_trig’and type=’tr’) (整个If语句 1分) Drop trigger my_trig (0.5分) Go (0.5分)
Create trigger my_trig (1分) On student (0.5分) For Delete (1分) As (0.5分)
Delete From sc (2分)
Where 学号 in (Select 学号 From Deleted) (1分+2分) Go
1加到100的存储过程:
declare @number int,@varnumber int set @number=0 set @varnumber=0 while @varnumber<=100 begin
set @number = @number+@varnumber set @varnumber=@varnumber+1
end
select @number 答案为5050