《数据库原理》复试面试篇
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
序言笔者在进行《数据库》学习中整理的一些题目和笔记参考书目是施伯乐教授主编的《数据库系统教程第三版》和配套的《习题解答与实验指导》同时参考了王珊教授主编的《数据库系统概论第五版》部分题目来自网络。前七章部分两书通用第七章之后的选学。
索引
6.试叙述层次、 网状、关系和对象模型这4种逻辑数据模型的区别。
11.DBS 由哪几部分组成它有哪些系统软件其中DD有什么作用
4.为什么要对关系代数表达式进行优化有哪3条启发式规则对优化起什么作用
7.什么是存储过程使用存储过程后系统具有什么特点用什么来调用
4.在关系模式R分解成数据库模式ρ时如何对待出现的寄生元组和悬挂元组现象
7.定义并解释概念模型中以下术语:实体实体型实体集实体之间的联系。
1.封闭式散列法和开放式散列法之间有什么区别在数据库应用中这两种方法各有什么利弊
3.索引机制加快了查询处理速度但为什么文件只在单属性的查找键上建立索引
5.试对“被拴记录”下个确切的定义。被拴记录在物理存储中起什么作用有什么利弊
7.什么是触发器触发器的作用触发器有哪两个级别各用于什么场合
8.事务是什么试叙述事务的4个性质并说明每个性质由DBMS的哪个子系统实现每一个性质对DBS有什么益处。
20.数据库的并发控制、恢复、完整性和安全性之间有些什么联系和区别
22.“检查点机制”的主要思想是什么COMMIT语句与检查点时刻的操作如何协调
2.关系DBS、OODBS、ORDBS三者各有什么长处和劣势
5.DDB中数据分片必须满足哪3个条件这3个条件的目的各是什么
正文
第一章 概论
1.试述数据、数据库、数据库管理系统、数据库系统的概念。
答数据描述事物的符号和记录称为数据。
数据库长期储存在计算机内的有组织的可共享的数据集合。
数据库管理系统是位于用户和操作系统之间的数据管理软件。
数据库系统由数据库数据库管理系统及其应用开发工具应用软件数据库管理员组成的存储管理处理维护数据的系统。
2.数据库系统的特点是什么
答数据结构化 数据共享性高、冗余度低且易扩充 数据独立性高 数据由DBMS统一管理。
3.和文件系统相比,数据库文件有什么优点
文件系统 | 数据库管理系统 |
---|---|
文件系统管理 | DBMS管理 |
面向某一应用 | 面向现实世界 |
共享性差,冗余度大 | 共享性高,冗余度小 |
独立性差 | 具有较高的物理独立性和逻辑独立性 |
记录内有结构,整体无结构 | 整体结构化,用数据模型描述 |
应用程序自己控制 | 由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力 |
4.三级模式结构是什么二级映像有什么优点
答三级模式包括外模式、逻辑模式、内模式 外模式是用户与数据库系统的接口是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成 逻辑模式是数据库中全体数据的整体逻辑结构的描述。它由若干个逻辑记录类型组成还包含记录间联系、数据的完整性和安全性等要求 内模式是数据库在物理存储方面的描述定义所有内部记录类型、索引和文件组织方式以及数据控制方面的细节。
外模式/逻辑模式映像的优点当模式改变时由DBA对外模式/逻辑模式映像做相应的改变外模式可以保持不变。应用程序是根据外模式而编写的因而应用程序不必修改保证了数据与逻辑的独立性即数据的逻辑独立性 逻辑模式/内模式映像的优点当数据库的存储结构改变时由DBA对逻辑模式/内模式映像作相应的改变可以使模式保持不变从而应用程序也不必改变。保证了数据与程序的物理独立性即数据的物理独立性。
5.数据抽象的过程有哪几个步骤
答数据抽象的过程也就是数据库设计的过程分为如下4个步骤。 第1步根据用户需求设计数据库的概念模型。 第2步根据转换规则把概念模型转换成数据库的逻辑模型。 第3步根据用户的业务特点设计不同的外部模型供程序员使用。 第4步实现数据库时要根据逻辑模型设计其内部模型。 一般将上述第 1步称为DB的概念设计第2、第3步称为DB的逻辑设计第4步称为DB的物理设计。
6.试叙述层次、 网状、关系和对象模型这4种逻辑数据模型的区别。
答层次模型的数据结构为树结构记录之间的联系通过指针实现查询较快但DML属于过程性的操作复杂。 网状模型的数据结构为有向图记录之间的联系通过指针实现查询较快并且容易实现M:N联系但DML也属于过程性的语言编程较复杂。 关系模型的数据结构为二维表格容易为初学者所理解。记录之间的联系通过关键码实现。DML属于非过程性语言编程较简单。 对象模型能完整描述现实世界的数据结构具有丰富的表达能力能表达嵌套、 递归的数据结构通过对象标识符(OID)实现。但涉及的知识面较广用户较难理解这种模型尚未普及。
7.试述DBMS的工作模式和主要功能。
答DBMS的工作模式如下。 ①接受应用程序的数据请求和处理请求。 ②将用户的数据请求转换成低层指令。 ③实现对DB的操作。 ④从对DB的操作中接受查询结果。 ⑤对查询结果进行处理。 ⑥将处理结果返回给用户。 DBMS的主要功能体现在DB的定义、操纵、保护、维护和数据字典5个方面。
8.根据计算机的系统结构 DBS可分成哪4种各有什么特点
答根据计算机的系统结构DBS 可分成集中式、C/S式、并行式和分布式4种。 集中式DBS的特点是单点数据(DB 集中在一个场地)单点处理( 单个CPU)。 C/S式DBS的特点是计算机的功能分布在客户机和服务器上(即功能的分布)。客户机上专门实现前端处理和用户界面。服务器上完成事务处理和数据访问控制。 并行式 DBS的特点是使用多个CPU和多个磁盘进行并行操作。 分布式DBS的特点是多点数据(DB分布在多个场地)多点处理(多个CPU)。数据具有物理分布性和逻辑整体性特点。系统中事务有本地事务(访问本地DB)和全局事务(访问至少两个场地的DB)之分。
9.试述逻辑模式在数据库结构中的重要地位。
答数据按外模式的描述提供给用户按内模式的描述存储在磁盘中而逻辑模式提供了连接这两级的相对稳定的中间观点并使得两级中任何一级的改变都不受另一级的牵制。
10.元数据”与“数据”有什么联系与区别
答元数据(Metadata)是指“数据的数据”即数据的描述。DB中的元数据是指三层模式结构的详细描述。 数据(Data)一般是指用户使用的具体值。
11.DBS 由哪几部分组成它有哪些系统软件其中DD有什么作用
答DBS由DB、硬件、软件和DBA等4个部分组成。 系统软件主要有DBMS、OS、3GL和4GL。 在DBS中DD是存储三层结构描述(即元数据)的DBDBMS 的所有工作都要以DD中的元数据为依据也就是所有工作都要通过DD访问DB。
12.数据字典的内容和作用是什么
答数据字典是对数据的数据项数据结构数据流物理存储和处理逻辑进行定义和描述。其目的是对数据流图上的每个成份加以定义和说明是分析阶段的工具。
第二章 关系模型和关系运算理论
1.关系模型中的完整性约束是哪几类定义
答实体完整性关系模式中的主码不能为空值 参照完整性关系模式中的外码只能是空值或者另一关系模式的主码 用户定义完整性关系模式中针对某一属性的约束。
*2.等值连接和自然连接的区别是什么
答自然连接是等值连接的一种特殊情况 等值连接要求连接的是值相等的分量两个关系中可以没有相同的属性进行自然连接的两个关系中必须有相同的属性。 等值连接不要求去掉重复属性列自然连接时需要除掉重复的属性列。
*3.外连接是什么
答外连接是指两个表在进行操作时不仅返回符合连接和查询条件的元组还返回不符合条件的一些元组 左外连接是指返回左表中仅符合连接条件不符合查询条件的元组 右外连接是指返回右表中仅符合连接条件不符合查询条件的元组 全外连接是左外连接和右外连接去掉重复项的元组集并集。
4.为什么要对关系代数表达式进行优化有哪3条启发式规则对优化起什么作用
答关系代数表达式由关系代数操作组合而成。其中笛卡儿积和连接操作最费时并且会生成大量的中间结果。如果直接按表达式书写的顺序执行必将花费很多时间并生成大量的中间结果效率较低。在执行前由DBMS的查询子系统先对关系代数表达式进行优化尽可能先执行选择和投影操作以便减少中间结果并节省时间。 优化工作是由DBMS完成的用户书写时不必关心优化的问题仍以简练的形式书写即可。 3条启发式规则是尽可能早执行选择操作可能早执行投影操作把笛卡儿积与附近的一连串选择和投影合并起来做。 使用这3条规则能最大限度地减少中间关系的数据量。
5.在关系模型中 对关系作了哪些规范性限制
答对关系作了4个限制属性值不可分解没有重复元组没有行序使用时有列序。
6.试述关系模型的三个组成部分
答关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
7.什么是基本表什么是视图两者的区别和联系是什么
答基本表是本身独立存在的表在SQL中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。 (1) 存在不同 基本表基本表是本身独立存在的表; 视图视图本身不存在独立存储在数据库中是一个虚表。 (2) 存储内容不同 基本表基本表存储的内容是实际的数据。 视图视图存储的内容只有存储定义不存放实际数据。 (3)操作不同 基本表操作者可以对基本表进行增删改查四种操作。 视图操作者只可以对视图进行查操作不能进行增删改操作。
8.哪类视图是可以更新的哪类视图是不可更新的
答从单个基本表只使用选择、投影操作导出的视图称为“行列子集视图”是可以更新的。允许用户更新的视图定义时必须加上WITH CHECK OPTIOM。 相反定义在多个基本表上的视图、使用聚合操作的视图、不含基本表主键的视图都是不可更新的。
9.试述关系数据模型的优缺点
答关系数据模型具有下列优点 1关系模型与非关系模型不同它是建立在严格的数学概念的基础上的。 2关系模型的概念单一无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关系。所以其数据结构简单、清晰用户易懂易用。 3关系模型的存取路径对用户透明从而具有更高的数据独立性、更好的安全保密性也简化了程序员的工作和数据库开发建立的工作。 关系模型最主要的缺点是由于存取路径对用户透明查询效率往往不如非关系模型。因此为了提高性能必须对用户的查询要求进行优化增加了开发数据库管理系统的难度。
10.关系代数的基本操作和组合操作
答5个基本操作并、差、笛卡尔积、选择和投影。
4个组合操作交、连接、自然连接、除。
11.试述查询优化的一般步骤
答各个关系系统的优化方法不尽相同大致的步骤可以归纳如下: 1把查询转换成某种内部表示通常用的内部表示是语法树。 2把语法树转换成标准(优化)形式。 即利用优化算法把原始的语法树转换成优化的形式。 3选择低层的存取路径。 4生成查询计划选择代价最小的。
12.什么是SQL/PSM这个标准中有哪些流程控制语句
答SQL/PSM是SQL标准的一部分它指定了如何编写持久存储模块提供流程控制语句来表示过程处理的应用逻辑。 这个标准中的流程控制语句主要有条件分支语句和3种循环语句。
第三章 SQL语言
1.SQL的特点
答综合统一。集DCLDMLDDL功能于一体
高度非过程化。使用SQL进行数据操作时是需要提出“做什么”而不需要指明怎么做
面向集合的操作方式。操作的对象、查找结果都可以是元组的集合
同一种语法结构提供多种使用方式。既可以作为独立的语言进行交互又可以作为嵌入式语言嵌入到更高级的语言程序中进行操作
语言简洁易学易用。
2.什么是数据库操纵语言、什么是数据库控制语言,试举例说明
答数据操纵语言是指通过对表中的数据进行插入、删除和修改等操作实现对数据库的基本操作。如SELECT命令的作用是检查表的内容UPDATE命令的作用是修改表等。 数据控制语言是用来设置或者更改数据库用户或角色权限的语句这些语句包括GRANT、REVOKE等语句。
3.索引的作用和它的优点缺点是什么
答当表的数据量比较大时查询操作比较耗时建立索引可以加快查询速度。 优点加速查询速度 缺点索引需要占一定的存储空间且基本表更新时需要维护索引表。
4.索引和键有什么区别
答索引是存储在数据库中的一个物理结构是实际存在的相当于一本书的目录 键是一个逻辑概念不是数据库中的物理部分。键分为主键和外键主键相当于一本书中每个页的页码。 扩展聚簇索引将数据存储与索引放到了一块找到索引也就找到了数据。
5.数据库中常用的索引有哪些
答B+树索引B+树是对B树优化处理了的多路搜索树与B树的区别在于B树的每个结点都可以存储数据而B+树只有叶子结点可以存储数据且每个叶子结点都用链表链接。在数据库的查询中一般都是批量查询数据采用B+树一次查询多条时确定首尾位置便可以方便的确定多条数据位置提高查询效率。 Hash索引通过一定的算法计算出哈希值然后映射出对应的数据存储位置。检索速度快但是哈希值可能存在碰撞。
6.视图是什么有何作用
答视图是从一个或几个基本表中导出的表是一个虚表。数据库中只存放视图的定义而不存放视图对应的数据。基本表中的数据发生变化时从视图中查询出来的数据也就随之发生变化。 作用能够简化用户的操作 使用户能以多种角度看待同一数据 在一定程度上提供了数据的逻辑独立性 能够对秘密数据提供安全保护 可以更清晰的表达查询。
7.什么是存储过程使用存储过程后系统具有什么特点用什么来调用
答存储过程是使用SQL语句和流程控制语句编写的模块存储过程经编译和优化后存储在数据库服务器端的数据库中使用时调用即可。 使用存储过程后系统具有以下5个优点提高运行速度增强了SQL的功能和灵活性可以降低网络的通信量减轻了编写程序的工作量间接实现安全控制功能。 调用可以创建一个命令对象进行调用。
8.描述数据库对嵌入式SQL的处理过程
答DBMS的预处理程序对源程序进行扫描识别出嵌入式SQL语句把他们转换成主语言调用语句使得主语言编译程序可以识别它们然后将它们编译成目标代码。
9.游标是什么
答系统为用户开设的一个数据缓冲区存放SQL语句的执行结果。当SELECT语句的查询结果是个多元组时此时主语言程序无法使用一定要用游标机制把多个元组一次一个地传送给主语言程序处理。
10.关系数据库中查询处理的步骤是什么每一步进行简要概括
答查询分析对查询语句进行词法分析、语法分析检查其是否正确
查询检查对合法的查询语句进行语义检查语义检查就是检查其是否有效
查询优化选择一个高效执行的查询处理策略
查询执行依据优化得到的执行策略生成查询执行计划并生成相应的查询执行计划代码。
11.CASCADE方式和RESTRICT方式
答CASCADE方式表示在基本表中删除某列时所有引用到该列的视图和约束也要一起自动地被删除。
RESTRICT方式表示在没有视图或约束引用该属性时才能在基本表中删除该列否则拒绝删除操作。
第四章 关系数据库的规范化设计
1.规范化过程中逐级依次消除了何种函数依赖
答由1NF到2NF消除了非主属性对主属性的部分函数依赖
由2NF到3NF消除了非主属性对主属性的传递函数依赖
由3NF到BCNF消除了主属性对码的部分函数依赖和传递函数依赖
由BCNF到4NF消除了非平凡且非函数依赖的多值依赖。
1NF如果关系模式R的每个关系r的属性值都是不可分的原子值那么称R是1NF的模式。
2NF如果R是1NF的模式且每个非主属性完全函数依赖于R的候选键那么称R是2NF的模式。 3NF如果R是1NF的模式且每个非主属性都不传递依赖于R的候选键那么称R是3NF的模式。 BCNF如果R是1NF的模式且每个属性都不传递依赖于R的候选键那么称R是BCNF的模式。
2.为什么要进行关系模式的分解分解的依据是什么
答由于数据之间存在着联系和约束在关系模式的关系中可能会存在数据冗余和操作异常现象因此需把关系模式进行分解以消除冗余和异常现象。分解的依据是数据依赖和范式(模式的标准)。
3.分解有什么优缺点
答分解有两个优点: ①消除冗余和异常。 ②在分解了的关系中可存储悬挂元组。
分解有两个缺点: ①可能分解了的关系不存在泛关系。 ②做查询操作时需做连接操作增加了查询时间。
4.在关系模式R分解成数据库模式ρ时如何对待出现的寄生元组和悬挂元组现象
答当数据库中出现寄生元组时说明R到ρ的分解是损失分解应该重新对R进行分解同时应保证分解是无损分解。 当数据库中出现悬挂元组时说明系统未执行泛关系假设。但存储悬挂元组是分解的优点能存储泛关系中无法存储的元组。
第五章 数据库设计与ER模型
1.数据库设计的基本步骤是什么
答需求分析。了解和分析用户需求
概念结构设计。对用户需求进行抽象和归纳形成一个独立于DBMS的概念模型E-R图
逻辑结构设计。将概念结构转换为某个DBMS所支持的数据模型通常为关系模型
物理结构设计。为逻辑数据模型选取一个最适合存储结构和存取方法
数据库实施阶段。构建数据库编写和调试应用程序
数据库运行和维护。正式投入运行。
2.概念模型有什么作用
答概念模型用于信息世界的建模是现实世界到信息世界的第一层抽象是数据库设计人员进行数据库设计的有力工具也是数据库设计人员和用户之间进行交流的语言。
3.合并E-R图时主要包括哪几种冲突
答属性冲突。不同的实体对同一属性的定义不同
命名冲突。同名异义、异名同义
结构冲突。同一实体在不同的局部E-R图中有不同的抽象。
4.一个实体型转换为一个关系模式有哪几种情况
答一个1:1联系可以转换为一个独立的关系模式也可以与任意一端对应的关系模式合并
一个1:n联系可以转换为一个独立的关系模式也可以与n端对应的关系模式合并
一个m:n联系可以转换为一个关系模式与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
5.在数据库设计中为什么要有概念设计这一阶段
答如果在需求分析之后直接把用户信息需求得到的数据存储格式转换成DBMS能处理的逻辑模型。这样注意力往往被牵扯到更多的细节限制方面而不能集中在最重要的信息组织结构和处理模型上。 为了改善这种状况在需求分析和逻辑设计之间增加了概念设计阶段。此时设计人员仅从用户角度看待数据及处理需求和约束而后产生一个反映用户观点的概念模型(也称为“组织模型”)。将概念设计从设计过程中独立开来可以使数据库设计各阶段的任务相对单一化得以有效控制设计的复杂程度便于组织管理。概念模型能充分反映现实世界中实体间的联系又是各种基本数据模型的共同基础同时也容易向现在普遍使用的关系模型转换。
6.对象联系图与ER图的主要差别是什么
答对象联系图与ER图的主要差别是对象联系图能通过“引用”类型表示嵌套、递归的数据结构还有能表示数据结构之间的继承性(即子类和超类)。
7.定义并解释概念模型中以下术语:实体实体型实体集实体之间的联系。
答实体客观存在并可相互区别的事物。
实体型用实体名及其属性名集合来抽象刻画同类实体。
实体集同一类型实体的集合。
实体之间的联系通常是指不同实体之间的联系有一对一、一对多、多对多等多种类型。
第六章 数据库的存储结构
1.封闭式散列法和开放式散列法之间有什么区别在数据库应用中这两种方法各有什么利弊
答封闭式散列法和开放式散列法是指在桶溢出时所采用的方法。 封闭式散列法是指每个桶号的存储空间分成基本桶和溢出桶两种。溢出桶链接成一条溢出链查找某桶号的数据就在这条溢出链中进行不会到其他溢出链中查找。 开放式散列法是把桶集固定下来也就是只考虑基本桶不考虑溢出桶。如果有一个桶装满了记录那么就在桶集中挑选一个有空闲空间的桶装入新记录。 封闭散列法的优点是查找速度快但结构比较复杂。开放式散列法的空间较省但插入、删除操作比较复杂。所以现在大多数DBS中都使用封闭散列法。
2.在什么情况下使用稠密索引比稀疏索引要好并做必要的解释。
答在存取时间和空间开销方面如果强调存取时间那么应采用稠密索引。这是因为稠密索引是对每个查找键值建立一个索引记录所以查找速度较快。
3.索引机制加快了查询处理速度但为什么文件只在单属性的查找键上建立索引
答文件只在单属性的查找键上建立索引这样可以简化系统的管理。如果一个索引由多个属性构成那么在查询时若查询条件不是等值操作而是比较操作就会带来复杂性会有较多的I/O操作。
4.主索引和辅助索引之间有什么区别
答两种索引的区别在于主索引是指索引的查找键值的顺序与主文件的顺序一致的索引。而辅助索引是指索引的查找键值的顺序与主文件的顺序不一致的索引。
5.试对“被拴记录”下个确切的定义。被拴记录在物理存储中起什么作用有什么利弊
答在数据库中被指针指向的记录称为“被拴记录”。被拴记录表示记录已被其他用户引用。如果不小心把被拴记录删掉那么指向该记录的指针就成了“悬挂指针”。悬挂指针指向的空间是“垃圾”别人无法使用。
第七章 系统实现技术
1.数据库的安全性是指什么有哪些安全性技术
答数据库的安全性是指保护数据库防止恶意破坏和非法存取。 安全性技术用户标识和鉴别、多层存取控制、审计、视图、数据加密。
2.存取控制是指什么主要包括哪两部分有哪两类方法
答存取控制是指确保只授权给有资格的用户访问数据库的权限且令所有未被授权的人员无法接近数据。
两个部分定义用户权限和合法权限检查
两种方法 自主存取控制DAC用户对不同的数据库对象有不同的存取权限不同的用户对同一对象也有不同的权限 强制存取控制MAC每一个数据库对象被标以一定的密级每一个用户也被授予一定级别的许可证只有具有合法许可证的用户才可以进行存取。
3.视图机制是如何对数据库实现安全性控制的
答可以对不同的用户定义不同的视图也就是说通过视图机制把要保密的数据对无权存取的用户隐藏起来。
4.审计功能是如何对数据库实现安全性控制的
答审计功能是把用户对数据库的一系列操作自动记录到审计日志中审计员可以利用审计日志监控数据库中的各种行为找出导致数据库发生异常的事件。
5.数据库的完整性是指什么
答数据库的完整性是指数据的正确性、有效性和相容性防止错误的数据进入DB。 DBMS完整性子系统的主要功能有两点监督事务的执行并测试是否违反完整性规则若有违反现象则采取恰当的操作。
6.什么是断言
答断言是指更具有一般性的约束断言创建后任何涉及到断言中的关系的操作都会引发数据库对断言的检查任何使断言为假的操作都会被拒绝执行。
7.什么是触发器触发器的作用触发器有哪两个级别各用于什么场合
答触发器是一个能由系统自动执行对数据库进行修改的语句。任何用户对表进行增删改操作都会有数据库服务器自动激活相应的触发器对数据库进行相应的检查和操作。 触发器分成元组级和语句级两个级别。在只对元组中的值有某种限制时可采用元组级触发器实现。如果在插、删、改后对关系中若干元组的聚合值有限制则可采用语句级触发器实现。
8.事务是什么试叙述事务的4个性质并说明每个性质由DBMS的哪个子系统实现每一个性质对DBS有什么益处。
答事务是数据库进行操作的一个基本单位。
①原子性(Atomicity)是指一个事务对DB的所有操作是一个不可分割的工作单元。原子性是由DBMS的事务管理子系统实现的。事务的原子性保证了事务对数据库的操作不会丢失。
②一致性(Consistency)是指数据不会因事务的执行而遭受破坏。事务的一致性是由DBMS的完整性子系统实现的。事务的一致性保证事务对数据库的操作正确执行。
③隔离性(Isolation)是指事务并发执行时与这些事务单独执行时结果一样。事务的隔离性是由DBMS的并发控制子系统实现的。隔离性使并发执行的事务不必关心其他事务如同在单用户环境下执行一样。
④持久性(Durability)是指事务对DB的更新应永久地反映在DB中。持久性是由DBMS的恢复管理子系统实现的。持久性能保证DB具有可恢复性。
9.为什么事务非正常结束时会影响数据库数据的正确性
答事务具有一致性事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障有些事务尚未完成就被迫中断这些未完成事务对数据库所做的修改有一部分已写入物理数据库这时数据库就处于一种不正确的状态或者说是不一致的状态。
10.数据库恢复的基本技术有哪些
答数据转储和登录日志文件是数据库恢复的基本技术。
数据转储是指DBA定期将数据库复制到其他介质上进行保存这些备份的数据叫做后备副本 登记日志文件日志文件是用来记录事务对数据库进行更新操作的文件。 当系统运行过程中发生故障利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
11.登记日志文件时为什么必须先写日志文件后写数据库
答把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障即这两个写操作只完成了一个。 如果先写了数据库修改而在运行记录中没有登记这个修改则以后就无法恢复这个修改了。如果先写日志但没有修改数据库在恢复时并不会影响数据库的正确性。所以一定要先写日志文件即首先把日志记录写到日志文件中然后写数据库的修改。
*12.数据库故障的种类有哪几种相应的恢复策略是什么
答三种事务故障、系统故障、介质故障 事务故障是指事务在运行至终点前被中止 事务故障恢复是由系统自动完成利用日志文件撤销此事务已对数据库进行的修改
系统故障是指造成系统停止运转的任何事件使得系统要重新启动 系统故障的恢复是在重新启动后系统自动完成为了防止系统故障造成的数据不一致性必须撤销故障时未完成的事务重做已完成的事务
介质故障是指磁盘上的物理数据和日志文件被破坏 介质故障的恢复方法就是重装数据库重做已经完成的事务。
13.在数据库中为什么要并发控制
答数据库是共享资源通常有多个事务在同时执行当多个事务并发的存取数据库时就会存在同时读或写同一数据的情况如果对并发操作不加控制就会存在数据读取或存取错误破坏数据库的一致性。
*14.并发造成的数据不一致性包括什么
答丢失修改A、B两个事务同时对一个数据进行操作A的修改破坏了B的修改导致B的修改丢失
读脏数据A对数据进行了修改之后B读入该数据然后A又因为某一原因撤销了该修改导致数据恢复原值此时B读取的数据就成了脏数据
不可重复读A读取了数据后B对数据进行了修改导致A无法再现前一次的读取结果。
*15.什么是锁有哪两种锁
答锁是最常用的并发控制机构是防止其他事务访问指定资源实现并发控制的一种手段。 排他锁X写锁当数据被加上写锁其他事务不能对该数据进行读和写 共享锁S读锁当数据被加上读锁允许其他事务对该数据进行读不允许写。
*16.简要概括一、二、三级封锁协议
答一级封锁协议事务在修改数据之前加写锁直到事务结束才释放。该协议可以防止丢失修改 二级封锁协议在一级封锁协议的基础上加上了事务在读取数据之前对其加读锁读完后即可释放读锁。该协议避免了读脏数据
三级封锁协议在一级封锁协议的基础上加上了事务在读取数据之前必须加上读锁直到事务结束才释放。该协议解决了不可重复读问题。
17.数据库保护访问的内容有哪些
答安全性控制完整性控制并发性控制和数据恢复。
18.什么是UNDO操作和REDO操作为什么要这样设置
答UNDO和REDO是系统内部命令。 在DB恢复时对于已经COMMIT但更新仍停留在缓冲区的事务要执行REDO(重做)操作即根据日志内容把该事务对DB的修改重做一遍。 对于还未结束的事务要执行UNDO(撤销)操作即根据日志内容把该事务对DB已做的修改撤销掉。 设置UNDO和REDO操作是为了使数据库具有可恢复性。
19.封锁会带来哪些问题如何解决
答封锁技术可以避免并发操作引起的各种错误但有可能产生3个问题其解决办法如下 ①“活锁”问题可用“先来先服务”排队的方式和提高事务优先级的方法来解决。 ②“饿死”问题可用“授权加锁”方法来避免。 ③“死锁”问题可用抽取某事务作为牺牲品将其撤销的方法来解决。
活锁系统可能使某个事务永远处于等待状态得不到封锁的机会这种现象称为“活锁”。
饿死有可能存在一个事务序列其中每个事务都申请对某数据项加S锁且每个事务在授权加锁后的一小段时间内释放封锁此时若另有一个事务T2欲在该数据项上加X锁则将永远轮不上封锁的机会这种现象称为“饿死”。
死锁系统中有两个或两个以上的事务都处于等待状态并且每个事务都在等待其中另一个事务解除封锁它才能继续执行下去结果造成任何一个事务都无法继续执行这种现象称系统进入了“死锁”状态。
20.数据库的并发控制、恢复、完整性和安全性之间有些什么联系和区别
答这4个方面是一个有机的整体不可偏废某一方面。DBMS的这4个子系统一起保证了DBS的正常运行。 DB的可恢复性防止DB被破坏或DB中的数据有错误。 DB的并发控制是为了防止并发操作的事务发生相互干扰的现象。 DB的完整性是为了保证DB中的数据是正确的避免非法的更新。 DB的安全性也是为了保护DB防止被不合法地使用以免数据被泄露、非法更改和破坏。
21.为什么X锁需保留到事务终点而S锁可随时解除
答为防止由事务的ROLLBACK引起丢失更新操作X封锁必须保留到事务终点因此DML不提供专门的解除X锁的操作即解除X锁的操作合并到事务的终点去做。 而在未到事务终点时执行解除S锁的操作可以增加事务并发操作的程度但对DB不会产生什么错误的影响因此DML可以提供专门的解除S锁的操作让用户使用。
22.“检查点机制”的主要思想是什么COMMIT语句与检查点时刻的操作如何协调
答“检查点机制”的主要思想是在检查点时刻才真正把对DB的修改写到磁盘中。在DB恢复时只有那些在最后一个检查点到故障点之间还在执行的事务才需要恢复。 在执行COMMIT语句后事务对DB的更新已提交但对DB的更新可能还留在内存的缓冲区在检查点时刻才真正写到磁盘中因此事务真正结束是在COMMIT后还要加上到达检查点时刻。
23.日志文件中记载了哪些内容
答日志文件中记载了事务开始标记、事务结束标记以及事务对DB进行插入、删除和修改的每一次操作前后的值。
24.解释强制存取控制机制中主体、客体、敏感度标记的含义
答主体系统中的活动实体包括数据库管理系统的实际用户以及代表各个用户的进程
客体系统中的被动实体是受主体操纵的包括基本表视图索引等
主体的敏感度标记为许可证级别
客体的敏感度标记称为密级
第八章 对象数据库系统
1.面向对象数据的定义
面向对象数据库(OODB)是一个基于面向对象编程语言(OOP)的数据库其数据都是以对象/类的形式表示并存储在面向对象数据库中。简单来讲面向对象数据库 = 面向对象编程语言 + 关系型数据库特性。在这个公式里面面向对象编程语言的三个特性为继承、多态、封装而关系型数据库特性的三个特性实体完整性、并发、查询处理。
2.关系DBS、OODBS、ORDBS三者各有什么长处和劣势
答关系DBS的数据类型简单查询语言功能强大具有较好的保护性。其缺点是不能表示嵌套、递归的数据结构。 OODBS能支持复合数据类型与程序设计语言集成一体化性能高。其缺点是较难提供对说明性查询的支持。 ORDBS能支持复合数据类型查询语言功能强大具有较好的保护性。其缺点是还不能说是严格意义上的面向对象数据模型。
3.OODB与ORDB有什么区别
答ORDB是从SQL出发的引入了复合类型、维承性、引用类型等面向对象概念很可能是从关系世界通往面向对象世界的一条平坦之路。 OODB在面向对象语言(C++)基础上引入了持久数据的概念能操作DBODMG93标准不支持SQL标准因此尚难推广使用。
4.与传统的关系模型相比对象关系模型有哪些扩充
答与传统的关系模型相比对象关系模型有下列扩充。 ①在定义语言上有3个扩充: ●数据类型的扩充(引入复合类型); ●在类型一级和表一级实现继承性: ●使用“引用类型”。 ②在查询语言方面用户需记住属性值是单值还是多值。在属性值是多值时需定义新的元组变量。
5.在数据库设计中子类实体与超类实体之间应具有哪两个性质
答子类与超类之间有如下两个性质 ①子类与超类之间具有继承性特点即子类实体继承超类实体的所有属性但子类实体本身还可以包含比超类实体更多的属性。 ②这种继承性是通过子类实体和超类实体有相同的实体标识符实现的。
第九章 分布式数据库系统
1.与集中式DBS、分散式DBS相比DDBS有什么不同
答与集中式DBS的集中存储相比分布式DBS的数据具有“分布性”特点数据不是存储在一个场地而是分布存储在各个场地的。 与分散式DBS的分散存储相比分布式DBS的数据具有“逻辑整体性"特点。
2.DDBS有哪些基本特点还可以导出哪些特点
答DDBS有4个基本特点物理分布性、逻辑整体性、场地自治性、场地之间的协作性。 由此还可导出其他4个特点数据独立性、集中与自治相结合的控制机制、适当增加数据冗余度、事务管理的分布性。
3.DDBS有哪些优点和缺点
答与集中式DBS相比DDBS有6个优点灵活的体系结构分布式的管理和控制机构经济性能优越系统可靠性高、可用性好局部应用的响应速度快可扩展性好。 缺点有3个花在通信部分的开销较大复杂的存取结构在分布式系统中不一定有效数据的安全性和保密性较难处理。
4.在分布式数据库中什么时候要使用投票和选举方法
答在分布式并发控制中如果不存在备份场地或主场地和备份场地都有故障就要采用选举方法产生一个备份场地。 在系统中如果不采用识别副本技术那么并发控制就要采用投票方法来决定封锁是否成功。
5.DDB中数据分片必须满足哪3个条件这3个条件的目的各是什么
答DDB中的数据分片必须满足如下3个条件。
①完备性条件指全局关系中的所有数据均应映射到片段中。目的是保证所有数据均在DB中存储不会丢失数据。
②重构条件由各个片段可以重建全局关系。目的是可以像无损联接那样不丢失信息。
③不相交条件数据片段相互之间不应该重叠(主键除外)。目的是为了防止数据冗余。
第十章 ODBC技术
1.ODBC技术有什么作用其卓越贡献是什么
答ODBC技术的作用是使应用程序与DBMS在逻辑上可以分离使应用程序具有数据库无关性。 ODBC的卓越贡献是使应用程序具有良好的互用性和可移植性并且具备同时访问多种DBS的能力从而克服了传统数据库应用程序的缺陷。对用户而言ODBC驱动程序屏蔽掉了不同DBS的差异。
2.ODBC的体系结构有哪几层试叙述各层之间的联系。
答ODBC的体系结构有4层应用程序驱动程序管理器DB驱动程序数据源。
应用程序要完成ODBC外部接口的所有工作用C语言和ODBC函数来编写应用程序。
驱动程序管理器管理应用程序和DB驱动程序之间的交互作用为应用程序加载和调用DB驱动程序。
DB驱动程序执行ODBC函数解释执行SQL语句。
数据源是DB驱动程序与DB连接的桥梁。
第十一章 XML技术
1.什么是 XML
答XML 指可扩展标记语言 XML 是一种标记语言很类似 HTML
XML 的设计宗旨是传输数据而非显示数据 XML
标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
2.XML 与 HTML 的主要差异
答XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计
XML 被设计为传输和存储数据其焦点是数据的内容。
HTML 被设计用来显示数据其焦点是数据的外观。
第十二章 现代信息集成技术
1.DW数据与DB数据有什么区别
答DW数据具有分析型、综合的或提炼的、代表过去、不更新、操作需求事先不知道、分析驱动、面向分析、一次操作数据量大、支持决策工作及数据量在100 GB到几TB之间等特点。 DB数据具有操作性、细节的、在存取时准确的、可更新的、操作需求事先可知道、事务驱动、面向应用、一次操作数据量小、支持日常工作及DB规模在100 MB到几GB之间等特点。
2.试叙述DW的定义。
答数据仓库(DW)是面向主题的、集成的、相对稳定的、不同时间的数据集合用于支持经营管理中的决策制定过程。
3.DM与DW的区别
答DW是一种存储技术它的数据存储量是一般数据库的100倍DW中包含了大量的历史数据、当前的详细数据以及综合数据。它能为不同用户的不同决策提供所需的数据和信息。 DM是从人工智能和机器学习中发展起来的研究从大量的数据中挖掘出有用的信息和知识的各种方法和技术。
4.DM与OLAP的联系
答DM和OLAP都是决策支持系统的重要组成部分两者都属于分析型工具都可以从大量的数据中找出决策中需要的信息。然而它们是完全不同的工具基于的技术也大相径庭。
5.DM与OLAP的区别
答DM与OLAP的本质区别是DM是在没有明确假设的前提下去挖掘信息、发现知识DM所得到的信息是先前未知的信息是预先未曾预料到的信息。 DM与OLAP的不同之处是DM不是用于验证某个假定的模式的正确性而是在数据库中自己寻找模型这在本质上是一个归纳的过程。
6.OLTP与OLAP之间的比较
OLTP | OLAP | |
---|---|---|
用户 | 操作人员低层管理人员 | 决策人员高级管理人员 |
功能 | 日常操作处理 | 分析决策 |
DB 设计 | 面向应用 | 面向主题 |
数据 | 当前的 最新的细节的 二维的分立的 | 历史的 聚集的 多维的集成的 统一的 |
存取 | 读/写数十条记录 | 读上百万条记录 |
工作单位 | 简单的事务 | 复杂的查询 |
DB 大小 | 100MB-GB | 100GB-TB |
总的来说OLTP就是面向我们的应用系统数据库的OLAP是面向数据仓库的。