数据库原理第六章数据库保护
编辑整理:深圳自考网 发布时间:2018-05-23 12:26:53阅读数:
第六章 数据库保护
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]
本文标签:深圳自考 串讲笔记 数据库原理第六章数据库保护
转载请注明:文章转载自(http://www.zikaosz.com)
《深圳自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com