数据库原理及应用试题

合集下载

(完整版)数据库原理及应用习题带答案

(完整版)数据库原理及应用习题带答案

习题一、单项选择题1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

在这几个阶段中,数据独立性最高的是(A)阶段。

A. 数据库系统B. 文件系统C. 人工管理D.数据项管理2. 数据库系统与文件系统的主要区别是(B)。

A. 数据库系统复杂,而文件系统简单B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C. 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D. 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3. 在数据库中存储的是(C)。

A. 数据B. 数据模型C. 数据及数据之间的联系D. 信息4. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。

A. 同一个应用中的多个程序共享一个数据集合B. 多个用户、同一种语言共享数据C. 多个用户共享一个数据文件D. 多种应用、多种语言、多个用户相互覆盖地使用数据集合5. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( A )。

A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS6. 数据库管理系统(DBMS)是(C)。

A. 一个完整的数据库应用系统B.一组硬件C. 一组系统软件D.既有硬件,也有软件7. 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的(B)。

A. 文件的集合B. 数据的集合C. 命令的集合D. 程序的集合8. 支持数据库各种操作的软件系统是(B)。

A. 命令系统B. 数据库管理系统C. 数据库系统D. 操作系统9. 由计算机硬件、DBMS、数据库、应用程序及用户等组成的一个整体叫(B)。

A. 文件系统B. 数据库系统C. 软件系统D. 数据库管理系统10. 数据库系统中应用程序与数据库的接口是(B)。

A. 数据库集合B. 数据库管理系统DBMSC. 操作系统OSD. 计算机中的存储介质11. 在DBS中,DBMS和OS之间关系是(D)。

《数据库原理及应用》总复习题

《数据库原理及应用》总复习题

《数据库原理及应用》总复习题《数据库原理及应用》总复习题一、单项选择题1、数据库系统的核心是。

A )数据库 B)数据库管理系统C)操作系统 D)文件答案:B2、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。

A )DBS包括DB和DBMS B)DBMS包括DB和DBSC)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS 答案:A3、在数据管理技术的发展过程中,数据独立性最高的是阶段。

A )数据库系统 B)文件系统 C)人工管理 D)数据项管理答案:A4、数据库系统是数据库、数据库管理系统、应用系统、和用户构成。

A )DBMS B)DB C)DBS D)DBA 答案:D5、文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是。

A )DATA B)INFORMATION C)DB D)其他答案:A6、是长期存储在计算机内有序的、可共享的数据集合。

A )DATA B)INFORMATION C)DB D)DBS 答案:C7、是位于用户与操作系统之间的一层数据管理软件。

数据库在建立、使用和维护时其统一管理、统一控制。

A )DBMS B)DB C)DBS D)DBA 答案:A8、概念设计的结果是 A)一个与DBMS相关的要领模型 B)一个与DBMS无关的概念模型 C)数据库系统的公用视图 D)数据库系统的数据字典答案:B9、 E-R方法的三要素是 A)实体、属性、实体集 B)实体、键、联系 C)实体、属性、联系 D)实体、域、候选区答案:C10、要保证数据库的数据独立性,需要修改的是 A)模式与外模式 B)模式与内模式 C)三级模式之间的两层映射 D)三级模式答案:C11、描述数据库全体数据的全局逻辑结构和特性的是 A)模式B)内模式 C)外模式 D)全模式答案:A12、在数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是I、人工管理阶段 II、文件系统阶段III、数据库阶段A)I 和 II B)只有 II C)II 和 III D)只有 I 答案:D13、下列四项中,不属于数据库系统特点的是 A)数据共享B)数据完整性 C)数据冗余度高 D)数据独立性高答案:C14、应用数据库的主要目的是为了 A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题 D)解决数据量大的问题答案:C15、如果一个班只有一个班长,且一个班长不能同时担任其他班的班长,班和班长两个实体之间的联系属于。

