您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 数据库期末考试试题及答案复习必备
数据库试题经典问题一、填空题(共9题,每空1分,共15分)1.将数据库从SQLServer实例中删除,即在逻辑上将数据文件和日志文件与服务器相脱离,但文件并不从磁盘上删除,此操作称为_________,可通过_______将其重新加载到SQLServer实例中。2.SQLServer中用于服务器的所有初始化信息和系统级信息的的系统数据库是_______________。3.打开数据库student,使之成为当前数据库,可以使用语句______________。4.使用T-SQL语句创建存储过程时,若要求对存储过程的定义文本进行加密,应使用_________子句。5.若要删除sutdent表的全部数据,数据删除后不可撤销,应使用语句____________,若想删除student数据表,应使用语句________________。6.若要对数据库中的对象进行改名,就使用的系统存储过程是_____________。7.SqlServer的数据库文件分为数据文件和__________,其中数据文件又分为_________和__________。8.在SqlServer中,按触发的时机,触发器可分为__________和________。9.在SqlServer的事务处理中,开启一个事务可用BeginTransaction,提交事和撤销事务应使用____________和___________。二、简答题(共3题,每题7分,共21分)1.在数据库端编程,主要有自定义函数、存储过程和触发器三种形式,请比较一下这三种方式的异同。2.SqlServer有哪些系统数据库,各自的作用是什么?3.数据库中的常用完整性有几种?在SqlServer主要通过什么方式实现?三、应用题(共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分)(1)添加Sex列char(2),city列varchar(20)。(2)删除city列。(3)修改作者信息表authors中的address列将该列的属性的长度更改为500。4.系部表的创建语句如下,请完成以下操作(每小题5分,共15分)CREATETABLE系部(系部代码char(2)CONSTRAINTpk_xbdmPRIMARYKEY,系部名称varchar(30)NOTNULL,系主任char(8))(1)将系部表中计算机系的系主任改为‘张中裕’(2)将系部表中的系部名称列中的‘系’全部更改为‘科学系’(使用replace函数,用法:replace(串1,串2,串3),其功能是将串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),上机日期datetime,开始时间datetime,结束时间datetime,上机状态bit)。上机卡表结构:(上机号char(13),姓名……)2.在student数据库中的学生、课程注册、课程表中创建一个带参的存储过程cjcx。其功能是:当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名和课程成绩。然后使用存储过程,查询学生“陈斌”的学号、选修的课程名和课程成绩。数据库试题答案一、1.数据库分离,数据库附加2.master3.usestudent4.withencryption;5.truncatetablestudent,droptablestudent6.sp_rename7.日志文件、主要数据文件、次要数据文件8.后触发器、替代触发器9.Committransaction,rollbacktransaction二、1.答:相同点:存储过程、触发器和自定义函数都能完成特定的功能,并且都存储在服务器端的数据字典中。区别:存储过程和自定义函数都可以定义参数,触发器不可以;从调用方式上,存储过程和自定义函数都需要由应用程序或其他功能体进行调用,而触发器是当相应事件发生时自动执行,不须干预;自定义函数需要定义返回类型,函数体中至少要有一条用于返回返回值的语句,而存储过程和触发器不需要。2.答:主要的系统数据库有master、model、tempdb和msdb。其中Master数据库保存了SqlServer2005的初始化信息和所有系统级信息。Master数据库是SqlServer2005中最重要的系统数据库,对其更新和删除操作而导致Master数据库的不可用都将使得整个SqlServer2005系统无法启动和运行。Model数据库是用于保存所有用户数据库和Tempdb数据库的模版。每当用户创建数据库的时候,SqlServer2005将用Model数据库提供的信息初始化被创建的数据库。Msdb数据库是SqlServer2005代理服务工作时使用的数据库,用于为SqlServer代理服务在警报和作业等操作时提供存储空间。Tempdb数据库是一个临时的系统数据库,用于为所有临时表、临时存储过程以及其他的临时操作提供存储空间。3.答:视图是一个虚拟表,并不存储任何物理数据。视图与真正的表很类似,也是由一组命名的列和数据行组成,其内容由查询所定义。但是视图并不是以一组数据形式存储在数据库中,数据库中只存储视图的定义,而不存在视图中的数据,视图中的数据仍存储在基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。视图和表相比有独特的优势主要有以下几个方面:(1)保证数据的安全。(2)简化查询操作。(3)保证数据的逻辑独立性。三、1.createdatabaseloveon(name=lovedat,filename='d:\database\lovedat.mdf',size=8,Maxsize=unlimited,filegrowth=1)logon(name=lovedat_log,filename='d:\database\lovedat.ldf',size=5,Maxsize=30,filegrowth=5)2.createtableauthors(authoridintidentity(1,1)primarykeynotnull,authornamenvarchar(50)notnull,phonenvarchar(13)null,addressnvarchar(255))3.(1)altertableauthorsaddsexchar(2)null,citynvarchar(20)null;(2)altertableauthorsdropcolumncity(3)altertableauthorsaltercolumnaddressnvarchar(500)notnull4.(1)Update系部set系主任=’张中裕’where系部名称=’计算机系’(2)Update系部set系部名称=replace(系部名称,’系’,’科学系’)(3)Deletefrom系部where系主任like‘张%’5.(1)selectxs.xh,xm,kch,cjfromxs,xs_kcwherexs.xh=xs_kc.xh;(2)selectxs.xh,xm,kch,cjfromxsjoinxs_kconxs.xh=xs_kc.xh;四、1.Createtriggerinsert_sjkhondbo.上机记录forinsertAsbeginDeclare@asjkhchar(13)Declare@acountintSelect@asjkh=上机号frominsertedSelect@acount=count(*)from上机卡where上机号=@asjkhIf@acount=0Print'上机卡中无此卡号,不能插入'ElsePrint'数据插入成功'end2.CreatePROCEDURE[dbo].[cjcx]@axmchar(8)ASBEGINSELECT学生.学号,课程.课程名,课程注册.成绩from学生,课程,课程注册where学生.学号=课程注册.学号and课程注册.课程号=课程.课程号and姓名=@axmEND执行存储过程cjcx,查询“周红瑜”的学号、选修的课程名和课程成绩。Execcjcx@axm=’张斌’
本文标题:数据库期末考试试题及答案复习必备
链接地址:https://www.777doc.com/doc-2333027 .html