☆自考乐园---心境随缘,诚与天下自考人共勉!!!☆自考乐园---分享快乐,你的快乐老家!!! ☆自考乐园---引领成功,你的精神乐园!!!QQ群名:自考乐园_计算机网络;QQ群号:63803088
2 )个实体型之间多对多的联系,可先转换成多对两个实体型之间的联系,再根据 3) 转换。 29 、需求分析说明书 评审
30 、规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,42 、关系 索引 聚簇 日志 备份 43 、 表
44 、数据库管理员 ( DBA )
1 .________ 是一系列的数据库操作,是数据库应用程序的基本逻辑单元。
为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。(可参考《概论》书上 P231-232 数据模型的优化)。
31 、 数据流图 数据字典
32 、数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的 DBMS 。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:( 1 )确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;( 2 )对物理结构进行评价,评价的重点是时间和空间效率。 33 、数据项 数据结构 数据流
34 、对于关系数据库物理设计的内容主要包括 : ? 为关系模式选择存取方法; ? 设计关系、索引等数据库文件的物理存储结构。详细参考《概论》书上 6.5.2 和 6.5.3 。有关 ORACLE 数据库物理设计的内容请参考其技术资料,根据上述内容进行总结。
35 、数据库是用来对数据进行存储、管理与应用的,因此在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类源数据从各个局部应用中抽取出来,分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时,各类数据分散在各种不同的原始表格、凭证、单据之中。数据输入工作量更大。保证输入数据正确性的方法:为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库。 36 、属性冲突 命名冲突 结构冲突
37 、数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时 DBA 就要对数据库进行重组织。 DBMS 一般都提供数据重组织用的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造。 38 、 M 、 N 端实体的码 39 、 逻辑设计 概念结构 40 、物理结构 时间 空间效率
41 、索引( index )方法 HASH 方法 聚簇( Cluster )方法
2 . 试述事务的概念及事务的四个特性。
3 . 为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
4 . 事务处理技术主要包括 ________ 技术和 ________ 技术。 5 . 在 SQL 语言中,定义事务控制的语句主要有 ________ 、 ________ 和 ________ 。
6 . 数据库中为什么要有恢复子系统?它的功能是什么?
7 . 事务具有四个特性:它们是 ________ 、 ________ 、 ________ 和 ________ 。这个四个特性也简称为 ________ 特性。
8 . 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?
9 . 把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态)的功能,这就是 ________ 。 10 . 数据库恢复的基本技术有哪些?
11 . 数据库系统中可能发生各种各样的故障,大致可以分为 ________ 、 ________ 、 ________ 和 ________ 等。 12 . 数据库转储的意义是什么? 试比较各种数据转储方法。 13 . 建立冗余数据最常用的技术是 ________ 和 ________ 。通常在一个数据库系统中,这两种方法是一起使用的。 14 . 什么是日志文件?为什么要设立日志文件?
15 . 转储可分为 ________ 和 ________ ,转储方式可以有 ________ 和 ________ 。
16 . 登记日志文件时为什么必须先写日志文件,后写数据库? 17 . 针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)
18 .________ 是用来记录事务对数据库的更新操作的文件。主要有两种格式:以 ________ 为单位的日志文件和以 ________ 为单位的日志文件。
19 . 什么是检查点记录,检查点记录包括哪些内容?
20 . 具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。
21 . 试述使用检查点方法进行恢复的步骤。 22 . 什么是数据库镜像?它有什么用途? 1 、事务
2 、事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做 , 是一个不可分割的工作单位。事务具有四个特性:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这个四个特性也简称为 ACID 特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永
☆自考乐园---心境随缘,诚与天下自考人共勉!!!☆自考乐园---分享快乐,你的快乐老家!!! ☆自考乐园---引领成功,你的精神乐园!!!QQ群名:自考乐园_计算机网络;QQ群号:63803088
久性( Permanence ),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
3 、事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。例如某工厂的库存管理系统中,要把数量为 Q 的某种零件从仓库 1 移到仓库 2 存放。则可以定义一个事务 T , T 包括两个操作; 13 、数据转储 登录日志文件
14 、( 1 ) 日志文件是用来记录事务对数据库的更新操作的文件。( 2 ) 设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。 15 、静态转储 动态转储 海量转储 增量转储
16 、把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日Q1=Q1-Q , Q2=Q2+Q 。如果 T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了 Q 。 4 、 数据库恢复 并发控制
5 、 BEGIN TRANSACTION COMMIT ROLLBACK
6 、因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
7 、原子性( Atomicity ) 一致性( Consistency ) 隔离性( Isolation ) 持续性( Durability ) ACID
8 、数据库系统中可能发生各种各样的故障,大致可以分以下几类:( 1 ) 事务内部的故障;( 2 ) 系统故障;( 3 ) 介质故障;( 4 ) 计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。 9 、 数据库的恢复
10 、数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 11 、事务故障 系统故障 介质故障 计算机病毒
12 、数据转储是数据库恢复中采用的基本技术。所谓转储即 DBA 定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运行事务时进行的转储操作。如上图所示。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( log file )。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
志,但没有修改数据库,在恢复时只不过是多执行一次 UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
17 、答:事务故障的恢复:事务故障的恢复是由 DBMS 自动完成的,对用户是透明的。 DBMS 执行恢复步骤是:( 1 )反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。( 2 )对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。( 3 )继续反向扫描日志文件,做同样处理。( 4 )如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。答:系统故障的恢复:系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库;二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。因此恢复操作就是要撤销 (UNDO) 故障发生时未完成的事务,重做 (REDO) 已完成的事务。系统的恢复步骤是:( 1 )正向扫描日志文件,找出在故障发生前已经提交的事务队列( REDO 队列)和未完成的事务队列( UNDO 队列)。( 2 )对撤销队列中的各个事务进行 UNDO 处理。进行 UNDO 处理的方法是,反向扫描日志文件,对每个 UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”( Before Image )写入数据库。( 3 )对重做队列中的各个事务进行 REDO 处理。进行 REDO 处理的方法是:正向扫描日志文件,对每个 REDO 事务重新执行日志文件登记的操作。即将日志记录中“更新后的值”( After Image )写入数据库。恢复方法是重装数据库,然后重做已完成的事务。具体过程是:( 1 ) DBA 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态。( 2 ) DBA 装入转储结束时刻的日志文件副本( 3 ) DBA 启动系统恢复命令,由 DBMS 完成恢复功能,即重做已完成的事务。18 、 日志文件 记录 数据块
19 、检查点记录是一类新的日志纪录。它的内容包括: ① 建立检查点时刻所有正在执行的事务清单。 ② 这些事务的最近一个日志记录的地址。
20 、利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要 REDO ,哪些事务需要 UNDO 。一般来说,需要检查所有日志记录。这样做有两个问题:一是搜索整个日志将耗费大量的时间。二是很多需要 REDO 处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。检查点技术就是为了解决这些问题。
21 、① 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。 ② 由该检查点记录得到检查点建立时刻所有正在执行的事务清单
☆自考乐园---心境随缘,诚与天下自考人共勉!!!☆自考乐园---分享快乐,你的快乐老家!!! ☆自考乐园---引领成功,你的精神乐园!!!QQ群名:自考乐园_计算机网络;QQ群号:63803088
ACTIVE-LIST 。这里建立两个事务队列 : ? UNDO-LIST: 需要执行 undo 操作的事务集合; ? REDO-LIST: 需要执行 redo 操作的事务集合;把 ACTIVE-LIST 暂时放入 UNDO-LIST 队列, REDO 队列暂为空。 ③ 从检查点开始正向扫描日志文件 ? 如有新开始的事务 Ti ,把 Ti 暂时放入 UNDO-LIST 队列; ? 如有提交的事务 Tj ,把 Tj 从 UNDO-LIST 队列移到 REDO-LIST 队列,直到日志文件结束; ④ 对 若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 3 、可串行化
4 、并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 ( 1 )丢失修改( Lost Update ) 两个事务 T1 和 T2 读入同一数据并修改, T2 提交的结果破坏了(覆盖了) T1 提UNDO-LIST 中的每个事务执行 UNDO 操作 , 对 REDO-LIST 中的每个事务执行 REDO 操作。
22 、数据库镜像即根据 DBA 的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时, DBMS 自动把更新后的数据复制过去,即 DBMS 自动保证镜像数据与主数据的一致性。数据库镜像的用途有:一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时 DBMS 自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。
1 . 并发操作带来的数据不一致性包括: ________ 、 ________ 和 ________ 。
2 . 在数据库中为什么要并发控制?
3 . 多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为 ________ 的调度。
4 . 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
5 . 基本的封锁类型有两种: ________ 和 ________ 。 6 . 什么是封锁?
7 . 在数据库并发控制中,两个或多个事务同时处在相互等待状态,称为 ________ 。
8 . 基本的封锁类型有几种?试述它们的含义。
9 . 什么是封锁协议?不同级别的封锁协议的主要区别是什么? 10 .________ 被称为封锁的粒度。封锁对象的大小 11 . 不同封锁协议与系统一致性级别的关系是什么? 12 . 什么是活锁?什么是死锁 ? 13 . 试述活锁的产生原因和解决方法。 14 . 请给出预防死锁的若干方法。
15 . 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 16 . 什么样的并发调度是正确的调度? 17 . 试述两段锁协议的概念。
18 . 试证明,若并发事务遵守两段锁协议,则对这些事务的并发调度是可串行化的。
19 . 为什么要引进意向锁? 意向锁的含义是什么?
20 . 试述常用的意向锁: IS 锁, IX 锁, SIX 锁,给出这些锁的相容矩阵。
1 、丢失修改 不可重复读 读“脏”数据
2 、数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和 / 或修改同一数据的情况。
交的结果,导致 T1 的修改被丢失。 ( 2 )不可重复读( Non-Repeatable Read ) 不可重复读是指事务 T1 读取数据后,事务 T2 执行更新操作,使 T1 无法再现前一次读取结果。不可重复读包括三种情况:详见《概论》 8.1 p266 。 ( 3 )读“脏”数据( Dirty Read )读“脏”数据是指事务 T1 修改某一数据,并将其写回磁盘,事务 T2 读取同一数据后, T1 由于某种原因被撤销,这时 T1 已修改过的数据恢复原值, T2 读到的数据就与数据库中的数据不一致,则 T2 读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
5 、排它锁 (Exclusive Locks ,简称 X 锁 ) 共享锁 (Share Locks ,简称 S 锁 )
6 、封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。 封锁是实现并发控制的一个非常重要的技术。 7 、死锁
8 、基本的封锁类型有两种 : 排它锁 (Exclusive Locks ,简称 X 锁 ) 和共享锁 (Share Locks ,简称 S 锁 ) 。 排它锁又称为写锁。若事务 T 对数据对象 A 加上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。 共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A 但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。这就保证了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。
9 、在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用 X 锁和 S 锁对数据对象加锁时,要约定何时申请 X 锁或 S 锁、何时释放封锁等。这些约定或者规则称为封锁协议( Locking Protocol )。对封锁方式约定不同的规则,就形成了各种不同的封锁协议。不同级别的封锁协议,例如《概论》 8.3 中介绍的三级封锁协议,三级协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。 一级封锁协议:事务 T 在修改数据 R 之前必须先对其加 X 锁,直到事务结束才释放。 二级封锁协议:一级封锁协议加上事务 T 在读取数据 R 之前必须先对其加 S 锁,读完后即可释放 S 锁。 三级封锁协议:一级封锁协议加上事务 T 在读取数据 R 之前必须先对其加 S 锁,直到事务结束才释放。 10 、封锁对象的大小
11 、不同的封锁协议对应不同的一致性级别。一级封锁协议可防止丢失修改,并保证事务 T 是可恢复的。在一级封锁协议中,对读数据是不加 S 锁的,所以它不能保证可重复读和不读“脏”数据。 二级封
☆自考乐园---心境随缘,诚与天下自考人共勉!!!☆自考乐园---分享快乐,你的快乐老家!!! ☆自考乐园---引领成功,你的精神乐园!!!QQ群名:自考乐园_计算机网络;QQ群号:63803088
锁协议除防止了丢失修改,还可进一步防止读“脏”数据。在二级封锁协议中,由于读完数据后立即释放 S 锁,所以它不能保证可重复读。 在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
12 、如果事务 T1 封锁了数据 R ,事务 T2 又请求封锁 R ,于是 T2 18 、首先以两个并发事务 T1 和 T2 为例,存在多个并发事务的情形可以类推。 根据可串行化定义可知,事务不可串行化只可能发生在下列两种情况: 1 .事务 T1 写某个数据对象 A , T2 读或写 A ; 2 .事务 T1 读或写某个数据对象 A , T2 写 A 。下面称 A 为潜在冲突对象。设 T1 和 T2 访问的潜在冲突的公共对象为 {A1, A2, ? , An} 。不失一般性,假设这组潜在冲突对象中 X={A1,A2, ? , Ai} 均等待。 T3 也请求封锁 R ,当 T1 释放了 R 上的封锁之后系统首先批准了 T3 的请求, T2 仍然等待。然后 T4 又请求封锁 R ,当 T3 释放了 R 上的封锁之后系统又批准了 T4 的请求?? T2 有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。 如果事务 T1 封锁了数据 R1 , T2 封锁了数据 R2 ,然后 T1 又请求封锁 R2 ,因 T2 已封锁了 R2 ,于是 T1 等待 T2 释放 R2 上的锁。接着 T2 又申请封锁 R1 ,因 T1 已封锁了 R1 , T2 也只能等待 T1 释放 R1 上的锁。这样就出现了 T1 在等待 T2 ,而 T2 又在等待 T1 的局面, T1 和 T2 两个事务永远不能结束,形成死锁。
13 、活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。 避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
14 、在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:( 1 )一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。( 2 )顺序封锁法预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 15 、数据库系统一般采用允许死锁发生, DBMS 检测到死锁后加以解除的方法。 DBMS 中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。 DBMS 并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。
16 、可串行化( Serializable )的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。
17 、两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 ? 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; ? 在释放一个封锁之后,事务不再申请和获得任何其他封锁。 “两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。
符合情况 1 。 Y={Ai+1, ? ,An} 符合所情况 2 。 ?x?X , T1 需要 Xlock x ① T2 需要 Slock x 或 Xlockx ② ( 1 ) 如果操作①先执行,则 T1 获得锁, T2 等待由于遵守两段锁协议, T1 在成功获得 X 和 Y 中全部对象及非潜在冲突对象的锁后,才会释放锁这时如果 ?w?X 或 Y , T2 已获得 w 的锁,则出现死锁否则, T1 在对 X 、 Y 中对象全部处理完毕后, T2 才能执行这相当于按 T1 、 T2 的顺序串行执行根据可串行化定义, T1 和 T2 的调度是可串行化的。( 2 ) 操作②先执行的情况与( 1 )对称因此,若并发事务遵守两段锁协议,在不发生死锁的情况下,对这些事务的并发调度一定是可串行化的。
19 、引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁—显式封锁和隐式封锁(有关概念参见《概论》 8.7.1 )。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突;显然,这样的检查方法效率很低。为此引进了意向锁。 意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。 例如事务 T 要对某个元组加 X 锁,则首先要对关系和数据库加 IX 锁。换言之,对关系和数据库加 IX 锁,表示它的后裔结点—某个元组拟(意向)加 X 锁。引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务 T 要对关系 R 加 X 锁时,系统只要检查根结点数据库和 R 本身是否已加了不相容的锁(如发现已经加了 IX ,则与 X 冲突),而不再需要搜索和检查 R 中的每一个元组是否加了 X 锁或 S 锁。
20 、 IS 锁如果对一个数据对象加 IS 锁,表示它的后裔结点拟(意向)加 S 锁。例如,要对某个元组加 S 锁,则要首先对关系和数据库加 IS 锁 IX 锁如果对一个数据对象加 IX 锁,表示它的后裔结点拟(意向)加 X 锁。例如,要对某个元组加 X 锁,则要首先对关系和数据库加 IX 锁。 SIX 锁如果对一个数据对象加 SIX 锁,表示对它加 S 锁,再加 IX 锁,即 SIX = S + IX 。
1 . 数据库的安全性是指保护数据库以防止不合法的使用所造成的 _______ 、 _______ 或 ______ 。 2 . 什么是数据库的安全性?
3 . 数据库安全性和计算机系统的安全性有什么关系?
4 . 计算机系统有三类安全性问题,即 ________ 、 _________ 和 ________ 。
5 . 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。
常用的方法有通过输入 ________ 和 ________ 来鉴别用户。 6 . 试述可信计算机系统评测标准的情况,试述 TDI/TCSEC 标准的基本内容。
☆自考乐园---心境随缘,诚与天下自考人共勉!!!☆自考乐园---分享快乐,你的快乐老家!!! ☆自考乐园---引领成功,你的精神乐园!!!QQ群名:自考乐园_计算机网络;QQ群号:63803088
7 ._______ 和 _______ 一起组成了 DBMS 的安全子系统。 8 . 试述 TCSEC ( TDI )将系统安全级别划分为四组七个等级的基本内容。
9 . 当前大型的 DBMS 一般都支持 ________ ,有些 DBMS 同时还支持 ________ 。
10 . 试述实现数据库安全性控制的常用方法和技术。
11 . 用户权限是由两个要素组成的: ________ 和 ________ 。 12 . 什么是数据库中的自主存取控制方法和强制存取控制方法? 13 . 在数据库系统中,定义存取权限称为 ________ 。 SQL 语言用 度逐渐增高。这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为: D 级 D 级是最低级别。一切不符合更高标准的系统,统统归于 D 组。 C1 级 只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制( DAC ),保护或限制用户权限的传播。 C2 级 实际是安全产品的最低档次,提供受控的存取保护,即将 C1 级的 DAC 进一步细化,以个人身份注册负责,并实施审计和资源隔离。 B1 级 标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强________ 语句向用户授予对数据
的操作权限,用 ________ 语句收回授予的权限。
14 . SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。
15 . 对数据库模式的授权由 DBA 在 ________ 时实现。 16 . 为什么强制存取控制提供了更高级别的数据库安全性? 17 . 理解并解释 MAC 机制中主体、客体、敏感度标记的含义。 18 . 一个 DBA 用户可以拥有 ________ 、 ________ 和 ________ 权限,一个 RESOURCE 用户可以拥有 ________ 权限。
19 . 数据库角色是被命名的一组与 ________ 相关的权限,角色是 ________ 的集合。
20 . 什么是数据库的审计功能,为什么要提供审计功能? 21 . 统计数据库中存在何种特殊的安全性问题?
22 . 通过 ________ 可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
23 . 审计一般可以分为 ________ 审计和 ________ 审计。 1 、数据泄漏 更改 破坏
2 、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
3 、安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 4 、技术安全类 管理安全类 政策法律类 5 、用户名 口令
6 、各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部( DoD )正式颁布的《 DoD 可信计算机系统评估标准》( Trusted Computer System Evaluation Criteria ,简称 TCSEC ,又称桔皮书)。 TDI/TCSEC 标准是将 TCSEC 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》( Trusted Database Interpretation 简称 TDI ,又称紫皮书)。在 TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI 与 TCSEC 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。
7 、根据计算机系统对安全性各项指标的支持情况, TCSEC ( TDI )将系统划分为四组( division )七个等级,依次是 D ; C ( C1 , C2 ); B ( B1 , B2 , B3 ); A ( A1 ),按系统可靠或可信程
制存取控制( MAC )以及审计等安全机制。 B2 级 结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施 DAC 和 MAC 。 B3 级 安全域。该级的 TCB 必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。 A1 级 验证设计,即提供 B3 级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
9 、自主存取控制( DAC ) 强制存取控制( MAC )
10 、实现数据库安全性控制的常用方法和技术有: 1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 C2 级中的自主存取控制( DAC ), B1 级中的强制存取控制( MAC ); 3) 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4) 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5) 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 11 、数据对象 操作类型
12 、自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
13 、 授权 GRANT REVOKE
14 、 SQL 中 的自主存取控制是通过 GRANT 语句和 REVOKE 语句来实现的。如: GRANT SELECT , INSERT ON Student TO 王平 WITH GRANT OPTION ;就将 Student 表的 SELECT 和 INSERT 权限授予了用户王平,后面的“ WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。 REVOKE INSERT ON Student FROM 王平 CASCADE ;就将 Student 表 的 INSERT 权限从用户王平处收回,选项 CASCADE 表示,如果用户王平将 Student 的 INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。 15 、创建用户
16 、强制存取控制( MAC )是对数据本身进行密级标记,无论数据