数据库原理及应用(SQLServer2008)-职称计算机考试数据库应用试卷与试题

数据库原理及应用(SQLServer2008)-职称计算机考试数据库应用试卷与试题

数据库原理及应用(SQL Server 2008)试卷总分:88答题时间:[ 未设置 ]一、单选题以下不属于数据模型的是( )。

[2分]-----正确答案(D)1.A层次模型B网状模型关系模型CD概念模型2.下列函数中,返回值数据类型为int的是( )。

[2分]-----正确答案(B)LEFTABLENCLTRIMSUNSTRINGD3.表达式'123'+'456'的结果是( )。

[2分]-----正确答案(A)A'123456'B579'579'CD'123'下列叙述不是视图特点的是( )。

[2分]-----正确答案(A)4.A为用户集中数据B降低数据库设计的复杂性存数数据CD阻止数据以便到处到其他应用程序5.根据作用于的数据库对象和范围的不同,下列不属于数据完整性的是( )。

[2分]-----正确答案(A)A域完整性B实体完整性参照完整性CD规则完整性6.SQL Server2008属于( )数据库系统。

[2分]-----正确答案(C)层次型AB网状型C关系型面向对象型D7.下列常数中,属于Unicode字符串常量的是( )。

[2分]-----正确答案(C)'123'AB' 123'CN'123'D'abc'8.下列操作中,( )不是SQL Server服务管理器的功能。

[2分]-----正确答案(C)A启动SQL SERVER服务B停止SQL SERVER服务C执行SQL 查询命令D暂停SQL SERVER服务9.下列不属于存储过程的是( )。

[2分]-----正确答案(D)A系统存储过程扩展存储过程BC用户定义存储过程D约束设A和B两个数据表的记录数分别为3和4,对两个表执行交叉连接查询后,查询结果中最多可获得( )条数据。

10.[2分]-----正确答案(A)A12B7C4D3二、填空题关于身份验证模式叙述正确的是( )。

《数据库原理及应用》试题1 (2)

《数据库原理及应用》试题1 (2)

二、填空(每空1分,共20分)1.关系模型和网状模型的数据结构分别是_____________和_____________。

(难度系数B)正确答案:二维表有向图2.数据模型是由______________、____________、和____________三部分组成的。

(难度系数C)正确答案:数据结构数据操作完整性约束3.关系数据语言可以分为三类:_____________、_____________和关系演算语言。

(难度系数C)正确答案:SQL语言关系代数语言4.删除基本表用______________语句,删除基本表的元组用_____________语句(难度系数B)正确答案:ALTER UPDATE5.规范化数据库设计分为以下六个设计阶段:需求分析阶段、_____________、_____________、___________、数据库实施阶段、数据库运行和维护阶段。

(难度系数B)正确答案:概念结构设计逻辑结构设计物理结构设计阶段6.事务的特性有:_____________、原子性、_____________和持久性。

(难度系数C)正确答案:一致性隔离性7. 当对视图进行UPDATE、INSERT和DELETE操作时,为了保证被操作的行满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项________________________________。

(难度系数A)正确答案:WITH CHECK OPTION8. SQL中,表有三种: ____________、临时表(虚表)和____________。

(难度系数B)正确答案:视图、基本表9.在关系数据库规范化理论的研究中,在函数依赖的范畴内,___________范式达到了最高的规范化程度。

(难度系数B)正确答案:BC范式10.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的函数依赖和________________________。

数据库原理及应用 练习题及参考答案

数据库原理及应用 练习题及参考答案

数据库原理与应用练习题及参考答案一、选择题1.一下关于关系的说法正确的是(A)A.一个关系就是一张二维表B.在关系所对应的二维表中,行对应属性,列对应元组。

C.关系中各属性不允许有相同的域。

D.关系的各属性名必须与对应的域同名。

2.关系数据表的关键字可由(D)属性组成。

