《2022年数据库期末考试__试题及答案 3.pdf》由会员分享,可在线阅读,更多相关《2022年数据库期末考试__试题及答案 3.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、填空题(共9 题,每空 1 分,共 15 分)1 将数据库从SQL Server 实例中删除, 即在逻辑上将数据文件和日志文件与服务器相脱离,但文件并不从磁盘上删除,此操作称为_,可通过 _将其重新加载到SQL Server 实例中。2 SQL Server 中 用 于 服 务 器 的 所 有 初 始 化 信 息 和 系 统 级 信 息 的 的 系 统 数 据 库 是_。3打开数据库student,使之成为当前数据库,可以使用语句_。4使用T-SQL 语句创建存储过程时,若要求对存储过程的定义文本进行加密,应使用_子句。5若要删除sutdent表的全部数据,数据删除后不可撤销,应使用语句_
2、,若想删除 student数据表,应使用语句_。6若要对数据库中的对象进行改名,就使用的系统存储过程是_。7Sql Server 的数据库文件分为数据文件和_,其中数据文件又分为_和_。8在 Sql Server 中,按触发的时机,触发器可分为_和 _。9在 Sql Server 的事务处理中,开启一个事务可用Begin Transaction,提交事和撤销事务应使用_和 _。二、简答题(共3 题,每题 7 分,共 21 分)1在数据库端编程,主要有自定义函数、存储过程和触发器三种形式,请比较一下这三种方式的异同。2SqlServer 有哪些系统数据库,各自的作用是什么?3数据库中的常用完整性
3、有几种?在Sql Server 主要通过什么方式实现?三、应用题(共6 题,本题共54 分。 )1创建名为“Love”的数据库,其中主数据文件为Lovedat.mdf ,初始大小为8M ,增长大小为 1M,日志文件为Lovedat.ldf ,初始大小是5M,最大存储空间是30M,增长是 5M。请写出相应的SQL 语句。 (本题 8 分)2使用 sql 语句创建表authors,结构如下表所示(本题8 分)列名数据类型大小是否为空默认值说明authorID int 4 N 编号(主键),自动增长authorName nvarchar 50 N 姓名Phone nvarchar 13 Y 电话ad
4、dress nvarchar 255 Y 地址3使用 SQL 语句对 2 中创建的 authors 表进行如下修改: (每小题 5 分,共 15 分)(1)添加 Sex 列 char(2),city 列 varchar(20)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - (2)删除 city 列。(3) 修改作者信息表authors中的 address列将该列的属性的长度更改为500。4系部表的创建语句如下,请完成以下操作(
5、每小题5 分,共 15 分)CREATE TABLE 系部(系部代码char(2) CONSTRAINT pk_xbdm PRIMARY KEY, 系部名称varchar(30) NOT NULL, 系主任char(8) (1)将系部表中计算机系的系主任改为张中裕(2)将系部表中的系部名称列中的系全部更改为科学系(使用 replace 函数,用法:replace(串 1,串 2,串 3),其功能是将串1 中的串 2 替换为串3 ) (3)在系部表中删除系主任姓张的系部数据5有二个数据表XS(xh, xm)和 XS_KC(xh, kch, cj) ,用两种方法,写出如下查询:“查找数据库中所有学
6、生的学号(xh) 、姓名 (xm) 以及其所选修的课程号(kch)和成绩 (cj)” 。 (本题 8分)四、编程题(共2 题,每题 5 分,共 10 分)1. 在数据表上机记录中创建一个名为insert_sjkh 的 insert 触发器其作用是:当用户在 “上机记录”表中插入记录时,若“上机卡”表中没有该上机号,则提示用户不能插入,否则,提示记录插入成功。 (附:上机记录表结构:(上机号char(13),上机日期datetime,开始时间datetime,结束时间datetime,上机状态bit) 。上机卡表结构: (上机号char(13),姓名 , )2. 在 student 数据库中的学
7、生、课程注册、课程表中创建一个带参的存储过程cjcx。其功能是:当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名和课程成绩。然后使用存储过程,查询学生“陈斌”的学号、选修的课程名和课程成绩。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 一、1数据库分离, 数据库附加2.master 3.use student 4. with encryption; 5.truncate table student,drop tabl
8、e student 6.sp_rename 7. 日志文件、主要数据文件、次要数据文件8.后触发器、替代触发器9.Commit transaction ,rollback transaction 二、 1答:相同点:存储过程、触发器和自定义函数都能完成特定的功能,并且都存储在服务器端的数据字典中。区别: 存储过程和自定义函数都可以定义参数,触发器不可以;从调用方式上, 存储过程和自定义函数都需要由应用程序或其他功能体进行调用,而触发器是当相应事件发生时自动执行,不须干预; 自定义函数需要定义返回类型,函数体中至少要有一条用于返回返回值的语句,而存储过程和触发器不需要。2答:主要的系统数据库有m
9、aster、model、tempdb 和 msdb。其中Master 数据库保存了Sql Server2005 的初始化信息和所有系统级信息。Master 数据库是Sql Server 2005 中最重要的系统数据库,对其更新和删除操作而导致Master 数据库的不可用都将使得整个Sql Server2005 系统无法启动和运行。Model 数据库是用于保存所有用户数据库和Tempdb 数据库的模版。 每当用户创建数据库的时候,Sql Server 2005 将用 Model 数据库提供的信息初始化被创建的数据库。Msdb 数据库是 Sql Server2005 代理服务工作时使用的数据库,用
10、于为Sql Server 代理服务在警报和作业等操作时提供存储空间。Tempdb 数据库是一个临时的系统数据库,用于为所有临时表、临时存储过程以及其他的临时操作提供存储空间。3答:视图是一个虚拟表,并不存储任何物理数据。视图与真正的表很类似,也是由一组命名的列和数据行组成,其内容由查询所定义。但是视图并不是以一组数据形式存储在数据库中, 数据库中只存储视图的定义,而不存在视图中的数据,视图中的数据仍存储在基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。视图和表相比有独特的优势主要有以下几个方面:(1)保证数据的安全。(2)简化查询操作。(3)保证数据的逻辑独立性。三、1
11、.create database love on (name=lovedat,filename=d:databaselovedat.mdf,size=8,Maxsize=unlimited,filegrowth=1) log on (name=lovedat_log,filename=d:databaselovedat.ldf,size=5,Maxsize=30,filegrowth=5) 2. create table authors (authorid int identity(1,1) primary key not null, authorname nvarchar(50) not n
12、ull,phone nvarchar(13) null, address nvarchar(255) 3. (1) alter table authors add sex char(2) null,city nvarchar(20) null; (2) alter table authors drop column city (3) alter table authors alter column address nvarchar(500) not null 4. (1) Update 系部set 系主任 = 张中裕where 系部名称 =计算机系(2) Update 系部set 系部名称 =
13、replace(系部名称 ,系 ,科学系 ) (3) Delete from 系部where 系主任like 张 %5. (1) select xs.xh,xm,kch,cj from xs, xs_kc where xs.xh=xs_kc.xh; (2) select xs.xh,xm,kch,cj from xs join xs_kc on xs.xh=xs_kc.xh; 四、 1Create trigger insert_sjkh on dbo.上机记录for insert As begin Declare asjkh char(13) Declare acount int Select
14、 asjkh=上机号 from inserted Select acount=count(*) from 上机卡 where 上机号 =asjkh If acount=0 Print 上机卡中无此卡号,不能插入 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - Else Print 数据插入成功 end 2. Create PROCEDURE dbo.cjcx axm char(8) AS BEGIN SELECT 学生 .学号 ,课程 .课程名 ,课程注册 .成绩from 学生 ,课程 ,课程注册where 学生 .学号 =课程注册 .学号and 课程注册 .课程号 =课程 .课程号and 姓名=axm END 执行存储过程cjcx,查询“周红瑜”的学号、选修的课程名和课程成绩。Exec cjcx axm= 张斌名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -