2013年自考《数据库原理》串讲-数据库保护
第六章 数据库保护
本章不是重点章节,主要内容包括数据库保护的四种措施,数据库的恢复、并发控制、完整性和安全性。了解这些内容及其在SQL语言中的实现方式。
一、数据库的恢复( 领会 )
1、 事务的概念 : 事务是一个操作序列 .这些操作要么什么都做,要么都不做,是一个 不可分割 的工作单位。事务以BEGIN TRANSACTION语句开始,以COMMIT(提交)语句或ROLLBACK(回退或撤消)语句结束。
一个程序的执行可通过若干事务的执行序列来完成。
2、 事务的性质 : 原子性 (atomicity)、 一致性 (consistency)、 隔离性 (isolation)和 持久性 (durability)。称为事务的ACID性质。
通过教材的例子来理解事务的性质 .
3、故障类型和恢复方法
4、恢复的基本原则和实现方法
恢复的基本原则 很简单,就是“ 冗余 ”,即数据的重复存储 .
实现方法有:
(1)定期对数据库进行 复制 或转储(dump)。注意几个概念:静态转储、动态转储、海量转储和增量转储。
(2)建立“ 日志 ”文件。
(3) 恢复 .发生故障时有两种处理方法,如数据库已破坏,则由DBA装入最近备份的数据库然后利用“日志文件”执行REDO(重做)操作。如数据库未被损坏,但某些数据不可靠,则系统会自动执行UNDO操作恢复数据。
5、 运行记录优先原则 (即 先记录,再更新,先记完,再结束 )
(1)至少要等相应的运行记录已经写入“日志”文件后,才能允许事务往数据库在写数据。
(2)直到事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。
6、SQL中的恢复操作,可上机观察。
二、数据库的并发控制( 领会 )
1、并发控制带来的三类问题:
(1)丢失更新的问题
(2)不一致分析问题
(3)“脏数据”的读出。(在数据库技术中,未提交的随后又被撤消的数据为“脏数据”。)
2、为解决并发控制带来的问题,通常要采用 封锁 (locking)技术,常用的封锁有:排它型封锁( X封锁) 和共享型封锁( S封锁 )两种。
X封锁的规则称为 PX协议 ,其内容为:任何企图更新记录R的事务必须先执行LOCK X(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁。如果未获得X封锁,那么这个事务进入等待状态,一直到获准X封锁,事务继续进行。
简记为: 先锁X,再执行,取不到,就等待。
PXC协议 :它由PX协议及一条规则“X封锁必须保留到 事务终点 (COMMIT或ROLLBACK)”组成。
S封锁的规则称为 PS协议 :其内容为:任何要更新记录R的事务必须先执行LOCK S(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下去。当事务获准对记录R的要封锁后,在记录R修改前必须把S封锁升级为X封锁。
简记为: 先锁S,再执行,锁不到,就等待,若要修改则升X .
PSC协议:由PS协议和“将S封锁保持到事务终点”组成。
3、 活锁 :是指某个事务永远处于等待状态,得不到执行的现象。避免活锁的方法是采用“先来先服务”策略。
死锁 :有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。
解除死锁的方法是由DBMS中的“死锁测试程序”来检查,如发现死锁则牺牲一个事务,并做回退操作,解除它的所有封锁。
4、 两段封锁法 ( 识记 )
两段封锁协议规定所有事务都要遵守下列规则:(1)在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁;(2)在释放一个封锁之后,事务不再获得任何其他封锁。
针对课本的例子来理解。
三、数据库的完整性( 领会 )
1、数据库的 完整性 是指数据的 正确性和相容性 .数据库中数据发生错误,往往是由非法更新引起的。
数据库完整性是通过DBMS的 完整性子系统 实现的,它有两个功能:
(1)监督事务的执行,并测试是否违反完整性规则。
(2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。
数据库完整性子系统 是根据“ 完整性规则集 ” 工作的,这些完整性规则包括: 域 完整性规则、 域联系 的规则、 关系完整性 规则(一个比一个大)
2、SQL中的完整性约束
在SQL中,表达完整性约束的规则有 主键约束 、 外键约束 、 属性值约束 和 全局约束等 多种形式。
主键约束:可用主键子句或主键短语 PRIMARY KEY 来定义。
外键约束:可用外键子句来定义如 FOREIGN KEY (S#) REFERNCE S(S#)
属性值约束:包括非空值约束( NOT NULL )和基于属性的检查子句( CHECK ) 及域约束子句 如 CREAT DOMAIN AGE SMALLINT CHECK (value>10)
全局约束:包括基于元组的检查子句( CHECK )和断言( CREATE ASSERTION 断言名 CHECK 条件)。
四、数据库的安全性( 识记 )
数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。
1、安全性级别:包括 环境级 、 职员级 、 OS级 、 网络级 和 数据库系统级 .
2、用户或应用程序 使用数据库的方式称为权限 ,权限的种类:
访问数据权限: 读、插入、修改、删除 四种
修改数据库模式权限: 索引 (创建或删除索引)、 资源 (创建新关系)、 修改 (增删关系结构属性)和 撤消权限 (撤消关系)
3、权限的转授与回收:画一个 权限图 ,只要根结点到用户结点之间存在一条 路径 ,那么它就有权限,回收时就是删去某些路径。
4、SQL中的安全性控制
SQL中有两个安全机制:一是 视图机制 、二是 授权子系统 .
视图是从一个或几个 基本表 导出的表,是 虚表 ,视图定义后可以像基本表一样用于查询和删除,但其 更新操作(增、删、改) 会受到限制。
视图机制 把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据,从而保证了数据库的安全性。视图机制使系统具有 三个优点 : 数据安全性 、 数据独立性 和 操作简便性 .
授权机制 可以保证用户只能进行其权限范围内的操作。
6、数据加密可更好地保证数据库中数据的安全性,采用加密算法给把源文变为密文来实现。常用的加密算法有“ 替换方法 ”和 明键加密法 .
同时,为保证数据库的安全,也应注意自然环境的安全性。
最新资讯
- 考前必背!自学考试《中国近现代史纲要》论述题高频考点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