A.一个B.两个C.多个D.一个或多个3.进行自然连接运算的两个关系(A)A.至少存在一个相同的属性名B.可不存在任何相同的属性名C.不可存在个相同的属性名D.所有属性名必须完全相同4.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的(B)。

A.数据模型B.概念模型C.层次模型D.关系模型5.Access 2010 数据库具有很多特点,下列叙述中,正确的是(B)。

A. Access 2010数据表可以保存多种数据类型,但是不包括多媒体数B. Access 2010可以通过编写应用程序来操作数据库中的数据C. Access 不能支持Internet/Intranet 应用D. Access 2010 使用切换面板窗体管理数据库对象6.数据表的基本对象是(A)A.表B.查询C.报表D.窗体7.利用Access 2010 创建数据库文件,其扩展名是(B)A.mdbB.accdbC.xlsxD. acc8.启动Access 2010 后,最先显示的是什么界面(C)A.数据库工作界面B.“打开”窗口C. Backstage D导航窗格9.在Access 数据库对象中,不包括的是(B)A.表B.向导C.窗体D.模块10.表的组成内容包括(C)A.查询和字段B.报表和字段C.字段和记录D.记录和窗体11.在Access 2010 数据库的表设计视图中,不能进行的操作是(A)A.修改字段类型B.设置索引C.增加字段D.删除记录12.某数据库的表中要添加Internet 站点的网址,应该采用的字段类型是(B)A.OLE对象B.超级链接C.查阅向导D.自动编号13.对数据表进行筛选操作,结果是(D)A.显示满足条件的记录,并将这些记录保存在一个新表中B.只显示满足条件的记录,将不满足条件的记录从表中删除C.将满足条件的记录和不满足条件的记录分为两个表进行显示D.只显示满足条件的记录,不满足条件的记录被隐藏14.在Access的数据表中删除一条记录,被删除的记录(A)A.不能恢复B.可恢复为第一条记录C.可恢复为最后一条记录D.可恢复到原来位置15.假设某数据库表中有一个姓名字段,查找姓名为张三或李四的记录的准则是(B)A. NotIn(“张三”,“李四”)B. “张三”Or“李四”C. Like(“张三”,“李四”)D. “张三”And“李四”16.假设某一个数据库表中有一个姓名字段,查找不姓王的记录的准则是(A)A. Not“王*”B. Not“王”C. NotLike“王”D. “王*”17.假设某数据库表中有一个工作时间字段,查找15天前参加工作的记录的准则是(B)A. =Date ()-15B. <Date()-15C.>Date () -15D. <=Date()-1518.除了从表中选择数据外,还可以对表中数据进行修改的查询是(C)A.选择查询B.参数查询C.操作查询D.生成表查询19.关于删除查询,下面叙述正确的是(D)A.每次操作只能删除一条记录B.每次只能删除单个表中的记录C.删除过的记录只能用“撤消”命令恢复D.每次删除整个记录,并非是指定字段中的记录20.在查询“设计视图”窗口,什么不是字段列表框中的选项(C)A.排序B.显示C.类型D. 准则21.操作查询不包括(B)A.更新查询B. 参数查询C.生成表查询D.删除查询22. SQL能够创建(C)A.更新查询B.追加查询C.各类查询D. 选择查询23. SQL语句中的DROP关键字的功能是(C)A.创建表B.在表中增加新字段C.从数据库中删除表D.删除表中记录24.年龄在18~21岁之间的男生的设置条件可以设置为(B)A. “>18 0r <21”B. “>18 And <21”C. “>18 Not <21”D. “>18 Like <2”25.表中存有学生姓名、性别、班级、成绩等数据,若想统计各个班各个分数段的人数最好的查询方式是(B)A.选择查询B.交叉表查询C.参数查询D.操作查询26.利用一个或多个表中的全部或部分数据建立新表的是(A)A.生成表查询B.删除查询C. 更新查询D.追加查询二、填空题1.表是由行和列组成的,行也称___元组___,列也称为__属性___或字段。

