数据库原理第六章数据库保护
编辑整理:浙江自考网 发表时间:2018-05-23 【大 中 小】
第六章 数据库保护
93. 事务的概念:
事务是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境中的“进程”概念。事务以BEGIN TRANSACTION 语句开始,以COMMIT语句或ROLLBACK语句结束。
94. 事务的性质:
事务必须有四个性质:
(1) 原子性:一个事务中所有对数据库操作是一个不可分割的操作序列。事务要么完事地被全部执行,要么什么也不做。
(2) 一致性:一个事务独立执行的结果将保证数据库的一致性,即数据不会因事务的执行而遭受破坏。
(3) 隔离性:在并发事务被执行时,系统应保证与这些事务先后单独执行时的结果一样,此时达到了隔离性要求。
(4) 持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。
上述的四个性质称为事务的ACID性质。
95. 数据库系统中可能发生的故障:
(1) 事务故障:通常分为两种:非预期的事务故障(溢出、死锁),可预期的事务故障(可发现可撤消的)
(2) 系统故障:在硬件故障,软件错误的影响下,虽引起内存信息丢失,但未破坏外存中的数据。这种情况称为故障终止假设。系统故障通常称为软故障。
(3) 介质故障:这类故障将破坏数据库,并影响正在存取这部分数据的所有事务。介质故障通常被称为硬故障、磁盘故障。
96. 数据库恢复可以用哪些方法实现:
(1) 定期对整个数据库进行复制或转储。
1) 转储可分为静态转储和动态转储。
静态转储:转储期间不允许(或不存在)对数据库进行任何存取、修改活动。
动态转储:转储期间允许对数据库进行存取或修改,即转储和用户事务可以并发执行。
2) 还可分为海量存储和增量转储
海量存储:每次转储全部数据库
增量转储:每次只转储上次转储后更新的数据。
(2) 建立“日志”文件
(3) 恢复
1) 如果数据库已被破坏,就装入最近一次备份的数据库,然后利用“日志”文件执行REDO操作。
2) 数据库未被损坏,但某些数据可能不可靠。不必复制存档的数据库,只要通过“日志”文件执行UNDO操作,把已经结束的不可靠的事务进行REDO处理。
97. 运行记录优先原则:
(1) 至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。
(2) 直到事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。
98. 数据库的并发操作会带来哪些问题:
(1) 丢失更新问题
(2) 不一致分析问题
(3) “脏数据”的读出
99. 常见的封锁有哪两种:
排它型封锁(X封锁)和共享型封锁(S封锁)
100. 两段封锁协议规定所有事务要遵守哪些规则:
(1) 在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁。
(2) 在释放一个封锁之后,事务不再获得任何其它封锁。
所谓两段,就是每个事务分成前后两个阶段:增生阶段和收缩阶段。
增生阶段:也称为扩展阶段或申请封锁阶段。在增生阶段中,事务可申请封锁,但不能解除任何已取得的封锁。
收缩阶段:也称为释放封锁阶段。在收缩阶段中,事务可释放封锁,但是不能申请新的封锁。
101. 两段封锁法与可串行化调度的关系:
如果所有事务都是两段式的,那么它们的并发调度是可串行化的。两段式封锁是可串行化的充分条件,但不是必要条件。如果存在事务不遵守两段封锁协议,那么它们并发调度也许是可串行化的,也许不是。
102. 对数据库的非法更新有几种:
(1) 数据本身是错误的,输入时,就按错误的数据输入。
(2) 数据原来是正确的,由于操作或程序的错误,造成插入时变成错误的数据。
(3) 由于系统故障,使数据发生错误。
(4) 若干事务的并发执行产生不正确的数据。
(5) 人为地故意破坏。
103. 完整性子系
93. 事务的概念:
事务是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境中的“进程”概念。事务以BEGIN TRANSACTION 语句开始,以COMMIT语句或ROLLBACK语句结束。
94. 事务的性质:
事务必须有四个性质:
(1) 原子性:一个事务中所有对数据库操作是一个不可分割的操作序列。事务要么完事地被全部执行,要么什么也不做。
(2) 一致性:一个事务独立执行的结果将保证数据库的一致性,即数据不会因事务的执行而遭受破坏。
(3) 隔离性:在并发事务被执行时,系统应保证与这些事务先后单独执行时的结果一样,此时达到了隔离性要求。
(4) 持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。
上述的四个性质称为事务的ACID性质。
95. 数据库系统中可能发生的故障:
(1) 事务故障:通常分为两种:非预期的事务故障(溢出、死锁),可预期的事务故障(可发现可撤消的)
(2) 系统故障:在硬件故障,软件错误的影响下,虽引起内存信息丢失,但未破坏外存中的数据。这种情况称为故障终止假设。系统故障通常称为软故障。
(3) 介质故障:这类故障将破坏数据库,并影响正在存取这部分数据的所有事务。介质故障通常被称为硬故障、磁盘故障。
96. 数据库恢复可以用哪些方法实现:
(1) 定期对整个数据库进行复制或转储。
1) 转储可分为静态转储和动态转储。
静态转储:转储期间不允许(或不存在)对数据库进行任何存取、修改活动。
动态转储:转储期间允许对数据库进行存取或修改,即转储和用户事务可以并发执行。
2) 还可分为海量存储和增量转储
海量存储:每次转储全部数据库
增量转储:每次只转储上次转储后更新的数据。
(2) 建立“日志”文件
(3) 恢复
1) 如果数据库已被破坏,就装入最近一次备份的数据库,然后利用“日志”文件执行REDO操作。
2) 数据库未被损坏,但某些数据可能不可靠。不必复制存档的数据库,只要通过“日志”文件执行UNDO操作,把已经结束的不可靠的事务进行REDO处理。
97. 运行记录优先原则:
(1) 至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。
(2) 直到事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。
98. 数据库的并发操作会带来哪些问题:
(1) 丢失更新问题
(2) 不一致分析问题
(3) “脏数据”的读出
99. 常见的封锁有哪两种:
排它型封锁(X封锁)和共享型封锁(S封锁)
100. 两段封锁协议规定所有事务要遵守哪些规则:
(1) 在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁。
(2) 在释放一个封锁之后,事务不再获得任何其它封锁。
所谓两段,就是每个事务分成前后两个阶段:增生阶段和收缩阶段。
增生阶段:也称为扩展阶段或申请封锁阶段。在增生阶段中,事务可申请封锁,但不能解除任何已取得的封锁。
收缩阶段:也称为释放封锁阶段。在收缩阶段中,事务可释放封锁,但是不能申请新的封锁。
101. 两段封锁法与可串行化调度的关系:
如果所有事务都是两段式的,那么它们的并发调度是可串行化的。两段式封锁是可串行化的充分条件,但不是必要条件。如果存在事务不遵守两段封锁协议,那么它们并发调度也许是可串行化的,也许不是。
102. 对数据库的非法更新有几种:
(1) 数据本身是错误的,输入时,就按错误的数据输入。
(2) 数据原来是正确的,由于操作或程序的错误,造成插入时变成错误的数据。
(3) 由于系统故障,使数据发生错误。
(4) 若干事务的并发执行产生不正确的数据。
(5) 人为地故意破坏。
103. 完整性子系
[1]
浙江自考网课程中心
浙江自考网声明:
1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。