《SQL Server数据库技术》试卷A卷答案.doc
(装订线内不准做答)线订装健雄职业技术学院 SQL Server数据库技术 考试试卷参考答案(A)SQL Server数据库技术(A卷)评分标准及参考答案一、单项选择题:(每小题1分,共20分)1234567891011121314151617181920DADCBBAACCCADDADCDBB二、判断题:(每小题1分,共10分)(正确的在对应的题号下打,错误的打×)21222324252627282930三、填空题:(每题1分,共计20分)31、Windows身份验证、混合32、SQL Server 服务管理器33、存储过程34、外模式、模式、内模式35、insert、update、delete36、% 、_ 37、Server、ADODB38、Update、Delete39、40、数据访问、数据运行四、简述题(每小题5分,共20分)41假设某公司的备份策略是:每星期日中午12:00进行一次完全数据库备份,每天进行一次差异备份,每一个小时进行一次事务日志备份。周五17:00时,该公司的数据库遭到破坏,请问你怎样来恢复数据库?答:第一步,先执行还原上周日的完全数据库备份第二步,再按顺序执行还原周一的差异备份,周二的差异备份,周三的差异备份,周四的差异备份第三步,接着按顺序执行还原13:00的事务日志备份,14:00的事务日志备份,15:00的事务日志备份,还原16:00的事务日志备份。即:周日的完全备份+周一、二、三、四的差异备份周五的日志备份42在SQL Server 2005数据完整性类型及其实现技术有哪些?答:(1)域完整性:DEFAULT(默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE(规则技术)(2)实体完整性:PRIMARY KEY(主键)、UNIQUE(唯一键)、IDENTITY(标识列)(3)参照完整性:FOREIGN KEY(外键)(4)自定义完整性:自定义函数、触发器43什么是视图?它和表有什么区别?答:视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。视图是虚表。所谓虚表,就是说视图不是表。因为视图只储存了她的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表44、简述SQL Server 2005的安全机制(6级)。答:1. 计算机的连接 2. SQL Server登录(账户、固定服务器角色) 3. 数据库的访问(用户/角色:固定/自定义角色) 4. 表/视图的权限(select insert update delete) 5. 存储过程、内嵌表值函数的权限(execute select) 6. 表(视图)中列的权限(select update)。五、程序设计题(每小题1分,共13分)4599 、 sum+i 、 246table 、 char 、 2047datediff48View、student49procedure、from50Create trigger test、for update六、设计题(第51小题1分,第52至第59小题每题2分,共17分)51. create database 学生选课数据库gouse 学生选课数据库go52. create table 学生表(学号 char(6) primary key, 姓名 nchar(4) not null, 性别 nchar(1) check(性别 in ('男', '女'), 年龄 numeric(2) , 专业 char(18) not null) 53. create table课程表(课程号 char(6) primary key, 课程名 char(40) not null, 学分 numeric(2) not null, 先行课程号 char(6) ) 54. create table选课表(ID IDENTITY(1, 1), 学号 char(6) references 学生表(学号), 课程号 char(6) references 课程表(课程号), 分数 integer check(分数 between 0 and 100)55.insert 课程表 values('100001', 'C语言',2)insert 课程表 values('100002', '数据结构', 2, '100001')insert 课程表 values('100003', '数据库原理', 2)update课程表 set 课程名='SQL数据库' where 课程号='100003'delete课程表 where 课程号='100002'56. create view 选课表视图 asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分, 分数 from 选课表,学生表,课程表where 选课表.学号=学生表.学号 and 选课表.课程号=课程表.课程号-或create view 选课表视图 asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分,分数 from 选课表 join 学生表 on 选课表.学号=学生表.学号 join 课程表 on 选课表.课程号=课程表.课程号57.create procedure 某门课程高低均分课程名 varchar(40) asselect 课程名, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)from 选课表视图where 课程名 = 课程名 goexecute 某门课程高低均分 'SQL数据库'58.select 姓名, 学号, 专业 from 学生表 where 姓名 like '张%' and 性别='女'59. select 学号, 姓名, 专业 from 学生表 where学号 in (select distinct 学号 from 选课表 where分数<60)第3页(共2页)