数据库原理与应用试题及答案

数据库原理与应用试题及答案

数据库原理与应用试题及答案一、选择题1. 数据库管理系统(DBMS)的主要功能是什么?A. 存储数据B. 管理数据C. 执行程序D. 以上都是答案:D2. 关系数据库中,表之间的关系有几种?A. 1种B. 2种C. 3种D. 4种答案:C3. SQL语言中的“SELECT”语句用于执行什么操作?A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C4. 在数据库中,主键的作用是什么?A. 唯一标识表中的每条记录B. 存储数据C. 用于排序D. 用于分组答案:A5. 数据库的完整性约束包括哪些类型?A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 所有上述类型答案:D二、填空题6. 数据库设计通常分为三个阶段:需求分析、______、物理设计。

答案:概念设计7. 在关系数据库中,一个表的______是指表中数据的逻辑结构。

答案:模式8. 数据库的并发控制主要解决______、更新丢失和不一致的异常问题。

答案:数据竞态9. 数据库的______是指数据库中数据的独立性。

答案:规范化10. 在SQL中,使用______语句可以实现数据的删除。

答案:DELETE三、简答题11. 简述数据库的三级模式结构。

答案:数据库的三级模式结构包括外模式、概念模式和内模式。

外模式是用户与数据库交互的接口,概念模式是数据库的全局逻辑结构,内模式是数据库的物理存储结构。

12. 解释什么是事务的ACID属性。

答案:事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

原子性指事务中的操作要么全部完成,要么全部不完成;一致性指事务执行的结果必须使数据库从一个一致的状态转移到另一个一致的状态;隔离性指并发执行的事务之间不会互相影响;持久性指一旦事务提交,其结果将永久保存在数据库中。

四、论述题13. 论述数据库备份与恢复的重要性及其常用方法。

数据库原理及应用-考试题3

数据库原理及应用-考试题3

《数据库原理及应用》试题3一、选择题(每题1分,共20分)1、数据库系统的特点是_________、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。

A、数据共享B、数据存储C、数据应用D、数据保密(难度系数C)正确答案:A2、在数据库中存储的是_________。

A、数据B、数据模型C、信息D、数据以及数据之间的联系(难度系数C)正确答案:D3、数据库系统的数据独立性是指_________。

A、不会因为数据的变化而影响应用程序B、不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C、不会因为存储策略的变化而影响存储结构D、不会因为某些存储结构的变化而影响其他的存储结构(难度系数C)正确答案:B4、DB、DBMS和DBS三者之间的关系是_________。

A、DBS与DB和DBMS无关B、DBMS包括DBS和DBC、DBS包括DB和DBMSD、DB包括DBMS和DBS(难度系数B)正确答案:C5、数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作.这种功能称为_________。

A、数据操纵功能B、数据管理功能C、数据定义功能D、数据控制功能(难度系数A)正确答案:A6、关系数据库中,实现表与表之间的联系是通过_________。

A、实体完整性规则B、值域C、用户自定义完整性D、参照完整性规则(难度系数B)正确答案:D7、设关系R有K1个元组,关系S有K2个元组,则关系R和S进行笛卡尔积操作后的结果关系中的元组数目是_________。

A、K1+K2B、≥K1+K2C、K1×K2D、≤K1×K2(难度系数A)正确答案:C8、对关系的完整性约束通常包括_________三种。

A、实体完整性、属性完整性、关系完整性;B、实体完整性、参照完整性、用户定义完整;C、实体完整性、属性完整性、用户定义完整;D、实体完整性、属性完整性、参照完整性;(难度系数A)正确答案:B9、在SQL中,建立视图用的命令是_________。

《数据库原理及应用》期末考试试卷

《数据库原理及应用》期末考试试卷

《数据库原理及应用》考试试卷一、单项选择题:本大题共30小题,每小题1分,共30分。

