自考数据库原理第六章数据库保护
第六章 数据库保护
93. 事务的概念:
事务是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境中的“进程”概念。事务以BEGIN TRANSACTION 语句开始,以COMMIT语句或ROLLBACK语句结束。
94. 事务的性质:
事务必须有四个性质:转自环 球 网 校edu24ol.com
(1) 原子性:一个事务中所有对数据库操作是一个不可分割的操作序列。事务要么完事地被全部执行,要么什么也不做。
(2) 一致性:一个事务独立执行的结果将保证数据库的一致性,即数据不会因事务的执行而遭受破坏。
(3) 隔离性:在并发事务被执行时,系统应保证与这些事务先后单独执行时的结果一样,此时达到了隔离性要求。
(4) 持久性:一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。
上述的四个性质称为事务的ACID性质。
95. 数据库系统中可能发生的故障:
(1) 事务故障:通常分为两种:非预期的事务故障(溢出、死锁),可预期的事务故障(可发现可撤消的)
(2) 系统故障:在硬件故障,软件错误的影响下,虽引起内存信息丢失,但未破坏外存中的数据。这种情况称为故障终止假设。系统故障通常称为软故障。
(3) 介质故障:这类故障将破坏数据库,并影响正在存取这部分数据的所有事务。介质故障通常被称为硬故障、磁盘故障。
96. 数据库恢复可以用哪些方法实现:
(1) 定期对整个数据库进行复制或转储。
1) 转储可分为静态转储和动态转储。
静态转储:转储期间不允许(或不存在)对数据库进行任何存取、修改活动。
动态转储:转储期间允许对数据库进行存取或修改,即转储和用户事务可以并发执行。
2) 还可分为海量存储和增量转储
海量存储:每次转储全部数据库
增量转储:每次只转储上次转储后更新的数据。
(2) 建立“日志”文件转自环 球 网 校edu24ol.com
(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) 监督事务的执行,并测试是否违反完整性规则。
(2) 如有违反现象,则采取恰当的操作。
104. 完整性规则:
完整性规则集是由数据库管理员或应用程序员事先向完整性子系统提供有关数据约束的一组规则。每个规则由三部分组成:
(1) 什么时候使用规则进行检查(触发条件)
(2) 要检查什么样的错误(约束条件,谓词)
(3) 若检查出错误,该怎样处理(ELSE子句)
在关系数据库中,完整性规则可分为三类:
(1) 域完整性规则,定义属性的取值范围。
(2) 域联系的规则,定义在一个或多个关系中,属性值间的联系、影响和约束。
(3) 关系完整性规则,定义更新操作对数据库中值的影响和限制。
105. SQL中的完整性约束规则有哪些:
(1) 主键约束:主键值不允许空,也不允许出现重复。用主键子句:“PRIMARY KEY (S#)”或主键短语:在属性S#的定义后加上“PRIMARY KEY”字样来定义。
(2) 外键约束:用外键子名定义外键。如“FOREIGN KEY (S#)REFERENCES S(S#)”
(3) 在属性值上的约束:1)非空值约束“NOT NULL”2)基于属性的检查子句“CHECK”3)域约束子句“CREATE DOMAIN ……CHECK”
(4) 全局约束:基于元组的检查子句(CHECK)和断言(CREATE ASSERTION……CHECK)。
106. 数据库的安全性:
是指保护数据库,防止不合法的使用,以免数据的泄漏、非法更改和破坏。对数据库不合法的使用称为数据库的滥用。数据库的滥用可分为无意的和恶意的两类。
无意的滥用容易发生系统故障,并发访问数据库时引起异常现象以及违反数据完整性约束等逻辑错误。
恶意的滥用主要是指未经授权的读取数据(即偷窃信息)和未经授权的修改数据(即破坏数据)。
107. 数据库的完整性与安全性的区别:
数据库的完整性是指尽可能避免对数据库的无意的滥用;
数据库的安全性是指尽可能避免对数据库的恶意的滥用。
108. 用户的权限:
用户(或应用程序)使用数据库的方式称为权限。访问数据库的权限有如下几种:
(1) 读权限
(2) 插入权限
(3) 修改权限
(4) 删除权限。
修改数据库模式的权限:
(1) 索引权限
(2) 资源权限
(3) 修改权限
(4) 撤消权限
最新资讯
- 考前必背!自学考试《中国近现代史纲要》论述题高频考点2024-10-19
- 自考报考策略:科学搭配科目,加速毕业进程2024-07-20
- 2025年考研考生五一假期,英语科目应该如何复习?2024-05-03
- 备考指南!2024年4月自学考试考前要做哪些准备?2024-03-31
- 考前备考冲刺!自考如何一次就过?2024-03-30
- 考点汇总:《中国近现代史纲要》论述题2024-03-25
- 备考资料:《中国近现代史纲要》简答题考点汇总2024-03-25
- 自考可以从哪些维度进行备考?2024-02-17
- @自考生,这里有备考技巧2024-02-17
- 自学考试备考复习方法!建议收藏2024-02-16