数据库技术及应用第8章数据库保护.ppt
《数据库技术及应用第8章数据库保护.ppt》由会员分享,可在线阅读,更多相关《数据库技术及应用第8章数据库保护.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 数据库保护数据库保护 数据库技术及应用第8章数据库保护 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第8 8章章 数据库保护数据库保护 8.1 数据库的安全性数据库的安全性 数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄密、更改或破坏。影响数据库安全的因素很多,包括软、硬件故障(如操作系统、DBMS故障或CPU存储介质故障)、非法对数据库存取、操作人员的误操作、自然灾害、人为的破坏与盗窃以及计算机病毒等。本节只讨论计算机系统在保证
2、数据库安全方面的安全措施。第第8 8章章 数据库保护数据库保护 在一般计算机系统中,安全措施是层层设置的。图8-1所示是常见的计算机系统安全模型。第第8 8章章 数据库保护数据库保护 图8-1计算机系统的安全模型第第8 8章章 数据库保护数据库保护 8.1.1用户标识与鉴别1.确认用户名用一个用户名或者用户标识号表明用户身份,系统内部记录着所有合法用户的标识。2.口令为了进一步核实用户,系统常常要求用户输入口令,只有口令正确才能进入系统。第第8 8章章 数据库保护数据库保护 3.约定计算过程通过用户名和口令鉴别用户的方法简单易行,但用户名和口令容易被人窃取。4.利用用户具有的物品钥匙就是属于这
3、种性质的鉴别物,在计算机系统中常用磁卡作为身份凭证。5.利用用户的个人特征指纹、声音等都是用户的个人特征。第第8 8章章 数据库保护数据库保护 8.1.2存取控制1.存取控制机制的构成存取控制机制主要包括以下两部分:(1)定义用户权限,且将用户权限登记到数据字典中。(2)合法用户检查。第第8 8章章 数据库保护数据库保护 2.存取机制的类别当前的DBMS一般都支持自主存取控制,有些大型的DBMS同时还支持强制存取控制。(1)自主存取控制。(2)强制存取控制。第第8 8章章 数据库保护数据库保护 8.1.3视图机制视图的一个优点就是可以对机密的数据提供安全保护。在系统中,可以为不同的用户定义不同
4、的视图,通过视图把数据对象限制在一定范围内,把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。第第8 8章章 数据库保护数据库保护 8.1.4数据加密对于高度敏感数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。1.替换方法该方法使用密钥将明文中的每一个字符转换为密文中的字符。2.置换方法该方法仅将明文的字符按不同的顺序重新排列。第第8 8章章 数据库保护数据库保护 8.1.5审计审计日志包括以下内容:(1)操作类型(例如,修改、查询等)。(2)操作终端标识与操作者标识。(3)操作日期和时间。(4)所涉及的数据(例如,表、视图、记
5、录、属性等)。(5)操作前的数据和操作后的数据。第第8 8章章 数据库保护数据库保护 8.1.6用户定义的安全性措施除了利用数据库管理系统提供的安全性功能外,还可以使用触发器定义一些用户级的安全性措施。例如,最典型的用户定义的安全性控制措施是:可以规定用户只能在指定的时间内对表进行更新操作。第第8 8章章 数据库保护数据库保护 8.2 数据库的完整性数据库的完整性 8.2.1完整性约束条件完整性检查是围绕完整性约束条件进行的。因此,完整性约束条件是完整性控制机制的核心。第第8 8章章 数据库保护数据库保护 1.静态列级约束静态列级约束是对一个列的取值域的说明,这是最常用、也最容易实现的一类完整
6、性约束。静态列级约束包括以下几个方面:(1)对数据类型的约束。(2)对数据格式的约束。(3)对取值范围或取值集合的约束。(4)对空值的约束。(5)其他约束。第第8 8章章 数据库保护数据库保护 2.静态元组级约束一个元组是由若干个属性值组成的。静态元组级约束是对元组的属性组值的限定,及规定了属性之间的值或结构的相互制约关联。3.静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种关联或制约约束,这种约束称为静态关系约束。常见的静态关系约束有实体完整性约束、参照完整性约束、函数依赖约束和统计约束。第第8 8章章 数据库保护数据库保护 4.动态列级约束动态列级约束是指修改列定义或修改列
7、值时必须满足的约束条件。(1)修改列定义时的约束。例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。(2)修改列值时的约束。修改列值有时需要参照其旧值,并且新、旧值之间需要满足某种约束条件。例如,职工的工龄只能增加,职工的工资不得低于原来的工资等。第第8 8章章 数据库保护数据库保护 5.动态元组级约束动态元组级约束是指当修改元组的值时,元组中字段组或字段间需要满足某种约束。6.动态关系约束动态关系约束是加在关系变化前、后状态上的限制条件。第第8 8章章 数据库保护数据库保护 表8-1完整性约束条件第第8 8章章 数据库保护数据库保护 8.2.2完整性控制1.完整性
8、控制机制应具有的功能DBMS的数据库完整性控制机制应具有三个方面的功能:(1)定义功能,即提供定义完整性约束条件的机制。(2)检查功能,即检查用户发出的操作请求,看其是否违背了完整性约束条件。(3)保护功能,即监视数据操作的整个过程,如果发现有违背了完整性约束条件的情况,则采取一定的动作来保证数据的完整性。第第8 8章章 数据库保护数据库保护 2.立即执行约束和延迟执行约束根据完整性检查的时间不同,可把完整性约束分为立即执行约束和延迟执行约束。第第8 8章章 数据库保护数据库保护 8.3 数据库的并发控制数据库的并发控制8.3.1事务及并发控制的基本概念事务是多用户系统的一个数据操作基本单元。
9、由于多用户数据库的事务非常多,如果事务串行执行,即每个时刻只有一个用户程序运行,而其他用户程序必须等到这个用户程序结束以后才能运行,这样就会浪费大量的系统资源。第第8 8章章 数据库保护数据库保护 8.3.2并发操作引起的问题下面我们以火车定票系统为例,说明并发操作带来的问题。假如,火车定票系统中有这样一个活动序列(如图8-2(a)所示):(1)甲售票点(甲事务)读出某车次的车票余额A,设A=20。(2)乙售票点(乙事务)读出同一车次的车票余额A,也为20。第第8 8章章 数据库保护数据库保护 (3)甲售票点卖出一张车票,修改余额AA-1,所以A为19,把A写回数据库。(4)乙售票点也卖出一张
10、车票,修改余额AA-1,所以A为19,把A写回数据库。第第8 8章章 数据库保护数据库保护 图8-2三种数据不一致性的实例(a)丢失修改;(b)不可重复读;(c)读“脏”数据第第8 8章章 数据库保护数据库保护 1.丢失修改两个事务T1和T2读入同一数据并进行修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失,如图8-2(a)所示。2.不可重复读不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。第第8 8章章 数据库保护数据库保护 具体地讲,不可重复读包括三种情况:(1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 应用 数据库 保护
限制150内