ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:343KB ,
资源ID:8868339      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8868339.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统概论复习试题及答案.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据库系统概论复习试题及答案.doc

1、数据库系统概论复习资料:第一章:三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,

2、它不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的 DBMS,而不同的 DBMS 各支持一种数据库模型,虽然它们的功能强弱不同,但大多数 DBMS 的构成相同,功能相似。一般说来,DBMS 具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译

3、程序、数据操纵语言及其处理程序和数据库管理的例行程序。4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程 5 个部分。第一章补充作业部分:假设教学管理规定:一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出 ER 图,

4、要求在图中画出实体的属性并注明联系的类型;解答:第 2 章关系数据库8、如图所示,两个关系 R1 和 R2,它们进行 运算后得到 R3。R2R1A B CACD121XYyR3A B C D EACC112XYyMMNIIJA交 B并 C笛卡尔积 D连接 答案:D三、应用题:设有如下所示的关系 S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和 SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索年龄大于 21 的男学生学号(S#)和姓名(SNAME)。(3)检索至少选

5、修“程军”老师所授全部课程的学生姓名(SNAME)。(4)检索”李强”同学不学课程的课程号(C#)。(5)检索至少选修两门课程的学生学号(S#)。D E M125MNMIJK成绩教师编号 教师姓名学生 选修m 课程教师讲授nn1学号姓名课程号 课程名(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。(8)检索选修课程号为 k1 和 k5 的学生学号(S#)。(9)检索选修全部课程的学生姓名(SNAME)。(10)检索选修课程包含学号为 2 的学生所修课程的学生学号(S#)。(11)检索选修课程名为“C 语言”

6、的学生学号(S#)和姓名(SNAME)。解:本题各个查询语句对应的关系代数表达式表示如下:(1). C#,CNAME(TEACHER=程军(C)(2). S#,SNAME(AGE21SEX=”男”(C)(3). SNAMEs S#,C#(sc)C#(TEACHER= 程军(C)(4). C#(C)- C#(SNAME=李强(S) SC)(5). S#(1=425 (SC SC)(6). C#,CNAME(C (S#,C#(sc)S#(S)(7). S#(SC C#(TEACHER=程军(C)(8). S#,C#(sc)C#(C#=k1 C#=k5(C)(9). SNAMEs S#,C#(sc)

7、C#(C)(10). S#,C#(sc)C#(S#=2(SC)(11). S#,SNAMEs S#(SC CNAME=C 语言(C)关系 R 和 S 如下图所示,试计算 RS。RA B C Da b c da b e fa b h kb d e fb d d lc k c dc k e f第 3 章关系数据库标准语言 SQL一、选择题第 8 到第 11 题基于这样的三个表即学生表 S、课程表 C 和学生选课表 SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC Dc de fSC(S#,C#,GRADE)其中:S#为学号,SN 为姓名,SEX 为性别,AGE

8、为年龄,DEPT 为系别,C#为课程号,CN 为课程名,GRADE 为成绩。11、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的 SELECT 语句是 ASELECT S#,SUM(GRADE)FROM SCWHERE GRADE=60GROUP BY S#ORDER BY 2 DESCHAVING COUNT(*)4 WHERE C#=“C2” AND GRADE(SELECT GRADE FORM SCWHERE C#=“C2”)BSELECT S# FORM SCWHERE C#=“C2” AND GRADE IN(SELECT GRADE

9、FORM SCWHERE C#=“C2”)CSELECT S# FORM SCWHERE C#=“C2” AND GRADE NOT IN(SELECT GRADE FORM SCWHERE C#=“C2”)DSELECT S# FORM SCWHERE C#=“C2” AND GRADEALL(SELECT GRADE FORM SCWHERE C#=“C2”)答案:D二、填空题3、设有如下关系表 R:R(No,NAME,SEX,AGE,CLASS)主关键字是 NO其中 NO 为学号,NAME 为姓名,SEX 为性别,AGE 为年龄,CLASS 为班号。写出实现下列功能的 SQL 语句。插入

10、一个记录(25, “李明” , “男” ,21, “95031”); 。插入“95031”班学号为 30、姓名为“郑和”的学生记录; 。将学号为 10 的学生姓名改为“王华” ; 。将所有“95101”班号改为“95091” ; 。删除学号为 20 的学生记录; 。删除姓“王”的学生记录; 。答案:INSERT INTO R VALUES(25, “李明” , “男” ,21, “95031”)INSERT INTO R(NO,NAME,CLASS) VALUES(30, “郑和” , “95031”)UPDATE R SET NAME=“王华”WHERE NO10UPDATE R SET C

11、LASS“95091”WHERE CLASS“95101”DELETE FROM R WHERE NO=20DELETE FROMR R WHERE NAME LIKE“王”第 3 章书面作业1、设学生课程数据库中有三个关系:学生关系 S( S#,SNAME,AGE,SEX)学习关系 SC(S# ,C# ,GRADE)课程关系 C(C# ,CNAME)其中 S#、C#、SNAME 、 AGE、SEX 、GRADE、 CNAME 分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。用 SQL 语句表达下列操作(1)检索选修课程名称为“MATHS”的学生的学号与姓名(2)检索至少学习了课程号为“

12、C1”和“C2”的学生的学号(3)检索年龄在 18 到 20 之间(含 18 和 20)的女生的学号、姓名和年龄(4)检索平均成绩超过 80 分的学生学号和平均成绩(5)检索选修了全部课程的学生姓名(6)检索选修了三门课以上的学生的姓名答案:(1)SELECT SNAME,AGEFROM S,SC,CWHERE S.S#=SC.S#AND C.C#=SC.C#AND CNAME= MATHS(2) SELECT S#FROM SCWHERE CNO=C1 AND S# IN( SELECT S#FROM SCWHERE CNO=C2)(3)SELECT S#,SNAME,AGEFROM SWH

13、ERE AGE BETWEEN 18 AND 20(4) SELECT S# ,AVG(GRADE) 平均成绩FROM SCGROUP BY S#HAVING AVG(GRADE)80(5) SELECT SNAMEFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE NOT EXISTS(SELECT *FROM SCWHERE S#=S.S# AND C#=C.C#) (6) SELECT SNAMEFROM S,SCWHERE S.S#=SC.S#GROUP BY SNAMEHAVING COUNT(*)3 2、设学生-课程数据库中包括三个表: 学生表:S

14、tudent (Sno , Sname,Sex,Sage,Sdept)课程表:Course(Cno,Cname,Ccredit)学生选课表:SC(Sno , Cno,Grade)其中 Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade 分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。试用 SQL 语言完成下列项操作:(1)查询选修课程包括“1042”号学生所学的课程的学生学号(2)创建一个计科系学生信息视图 S_CS_VIEW,包括 Sno 学号、Sname 姓名、Sex 性别;(3)通过上面第 2 题创建的视图修改数据,

15、把王平的名字改为王慧平(4)创建一选修数据库课程信息的视图,视图名称为 datascore_view,包含学号、姓名、成绩。答案:(1) SELECT DISTINCT SNOFROM SC SCXWHERE NOT EXISTS(SELECT *FROM SC SCYWHERE SCY.SNO = 1042 ANDNOT EXISTS(SELECT *FROM SC SCZWHERE SCZ.SNO=SCX.SNO ANDSCZ.CNO=SCY.CNO);(2) CREATE VIEW S_CS_VIEW ASSELECT SNO,SNAME,SEXFROM STUDENTWHERE Sde

16、pt=CS(3)UPDATE S_CS_VIEWSET SNAME= 王慧平WHERE SNAME= 王平(4) CREATE VIEW datascore_viewASSELECT SNO 学号、 SNAME 姓名、GRADE 成绩FROM STUDENT,SC,COURSEWHERE STUDENT.SNO=SC.SNOAND COURSE.CNO=SC.CNOAND CNAME= 数据库 第 5 章数据库完整性一、选择题:2、关于主键约束以下说法错误的是( )A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束C.允许空值的字段上可以定义主键约束 D.、可以将包含多个

17、字段的字段组合设置为主键 答案:C三、设计题在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程号在课程表中是否存在,及选课成绩是否在 0 到 100 范围,若有一项为否,则不允许插入。答案:create trigger stu_ins_trion scfor insertasbegin declare s# char(6),c# char(5),grade int select s#=sno,c#=cno,grade=scorefrom insertedif (s# not in(select sno from student)

18、or (c# not in (select cno from course) )or (grade not between 0 and 100)rollback transaction elseprint 成功插入end第 6 章关系数据理论一、选择题1、关系规范化中的删除操作异常是指 ,插入操作异常是指 。A不该删除的数据被删除 B不该插入的数据被插入 C应该删除的数据未被删除 D应该插入的数据未被插入答案:A D5、关系模型中的关系模式至少是 。 A1NF B2NF C3NF DBCNF 答案:A6、在关系 DB 中,任何二元关系模式的最高范式必定是 。A1NF B2NF C3NF DBC

19、NF 答案:D7、在关系模式 R 中,若其函数依赖集中所有候选关键字都是决定因素,则 R 最高范式是 。A2NF B3NF C4NF DBCNF 答案:C12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? 。部门(部门号,部门名,部门成员,部门总经理)A部门总经理 B部门成员 C部门名 D部门号 答案:B二、填空题2、对于非规范化的模式,经过 转变为 1NF,将 1NF 经过 转变为 2NF,将 2NF经过 转变为 3NF。答案:使属性域变为简单域 消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖 四、综合练习

20、1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno 学号、Sname 姓名、SD 系名、Sdname 系主任名、Course 课程、Grade 成绩。(1)写出关系模式 S 的基本函数依赖和主码。答: 关系模式 S 的基本函数依赖如下:SnoSname,SDSdname,SnoSD,(Sno,Course) Grade关系模式 S 的码为:(Sno,Course) 。(2)原关系模式 S 为几范式?为什么?分解成高一级范式,并说明为什么?答: 原关系模式 S 是属于 1NF 的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其

21、它非主属性对码的函数依赖为部分函数依赖,所以不属于 2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成 2NF 如下:S1(Sno,Sname,SD,Sdname)S2(Sno,Course,Grade) (3)将关系模式分解成 3NF,并说明为什么?答: 将上述关系模式分解成 3NF 如下:关系模式 S1 中存在 SnoSD,SDSdname,即非主属性 Sdname 传递依赖于 Sno,所以 S1 不是3NF。进一步分解如下:S11(Sno,Sname,SD) S12(SD,Sdname)分解后的关系模式 S11、S12 满足 3NF。对关系模式 S2 不存在非主属性对码的

22、传递依赖,故属于 3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足 3NF。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade) 2、设有如下关系 R(1)它为第几范式? 为什么? (2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? (3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? (1)它为第几范式? 为什么?解:它是 2NF。 因为 R 的候选关键字为“课程名” 。 依赖关系: 课程名教师名,教师名 课程名,教师名教师地址,所以 课程

23、名教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此 R 不是 3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以 R 是2NF。(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?解: 分解为高一级范式如图所示。R1 如下: R2 如下: 分解后,若删除课程数据时,仅对关系 R1 操作,教师地址信息在关系 R2 中仍然保留,不会丢失教师方面的信息。 3、设某商业集团数据库中有一关系模式 R 如下:R (商店

24、编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。试回答下列问题:(1) 根据上述规定,写出关系模式 R 的基本函数依赖;答: 关系模式 S 的基本函数依赖如下: (商店编号,商品编号) 部门编号, (商店编号,部门编号)负责人,(商店编号,商品编号) 数量(2) 找出关系模式 R 的候选码;答:关系模式 R 的码为:(商店编号,商品编号, 部门编号) 。(3) 试问关系模式 R 最高已经达到第几范式?为什么?答: 原关系模式 R 是属于 1NF 的,码为(商店编号

25、,商品编号, 部门编号) ,非主属性对码的函数依赖全为部分函数依赖,所以不属于 2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成 2NF 如下:R1(商店编号,商品编号, 部门编号, 数量)R2(商店编号,部门编号, 负责人) (4) 如果 R 不属于 3NF,请将 R 分解成 3NF 模式集。答:将 R 分解为R1(商店编号,商品编号, 部门编号, 数量)R2(商店编号,部门编号, 负责人) 分解后的 R 不存在传递的函数依赖,所以分解后的 R 已经是第 3NF第 7 章数据库设计一、选择题1、在数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数

26、据库设计的 阶段。A需求分析 B概念设计 C逻辑设计 D物理设计 答案:B2、在关系数据库设计中,设计关系模式是 的任务。A需求分析阶段 B概念设计阶段 C逻辑设计阶段 D物理设计阶段 答案:C3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。A建立库结构 B扩充功能 C加载数据 D系统调试 答案:B4、在数据库的概念设计中,最常用的数据模型是 。A形象模型 B物理模型 C逻辑模型 D实体联系模型 答案:D5、从 E-R 模型关系向关系模型转换时,一个 MN 联系转换为关系模型时,该关系模式的关键字是 。AM 端实体的关键字 BN 端实体的关键字 CM 端实体关

27、键字与 N 端实体关键字组合 D重新选取其他属性 答案:C6、当局部 E-R 图合并成全局 E-R 图时可能出现冲突,不属于合并冲突的是 。A属性冲突 B语法冲突 C结构冲突 D命名冲突 答案:B7、概念模型独立于 。AE-R 模型 B硬件设备和 DBMS C操作系统和 DBMS DDBMS 答案:B8、数据流程图(DFD)是用于描述结构化方法中 阶段的工具。A可行性分析 B详细设计 C需求分析 D程序编码答案:C9、下图所示的 E-R 图转换成关系模型,可以转换为 关系模式。A1 个 B2 个 C3 个 D4 个答案:C二、填空题1、数据库设计的几个步骤是 。答案:需求分析,概念设计,逻辑设

28、计,物理设计,系统实施,系统运行和维护2、 “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库 设计阶段。答案:物理3、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为 。价格借阅日期借阅借书人 图书借书证号 姓名 单位 总编号 书名分类号作者位置m n答案:数据字典4、在设计分 E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分 E-R 图之间难免有不一致的地方,这些冲突主要有 、 和 三类。答案:属性冲突 命名冲突 结构冲突三、应用题设有如下实体:学

29、生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:(1) 一个学生可选修多门课程,一门课程可为多个学生选修;(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;(3) 一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1) 分别设计学生选课和教师任课两个局部信息的结构 E-R 图。 (2) 将上述设计完成的 E-R 图合并成一个全局 E-R 图。 (3) 将该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构。解:(1) 学

30、生选课、教师任课局部 E-R 图如下所示。开课单位课程选修学生拥有姓名 性别学号 课程名教师号编号单位名年龄11mm nm学生选课局部 E-R 图(2) 合并后的全局 E-R 图如下所示。为避免图形复杂,下面给出各实体属性:教师课程讲授单位属于单位名 电话编号姓名 性别教师号 年龄m nm1教师授课局部 E-R 图属于单位课程选修学生拥有教师开课 讲授111mmmnnmm全局 E-R 图单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程号(3) 该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别

31、,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)四、简答题数据库设计一般分为哪几个阶段,每个阶段的主要任务是什么?解答:(1)数据库设计分为 6 个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。(2)各阶段任务如下:需求分析:准确了解与分析用户需求(包括数据与处理) 。概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。数据库物理设计:为逻辑数据模型选

32、取一个最适合应用环境的物理结构(包括存储结构和存取方法) 。数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。第 10 章数据库恢复技术一、 简答题1、什么是事务,事务有哪些特性?答:事务是 DBMS 的基本工作单位,它是用户定义的一组逻辑一致的程序序列。它是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。事务具有 4 个特性:原子性( Atomicity ) 、一致性( consistency )

33、、隔离性( Isolation )和持续性(Durability ) 。这 4 个特性也简称为 ACID 特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据 对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。2、事务中的提交和回滚是什么意思?

34、答:事务中的提交(COMMIT)是提交事务的所有操作。具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。3、为什么要设立日志文件?答:设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作。从而 DBMS 可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。第 11 章 并发控制一、 选择题:1、 设有两个事务

35、T1、T2,其并发操作如下所示,下面评价正确的是 。A该操作不存在问题 B该操作丢失修改 C该操作不能重复读 D该操作读“脏”数据 答案:BT1 T2读 A=10A=A-5 写回读 A=10A=A-8 写回2、设有两个事务 T1、T2,其并发操作如下所示,下面评价正确的是 。A该操作不存在问题 B该操作丢失修改 C该操作不能重复读 D该操作读“脏”数据 答案:CT1 T2读 A=10,B=5 读 A=10A=A*2 写回读 A=20,B=5求和 25 验证错3、设有两个事务 T1、T2,其并发操作如下所示,下列评价正确的是 。A该操作不存在问题 B该操作丢失修改 C该操作不能重复读 D该操作读

36、“脏”数据 答案:DT1 T2读 A=100A=A*2 写回ROLLBACK恢复 A=100读 A=105、若事务 T 对数据 R 已经加 X 锁,则其他事务对数据 R 。A可以加 S 锁不能加 X 锁 B不能加 S 锁可以加 X 锁 C可以加 S 锁也可以加 X 锁D不能加任何锁 答案:D二、 填空题2、有两种基本类型的锁,它们是 和 。答案:共享锁 排它锁三、 简答题1、叙述数据库中死锁产生的原因和解决死锁的方法。答:死锁产生的原因:封锁可以引起死锁。比如事务 T1 封锁了数据 A,事务 T2 封锁了数据 B。T1 又申请封锁数据 B,但因 B 被 T2 封锁,所以 T1 只能等待。T2

37、又申请封锁数据 A,但 A 已被 T1 封锁,所以也处于等待状态。这样,T1 和 T2 处于相互等待状态而均不能结束,这就形成了死锁。解决死锁的常用方法有如下三种:(1)要求每个事务一次就要将它所需要的数据全部加锁。(2)预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。(3)允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继续运行下去。 2、基本的封锁类型有几种?试叙述它们的含义。答:基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。若事务 T 对数据 A 加上 X 锁,则只允许事务 T 读取和修改数据 A,其他事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。若事务 T 对数据 A 加上 S 锁,则其他事务可以再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的锁。3、什么是活锁?如果事务 Tl 封锁了数据 R ,事务几又请求封锁 R ,于是几等待。几也请求封锁 R ,当 Tl 释放了 R 上的封锁之后系统首先批准了几的请求,几仍然等待。然后几又请求封锁 R ,当几释放了 R 上的封锁之后系统又批准了几的请求 几有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报