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