一、 单项选择题(每题2分,共15题) 1、SQL Server 2000是一个( c )的数据库系统。 (A)网状型 (B)层次型 (C)关系型 (D)以上都不是 2、SQL Server 2000 企业版可以安装在操作系统上。c (A)Microsoft Windows 98 (B)Microsoft Windows 2000 Professional (C)Microsoft Windows 2000 Server (D)Microsoft Windows XP 3、SQL Server 2000 采用的身份验证模式有( d )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 4、SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是( d )。 (A)企业管理器 (B)导入和导出数据 (C)事件探察器 (D)服务管理器 5、SQL Server 2000中的数据以页为基本存储单位,页的大小为( a )。 (A)8KB (B)16KB (C)32KB (D)64KB 6、新安装SQL Server后,默认有六个内置的数据库,其中的两个范例数据库是Pubs和( b )。 (A)master (B)NorthWind (C)msdb (D)bookdb 7、在SQL Server 2000中,当数据表被修改时,系统自动执行的数据库对象是( b )。 (A)存储过程 (B)触发器 (C)视图 (D)其他数据库对象 8、SQL Server的字符型系统数据类型主要包括( b )。 A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 9、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是( a )。 (A)聚集索引 (B)非聚集索引 (C)主键索引 (D)唯一索引 10、要查询book表中所有书名中包含“计算机”的书籍情况,可用( b )语句。 (A) SELECT * FROM book WHERE book_name LIKE ‘计算机*’ (B) SELECT * FROM book WHERE book_name LIKE ‘计算机%’ (C) SELECT * FROM book WHERE book_name = ‘计算机*’ (D) SELECT * FROM book WHERE book_name = ‘计算机%’ 11、SELECT语句中与HAVING子句通常同时使用的是(c )子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 12、要删除mytable表中的myindex索引,可以使用( b )语句。 (A) DROP myindex (B)DROP mytable.myindex (C) DROP INDEX myindex (D)DROP INDEX mytable.myindex 13、下列选项都是系统提供的存储过程,其中可以进行视图信息的查询是( a )。 (A)sp_helptext(B)sp_helpindex (C)sp_bindrule (D)sp_rename 14、SQL Server提供的单行注释语句是使用( B )开始的一行内容。 A. “/*” B. “--” C. “{” D. “/” 15、以下运算符中优先级最低的是( d )。 (A)+(加) (B)=(等于) (C)like (D)=(赋值) 二、 填空题(每空2分,共15空) 1、数据库系统的特点分别是数据的结构化、数据共享、数据独立性和 可控冗余度 。 2、在数据库的表中, 主键 是指表中的某一列,该列的值唯一标识一行。 3、SQL Server 2000的文件包括: 数据文件(.mdf或.ndf)和 日志文件 (LDF) 4、在SQL Server 2000中,要访问某个数据库,除了需要有一个登录帐号外,还必须有一个该数据库的 用户 帐号。 5、 、数据库管理系统 简称DBMS,它是指帮助用户建立、使用和管理数据库的软件系统。 6、在SQL Server 2000中,Unicode 标准的全称是 统一字符编码标准 7、SQL Server 2000提供备份数据库的两种方式是备份数据库、和 备份事务日志 8、在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是 ALTER 、若要创建一个数据库,应该使用的语句是 CREATE DATABASE 9、游标的概念包括两个部分,它们是 游标结果集、 和 游标位置 10、一个事务的操作必须是具备以下四个属性:原子性、 一致性、 隔离性 和永久性。 三、 程序阅读题(共2题) 1、阅读下面的程序段,然后简述该程序段所完成的功能。(5分) Begin Waitfor time ’15:43’ Create View my_view As Select order_date,book_number,book_id From orderform Where book_number!< 25 End 该程序段的功能是: 系统在15:43分为orderform表中订购数量book_number大于25本的订购信息的order_date、book_number和book_id三个字段创建一个名为my_view的视图。 2、下面程序段的功能是:在 数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向book表的book_id、book¬_name、price和publisher字段插入数据。阅读并回答以下问题:(10分) Use bookdb Go If exists(Select name From ① Where name=’my_proc’and type=’ ② ’) Drop Proc my_proc Go Create Proc my_proc @a int, @b char(50),@c float,@d publisher ③ Insert Into student(book_id,book¬_name,price,publisher) Values(@a,@b,@c,@d) Go 问题:(1)填写该程序段中空白处的内容:(1)① Sysobjects ② P ③ As (每 (2)任写一条调用该存储过程的语句: 2)Exec my_proc 7, ’SQL Server 2000教程’,38,‘北京科海集团公司’ 或 Exec my_proc @a=7, @b=’SQL Server 2000教程’,@c=38,@d=’北京科海集团公司’ 四、 编程题(共4题) 有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。 (2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 (3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。 完成下列操作: 1、 请把其中建立 “学生”表Student的语句写下来,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。 2、 在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。(5分) 3、 在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。(7分) 4、为Course表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。 (注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(9分) SQL Server数据库试卷5参考答案 一、 选择题(每题2分,共30分) CCDDA BBBAB CBACD 二、 填空题(每空2分,共30分) 1、数据共享、可控冗余度 2、主键 3、日志文件 4、用户 5、数据库管理系统 6、统一字符编码标准 7、备份数据库、备份事务日志 8、ALTER 、CREATE DATABASE 9、游标结果集、游标位置 10、一致性、隔离性 三、 程序阅读题(第一题5分,第二题10分,共15分) 1、系统在15:43分为orderform表中订购数量book_number大于25本的订购信息的order_date、book_number和book_id三个字段创建一个名为my_view的视图。(答题意思差不多 即可得满分,其他情况酌情给分) 2、(1)① Sysobjects ② P ③ As (每空2分) (2)Exec my_proc 7, ’SQL Server 2000教程’,38,‘北京科海集团公司’ 或 Exec my_proc @a=7, @b=’SQL Server 2000教程’,@c=38,@d=’北京科海集团公司’ (4分) 注:该小题不管怎样调用该存储过程,Exec 和 my_proc不可少,也不可多用Proc关键字;若不全对则酌情给分。 四、 编程题(共4题,共25分) 1、(共6分) CREATETABLE Student (1分) (Sno CHAR(5) NOT NULL UNIQUE, (1分) Sname CHAR(20), (1分) Ssex CHAR(1), (1分) Sage INT, (1分) Sdept CHAR(15)); (1分) 2、select * from student where Sdept=’计算机’ order by Sno desc (5分) 1分 1分 1分 2分 3、(共7分) 方法1: select student.Sno,Sname,Ssex (1分) from student, course, sc (1分) where (student.Sno=sc.Sno) and (course.Cno=sc.Cno) and (course.Ccredit=5) and (sc.Grade>60) (1+1+1+1+1分) 方法2: select student.Sno,Sname,Ssex (1分) from student Inner Join (sc Inner Join course On course.Cno=sc.Cno) On student.Sno=sc.Sno (2分+2分) where (course.Ccredit=5) and (sc.Grade>60) (1分+1分) 4、(共9分) 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 Course (0.5分) For Delete (1分) As (0.5分) Delete From sc (1分) Where Sno in (Select Sno From Deleted) (1分+2分) Go (责任编辑:admin) |