《《SQL数据库管理与程序设计》试题(B卷).doc》由会员分享,可在线阅读,更多相关《《SQL数据库管理与程序设计》试题(B卷).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SQLSQL ServerServer 与数据库应用开发与数据库应用开发试题试题(2(2 卷卷) )一、单项选择题一、单项选择题( (每小题每小题 1 1 分,共分,共 1010 分分) ) 1.( )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用 户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、 统一控制。 ADBMSBDB CDBSDDBA 2.下列四项中,不属于SQL实用程序的是( )。 A.企业管理器B.查询分析器 C.服务管理器D.媒体播放器 3.SQL Server安装程序创建4个系统数据库,下列哪个不是( )系统数据库。A. mast
2、erB. model C. pubD. msdb 4.下列哪个不是sql 数据库文件的后缀。 A.mdfB.ldf C.tifD.ndf 5.数据定义语言的缩写词为 ( )。A.DDLB.DCL C.DMLD.DBL 6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( )。 A.包括 15 岁和 35 岁B.不包括 15 岁和 35 岁 C.包括 15 岁但不包括 35 岁D.包括 35 岁但不包括 15 岁 7.SQL的视图是从( )中导出的。 A. 基本表B. 视图 C. 基本表或视图D. 数据库 8.在SQL语言中,建立存储过程的命令是() A、
3、CREATE PROCEDUREB、CREATE RULE C、CREATE DURED、CREATE FILE 9.SQL语言中,删除表中数据的命令是( )。A. DELETEB. DROP C. CLEARD. REMOVE 10. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。A. sp_dbhelpB. sp_db C. sp_helpD. sp_helpdb 二、判断题二、判断题( (每空每空 1 1 分,共分,共 1515 分分) ) 1.在那遥远的地方 是SQL中的字符串常量吗? 2.11.9 是SQL中的实型常量吗 3.select 16%4, 的执
4、行结果是: 0 吗? 4.2005.11.09 是SQL中的日期型常量吗? 5.¥2005.89 是SQL中的货币型常量吗? 6.select 25/2 的执行结果是: 12.5 吗? 7.李逵李鬼 比较运算的结果为真吗? 8.一个表可以创建多个主键吗?9.创建唯一性索引的列可以有一些重复的值? 10. smallint 是SQL的数据类型吗? 11. SQL Server不允许字段名为汉字? 12. 职称 in (教授, 副教授)与 职称 = 教授 or 职称 = 副教授 等价吗? 13. 如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则? 14. 在表中创建一个标识列
5、(IDENTITY),当用户向表中插入新的数据行时,系统自动为该 行标识列赋值吗? 15. 固定数据库角色:db_datarader 的成员修改本数据库内表中的数据吗? 三、填空题三、填空题( (每空每空 1 1 分,共分,共 2020 分分) ) 1.SQL Server 局部变量名字必须以_开头,而全局变量名字必须以_ 开头。 2.语句 select ascii(D), char(67) 的执行结果是:_和_。 3.语句 select lower(Beautiful) , rtrim(我心中的太阳 ) 的执行结果是: _和_。 4.选择运算是根据某些条件对关系做_分割;投影是根据某些条件对
6、关系做_ 分割。 5.关系运算主要有_、_和连接。 6.完整性约束包括_完整性、_完整性、参照完整性和用户定义完整性。 7.T-SQL 语言中,有_运算、字符串连接运算、比较运算和_运算。 8.语句 select day(2004-4-6), len(我们快放假了.) 的执行结果是:_ 和_。 9.语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(- 18.4562,3)的执行结果是: _、_、_和_。 四、简答题四、简答题( (每小题每小题 5 5 分,共分,共 1010 分分) ) 1. 简述SQL Server 的
7、安全性管理机制(6级,涉及登录账号、用户、角色以及权限分配) 。(6分) 2. 在SQL Server 中,使用视图的好处是什么?(4分) 五、设计题五、设计题( (共共 4545 分分) ) 现有关系数据库如下: 数据库名:学生成绩数据库 学生信息表(学号 char(6),姓名,性别,民族,身份证号) 课程信息表(课号 char(6),名称) 成绩信息表(ID,学号,课号,分数) 用SQL语言实现下列功能的sql语句代码。 1.创建数据库学生成绩数据库代码(2分)。 2.创建数据表课程信息表代码;(2分)课程信息表(课号 char(6),名称) 要求使用:主键(课号)、非空(名称) 3.创建
8、数据表学生信息表代码;(4分)学生信息表(学号 char(6),姓名,性别,民族,身份证号) 要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查 (性别) 4.创建数据表成绩信息表;(5分)成绩信息表(ID,学号,课号,分数) 要求使用:外键(学号,课号)、检查(分数),自动编号(ID) 5.将下列课程信息添加到课程信息表的代码(8分)课号 名称100101 西班牙语100102 大学英语修改 课号为100102的课程名称:专业英语删除 课号为100101的课程信息 6.创建视图成绩信息表视图的代码;(5分)成绩信息表视图(学号,姓名,课号,课程名称,分数) 7.
9、从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。(2分 8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。(4 分) 9.创建带参数的存储过程某门课程高低均分、执行该过程的代码(7分)存储过程功能:查询某门课程的最高分、最低分、平均分; 执行该过程,查询所有修专业英语这门学生的最高分、最低分、平均分; 10设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者, 权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储 过程。请写出账户、权限设置的T_SQL脚本。(6分)参考答案参考答案一、12345678910A
10、DCCAACAAD二、123456789101112131415YYYNNNYNNYNYNYN三、 no答案分1.、22.68、C23.beautiful、我心中的太阳24.水平、垂直25.选择、投影26.实体、域27.算术、逻辑28.6、729.17、-215、13.4400、-18.45604四、no答案要点分1.1. 计算机的连接 2. SQL Server 登录(账户、固定服务器角色) 3. 库的访问(用户/角色:固定/自定义角色) 4. 表/视图的权限(select insert update delete) 5. 存储过程、内嵌表值函数的权限(execute select) 6.
11、表(视图)中列的权限(select update)62.(1) 为用户集中需要的数据,简化了数据的用户操作; (2) 对用户隐藏了数据库设计的复杂性; (3) 简化用户权限的管理 (4) 组织数据导出到其它应用程序4五、no参考答案分1.create database 学生成绩数据库 go use 学生成绩数据库 go22.create table 课程信息表 (课号 char(6) primary key,名称 nchar(20) not null)23.create table 学生信息表 (学号 char(6) primary key, 姓名 nchar(4) not null,4性别
12、nchar(1) check(性别 in (男, 女), 民族 nchar(8) default 汉族 not null, 身份证号 char(18) unique )4.create table 成绩信息表 (ID int identity(1, 1), 学号 char(6) references 学生信息表(学号), 课号 char(6) references 课程信息表(课号), 分数 integer check(分数 between 0 and 100) )55.insert 课程信息表 values(100101, 西班牙语) insert 课程信息表 values(100102,
13、大学英语) update 课程信息表 set 名称=专业英语 where 课号 =100102 delete 课程信息表 where 课号=10010186.create view 成绩信息表视图 as select 成绩信息表.学号,姓名,成绩信息表.课号,名称 课程 名称,分数 from 成绩信息表,学生信息表,课程信息表 where 成绩信息表.学号=学生信息表.学号 and 成绩信息 表.课号=课程信息表.课号57.select 姓名, 性别, 民族 from 学生信息表 where 姓名 like 刘% and 性别=女28.select 学号, 姓名 from 学生信息表 wher
14、e 学号 in (select distinct 学号 from 成绩信息表 where 分数60)49.create procedure 某门课程高低均分 课程名 nchar(16) as select 课程名称, 最高分=max(分数), 最低分=min(分数), 平均分=avg(分数) from 成绩信息表视图 where 课程名称 = 课程名 group by 课程名称 go execute 某门课程高低均分 专业英语710exec sp_addlogin U 院长, 888, 学生成绩数据库 exec sp_grantdbaccess U 院长, U 读者 exec sp_addrolemember db_datareader, U 读者6