在每小题给出的四个选项中,只有一项是符合题目要求的,将符合题意的选项字母填入相应的答题栏。

1.关系数据库系统能够实现的三种基本关系运算是()。

A)索引,排序,查询B)建库,输入,输出C)选择,投影,联接D)显示,统计,复制2.数据库的三级模式之间存在的映射,正确的是()。

A)外模式/模式B)外模式/内模式C)外模式/外模式D)模式/模式3.如果两个实体集之间的联系是1:n,转换为关系时()。

A)将n端实体转换的关系中加入1端实体转换关系的码B)将n端实体转换的关系的码加入到1端的关系中C)将两个实体转换成一个关系D)在两个实体转换的关系中,分别加入另一个关系的码4.在E-R图中,用来表示实体联系的图形是()。

A)椭圆B)矩形C)菱形D)三角形5.在Access 2010中,随着打开数据库对象的不同而不同的操作区域称为()。

A)命令选项卡B)上下文选项卡 C)导航窗格D)工具栏6.在Access 2010系统环境下,在同一时间可打开()个数据库。

A)1 B)2 C)3 D)47.在数据库中,当一个表的字段数据取自与另一个表的字段数据时,最好采用下列方法来输入数据而不会发生输入错误()。

A)直接输入数据B)把该字段的数据类型定义为查阅向导,利用另一个表的字段数据创建一个查阅列表,通过选择查阅列表的值进行输入数据。

C)不能用查阅列表值输入,只能直接输入数据D)只能用查阅列表值输入,不能直接输入数据8.如果要在“职工”表中建立“简历”字段,其数据类型最好采用()型。

A)文本或备注B)备注或附件C)日期或字符D)数字或文本9.若要求日期/时间型的“出生年月”字段只能输入不包括1998年1月1日在内的以后的日期,则在该字段的“有效性规则”文本框中,应该输入()。

A)>#1998-1-1# B)>1998-1-1 C)>=1998-1-1 D)>=#1998-1-1#10.在Access 2010中,利用“查找和替换”对话框可以查找到满足条件的记录,要查找当前字段中所有第一个字符为s、最后一个字符为t的数据,下列选项中正确使用通配符的是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理及应用试题1. 消除了非主属性对码的部分函数依赖的1NF的关系模式,必定是()。

A. 1NFB. 2NFC. 3NFD. BCNF2 .下列关于数据库恢复说法不正确的是()A.事物故障恢复采用日志文件B.系统故障恢复采用日志文件C.介质故障恢复采用日志文件D.以上故障恢复均不采用日志文件3. 下面()不是常用的数据模型?A. 关系模型B. 线性模型C. 层次模型D. 网状模型4 .在数据库设计中,将E-R图转换成关系数据模型的过程属于()A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段5 .DBMS中实现事务持久性的子系统是()A.安全性管理子系统B.完整性管理子系统C.并发控制子系统D.恢复管理子系统6.数据库与文件系统的根本区别在于()A.提高了系统效率B.方便了用户使用C.数据的结构化D.节省了存储空间7. SQL语言是()的语言,容易学习。

A.过程化B. 非过程化C.格式化D. 导航式8.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。

A. 完整性控制B. 访问控制C. 安全性控制D. 并发控制9.DBMS普遍采用()方法来保证调度的正确性。

A. 索引B. 授权C. 封锁D. 日志10.事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是()。

A. 一级封锁协议B. 二级封锁协议C. 三级封锁协议D. 零级封锁协议11. 下面的选项不是关系数据库基本特征的是()。

A.不同的列应有不同的数据类型B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关12. 关系模型中实现实体间N:M 联系是通过增加一个()。

A.关系实现B. 属性实现C. 关系或一个属性实现D. 关系和一个属性实现13. 关系代数运算是以()为基础的运算。

