《SQLServer数据库试题七及答案.pdf》由会员分享,可在线阅读,更多相关《SQLServer数据库试题七及答案.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL Server数据库试题七及答案一单项选择题(每题 2 分,计 30 分)1_ 是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。(c )A、操作系统 B、关系模型 C、数据库管理系统 D、数据库2SQL Server2000 是一款基于 _体系的关系型数据库管理系统。 ( A)A、客户机/服务器 B、主机 C、N 层 D、单机 3下面哪一个不是 SQL Server2000的基本数据类型 ( A)A、 VARIANT B、 VARCHAR、CVARBINARY 、DNVARCHAR 4下面的类型中宽度最大的是 ( C)A、 CHAR(5) B、 VARCHAR(5) C、
2、 NCHAR(5) D、 BIGINT5.表达式 LEN(电子学院)+ DATALENGTH(GETDATE()的值为(C)A、 8 B 、 10 C、 12 D、 166.在 SQL Server2000 中,数据存储的基本单位是页,页的大小是 ( D)A、 1K B、 2K C、 4K D、 8K7 .在使用 CREATE DATABA 命令创建数据库时,FILENAMES 项定义的是(D)A、文件增长量 B、文件大小 C、逻辑文件名 D、物理文件名8.关于表结构的定义,下面说法中错误的是 ( C )A、表名在同一个数据库内应是唯一的 B、创建表使用 CREATE TABL 命令C、删除表
3、使用 DELETE TABL 命令 D、修改表使用 ALTER TABL 命令9.下面哪一个约束用来禁止输入重复值? ( A )A、 UNIQUE B、 NULL C、 DEFAULT D、 FOREIGN KEY10. 下面关于登录账户、用户和角色的说法错误的是 ( C)A、登录账户是服务器级的 B、用户是登录账户在某个数据库中的映射C、用户不一定要和登录账户相关联 D、角色其实就是用户组11. 在 SELECTS 句中,用于去除重复行的关键字是(B)A、 TOP B、 DISTINCT C、 PERCENT、DHAVING12若想查询出所有姓张的、且出生日期为空的学生信息,则 WHEF 条
4、件应为(CA 姓名LIKE 张%AND 出生日期 = NULL、姓名LIKE 张*AND 出生日期 = NULLB、C 姓名LIKE 张%AND 出生日期 IS NULL、D 姓名LIKE 张_ AND 出生日期 IS NULL、下面关于视图的说法中,错误的是 ( C )13.A、视图是个虚拟表 B、可以使用视图更新数据,但每次更新只能影响一个表 C、不能为视图定义触发器 D、可以创建基于视图的视图14. 下面关于触发器的描述,错误的是 ( A )A、触发器是一种特殊的存储过程,用户可以直接调用B、触发器表和 DELETE 表没有共同记录C、触发器可以用来定义比 CHECKS 束更复杂的规则D
5、 删除触发器可以使用 DROP TRIGGE 命令,也可以使用企业管理器15. 下面关于事务的描述,错误的是 ( D )A、事务可用于保持数据的一致性 B、事务应该昼小且应尽快提交C、应避免人工输入操作出在在事务中 D、在事务中可以使用 ALTER DATEABSE二填空题(每空 1 分,计 20 分)1._ SQL Server 是作为Windows NT 或 2000 的一个服务 _行的,用户 可以启动、暂停或停止它。2. SQLServer 服务包括有 _ SQLServer 服务 _ 、 _ SQLServer Agent服务_ 、Microsoft Search 和 MS DTd 艮
6、务。3._ SQLServer 有两类数据库,_系统数据库 _ 和用户数据库。其中为新的用户数据库提供模板的系统数据库是 _ model _ 。4._ 所有的数据库都有一个主数据文件和一个或多个事务日志文件,此外,还可能有 _次要数据文件 _ 。5.向表中添加数据应使用 _ INSERT(或填 INSERT INTO)命令,更新数据应使用 _ UPDATE _ 命令。6._ 在SQL Server2000 中,约束有非空约束、缺省约束、 _主键约束 _ 、_外键约束_、检查约束和唯一约束等 6 种类型。7.对象权限是指用户基于数据库对象层次上的访问和操作权限,共有5 种:SELEC、T INS
7、ERT、 DELETE、 _ UPDAT_E _和_EXECUTE_。 (或填更新、执行)8._ _ UNION 以把两个或多个 SELECT 语句的查询结果组合成一个结果集,使用时要求所有 SELECTS 句的列数应_ 目同 _,对应列的数据类型相容。9. 索引表的顺序与数据行的物理顺序目同的索引称为 _聚集(或聚簇 或簇) 索引。10.使用游标的一般步骤应为: _创建游标 _、_ 打开游标 _、从游标的结果集中读取数据、 对游标中的数据 逐行操作、关闭游标和释放游标。11._ _事务 是指一个操作序列, 这些操作序列要么都被执行,要么都不 被执行。12._差异备份只记录自上次完整数据库备份
8、后发生更改的数据。三.判断题(每题 1 分,计 10 分)1. 外键是指一个表中含有与另外一个表的主键目同的列或列组,外键不要求惟一。(V)2. SQLServer2000 支持 Unicode 字符集,目应数据类型为 text 、 char 和varchar 。(X)3. 企业管理器是 SQLServer 提供的最主要的数据库管理工具,它以树形结构的 形式来管理数据库服务器、数据库和数据库中的对象。 (V)4.全局变量与局部变量一样,用户必须进行声明后才能使用。(X)5. 在 SQLServer2000 中,由于不能跨页存储数据行,所以页中每一行最多包含的数据量是 8060B。 (V)6.数
9、据完整性就是指数据的正确性、完备性和一致性。(V)7. 若使用 REVOK 命令撤消某用户创建表的权限,贝 U 该用户将肯定无权创建表。( X )8. WITH CHECK OPTIO 表示使用视图更新数据时应满足视图定义中设置的条件(V)9表的每个触发动作只能有一个 INSTEAD OF 触发器。(V)10在使用差异数据库备份还原数据库时,应先还原最新的完整数据库备份。( V)四查询设计(每题 5 分,计 25 分) 某个学籍数据库有如下表结构: 学生(学号,姓名,性别,出生日期,班级) 课程(课程号,课程名称,课程类别,课时) 选课(学号,课程号,成绩) 请完成下列查询要求。1查询出“软件
10、041”班的所有男生的学号和姓名。SELECT 学号,姓名FROM 学 生WHER 班级=软件 041 AND 性别=男2查询出所有姓张的同学的姓名和班级。SELECT *FROM 课程WHER 课程名称 LIKE 言%3查询出“C语言”课程成绩前 5 名的学生的学号、姓名和班级。SELECT TOP 5 学生. 学号, 姓名, 班级FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 JOIN 课程 ON 课程.课程号 = 选课.课程号WHER 课程名称=C语言ORDER BY 成绩 DESC 4查询出各班级学生人数。SELECT 班级,COUNT(*) AS 人数FROM 学生GR
11、OUP B 班级5查询出“计算机应用基础”课程成绩高于张三同学此门课程成绩的学生的学 号和姓名。SELECTS 生.学号,姓名FROM 学生 JOIN 选课 ON 学生.学号= =选课.学号 JOIN 课程 ON 课程.课程号选课. 课程号WHER 课程名称=计算机应用基础AND 成绩 (SELECT 成 绩FROM 学生 JOIN 选课 ON 学生.学号= =选课.学号 JOIN 课程 ON 课程.课程号选课. 课程号WHER 课程名称=计算机应用基础AND 姓名=张三五综合题(每空 3 分,计 15 分) 根据下面某教学管理数据库的表结构,完成下面的程序填空题。 教师(职工号,姓名,学历,
12、职称) 课程(课程号,课程名称,课程类别) 任课(职工号,课程号,周课时)1补填下面的存储过程的定义,使其被调用时,能根据调用程序提供的教师姓 名使用输出参数返回该教师任课的课程数。CREATE PROCEDU 按教师姓名查询任课课程数姓名 VARCHAR(10),课程数 INT _ OUTPUT_ASSELECT _课程数 = COUNT(*) _FROM 教师 JOIN 任课 ON 教师.职工号=任课.职工号WHERE _姓_名 = 姓名 _ 2完成下面的触发器的定义,当向任课表中插入记录时,触发器能判断若插入的记录使该教师的任课周课时总计超过 20,则回滚插入操作。CREATE TRIG
13、GE 添加教学任务ON 任课AFTER INSERTASDECLARE 总课时 INTSELECT 总课时=SUM(任课.周课时)FROM 任课 JOIN _ INSERTED OF 任课.职工号=INSERTED.职工号IF 总课时 20 _ ROLLBACK TRANSACTI_O_N _ 参考答案一单项选择题(每题 2 分,计 30 分)1C 2 A 3 A 4 C5C 6 D 7D 8C9A 10C 11B 12 C13C 14A 15 D二填空题(每空 1 分,计 20 分)1服务2SQL Server 服务 SQL Server Agent 服务(或填主服务、代理服务) 3系统数据
14、库 model4主数据文件 次要数据文件5. INSERT 或填 INSERT INTO) UPDATE6主键约束外键约束7. UPDATE EXECUT 或填更新、执行)8. UNION 相同9. 聚集(或聚簇 或簇)10. 创建游标打开游标11.事务12.差异备份三.判断题(每题 1 分,计 10 分)1.V 2. X3. V4. X5.V6.V 7. X8.V9.V10.V四 查询设计(每题 5 分,计 25 分)1查询出“软件 041”班的所有男生的学号和姓名。SELECT 学号,姓名FROM 学 生WHER 班级=软件 041 AND 性别=男2查询出所有姓张的同学的姓名和班级。SE
15、LECT *FROM 课程WHER 课程名称 LIKE 言%3.查询出“C语言”课程成绩前 5 名的学生的学号、姓名和班级。SELECT TOP 5 学生. 学号, 姓名, 班级FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 JOIN 课程 ON 课程.课程号= 选课.课程号WHER 课程名称=C语言ORDER BY 成绩 DESC4查询出各班级学生人数。SELECT 班级,COUNT(*) AS 人数FROM 学生GROUP B 班级5查询出“计算机应用基础”课程成绩高于张三同学此门课程成绩的学生的学姓名。SELECTS 生.学号,姓名FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 JOIN 课程 ON 课程.课程号= 选课.课程号WHER 课程名称=计算机应用基础AND 成绩 (SELECT 成绩FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 JOIN 课程 ON 课程.课程号= 选课. 课程号WHER 课程名称=计算机应用基础AND 姓名=张三)五综合题(每空 3 分,计 15 分)1OUTPUT 课程数 = COUNT(*) 姓名 = 姓名2. INSERTED O 任课.职工号=INSERTED.职工号ROLLBACK TRANSACTION号和
限制150内