徐州工程学院教案
20 年至20 年第学期第周星期
徐州工程学院教案
6.1 数据库的安全性
随着数据库技术的应用普及,存储的数据越来越有价值。
一旦这些信息暴露,其后果不堪设想。
因此,数据库中的数据必须得到有力的保护。
数据库的特点之一是由DBMS提供统一的数据保护功能,保证数据的安全可靠和正确有效。
数据库的数据保护包括数据的安全性和数据的完整性。
6.1.1计算机系统的安全性
计算机系统的安全性就是指计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的软硬件等资源,不因各种有意、无意的原因而遭到破坏、泄密等,使计算机系统的全部资源保持其正常状态。
计算机系统的安全性不仅涉及到计算机系统本身的技术问题、管理问题,还涉及法学、犯罪学、心理学等问题,其内容包括计算机安全理论与策略、计算机安全技术、安全管理、安全评价、安全产品,以及计算机犯罪与侦察、计算机安全法律等。
概括起来,计算机系统的安全性问题可分为技术安全类、管理安全类和政策法律类三大类。
因此计算机系统的安全性是一个跨学科的问题,有兴趣的读者可以参考相关文献。
6.1.2数据库的安全性
数据库的安全性就是指保护数据库,防止因用户非法使用造成的数据泄露、更改或破坏。
非法使用是指不具有数据操作权的用户进行了越权的数据操作。
6.1.3 安全性控制的一般方法
数据库的安全性控制就是指要尽可能地杜绝所有可能的数据库非法访问。
在计算机系统中,安全措施是逐级层层设置的,如图6-1所示就是一种常用的安全性控制模型。
图6-1 计算机系统安全控制模型
1.用户标识和鉴定
用户标识和鉴定是系统提供的最外层的安全保护措施,其基本方法是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核实,通过鉴定后才提供系统的使用权。
用户标识和鉴定的方法有很多种,在使用中常常是多种方法并用,以求更强的安全性。
2.存取权限控制
6.1.5 SQL Server的安全性控制
数据库建立之后,数据的安全性最为重要。
SQL Server提供了一套设计完善、操作简单的安全管理机制。
SQL Server的安全体系结构
SQL Server 的安全体系结构由4层构成,如图6-2所示。
图6-2 SQL Server 2000 的安全体系结构
6.2 数据库完整性
●封锁是实现并发控制的一个非常重要的技术
例如:在飞机订票例子中,甲事务要修改A,若在读出A前先锁住A,其他事务就不能再读取和修改A了,直到甲修改并写回A后解除了对A的封锁为止。
这样,就不会丢失甲事务的修改。
一、基本的封锁类型:
基本封锁类型:
排它锁(Exclusive locks,简记为X锁)
共享锁(Share locks,简记为S锁)
三、排它锁与共享锁的控制方式(锁的相容矩阵)
T2
T1
X S
X(排它)S(共享)
-- NO
NO
YES
NO
YES
YES
6.3.4 封锁协议
●封锁协议(Locking Protocol):在运用X锁和S锁对数据对象加锁时约定的规则叫封锁协议。
封锁协议包括如下信息:
◆何时申请X锁或S锁。
◆持锁时间、何时释放等。
●对封锁方式规定不同的规则,就形成了各种不同的封锁协议。
不同的封锁协议,在不同的程
度上为并发操作的正确调度提供一定的保证。
●常用的封锁协议:三级封锁协议
一、一级封锁协议
◆一级封锁协议:事务T在修改数据R之前必须先对其加X锁(排它),直到事务结束才释放。
一级封锁协议操作如下(保证没有丢失修改):
没有丢失修改
事务T1 事务T2
① Xlock A
获得
②读A=16
③A←A-1 写回A=15 Commit Unlock A
④
⑤
Xlock A
等待
等待
等待
等待
获得Xlock A 读A=15
A←A-1
写回A=14
Commit Unlock A。