A. 关系运算B. 谓词演算C. 集合运算D. 代数运算14. 数据库设计可划分为七个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、键什么样的索引”这一设计内容应该属于()设计阶段。

A. 概念设计B. 逻辑设计C. 物理设计D. 全局设计15.SQL语言中的COMMIT语句的主要作用是()。

A. 结束程序B. 返回系统C. 提交事务D. 存储数据16.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。

A. 原子性B. 一致性C. 独立性D. 持久性17.关系的主属性不能取空值,属于()A. 实体完整性约束B.参照完整性约束C. 用户定义完整性约束D. 动态元组约束18.如果一个关系属于第3范式,则它()A. 必然属于2NFB. 必然属于4NFC. 可能不属于2NFD. 必然属于BCNF19.SQL语言集几个功能模块为一体,其中不包括()A. DDLB. DMLC. DCLD. DNL20.数据的物理独立性是由()映射所支持的A. 外模式/模式B. 外模式/内模式C. 模式/内模式D. 子模式/逻辑模式最佳答案 1.B 2.C 3.B 4.C 5.D 6.C 7.C 8.D 9.C 10.A11.A 12.A 13.A --不太确定14.B 15.C 16.A 17.B 18.A 19.D 20.C1.试述事务的概念及事务的四个特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。

这个四个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:一个事务的执行不能被其他事务干扰。

即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

接下来的其他操作或故障不应该对其执行结果有任何影响。

2.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。

答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。

例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。

则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。

如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。

3.数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

4.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

5.据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。

当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

6. 数据库转储的意义是什么?试比较各种数据转储方法。

答:数据转储是数据库恢复中采用的基本技术。

所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。

当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。

静态转储:在系统中无运行事务时进行的转储操作。

静态转储简单,但必须等待正运行的用户事务结束才能进行。

同样,新的事务必须等待转储结束才能执行。

显然,这会降低数据库的可用性。

动态转储:指转储期间允许对数据库进行存取或修改。

动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。

但是,转储结束时后援副本上的数据并不能保证正确有效。

因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。

为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。

这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。

转储还可以分为海量转储和增量转储两种方式。

海量转储是指每次转储全部数据库。

增量转储则指每次只转储上一次转储后更新过的数据。

从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。

但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

7. 什么是日志文件?为什么要设立日志文件?答:(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

8. 登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。

有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。

如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。

所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

9. 针对不同的故障,试给出恢复的策略和方法。

(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务故障的恢复是由DBMS自动完成的,对用户是透明的。

DBMS执行恢复步骤是:(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

(2)对该事务的更新操作执行逆操作。

即将日志记录中“更新前的值”写入数据库。

(3)继续反向扫描日志文件,做同样处理。

(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

答:系统故障的恢复:系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库;二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。

因此恢复操作就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。

系统的恢复步骤是:(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列)。

(2)对撤销队列中的各个事务进行UNDO处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”(Before Image)写入数据库。

(3)对重做队列中的各个事务进行REDO处理。

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。

即将日志记录中“更新后的值”(After Image)写入数据库。

*解析:在第(1)步中如何找出REDO队列和UNDO队列?请大家思考一下。

下面给出一个算法:1)建立两个事务队列:·UNDO-LIST: 需要执行undo操作的事务集合;·REDO-LIST: 需要执行redo操作的事务集合;两个事务队列初始均为空。

2)从日志文件头开始,正向扫描日志文件·如有新开始(遇到Begin Transaction)的事务Ti,把Ti暂时放入UNDO-LIST队列;·如有提交的事务(遇到End Transaction)Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列;直到日志文件结束答:介质故障的恢复:介质故障是最严重的一种故障。

恢复方法是重装数据库,然后重做已完成的事务。

具体过程是:(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态。

(2)DBA装入转储结束时刻的日志文件副本(3)DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。

*解析1)我们假定采用的是静态转储,因此第(1)步装入数据库后备副本便可以了。

相关文档
最新文档