- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 5 章 数据库的安全与保护 数据库的安全与保护 5.1 安全与保护概述 5.2 数据库的安全性保护 5.3 数据库的完整性保护 5.4 数据库的并发控制技术 5.5 数据库的恢复技术 5.6 数据库的复制与相关技术 5.1 安全与保护概述(1) 1、造成数据库的数据不正确,甚至被破坏的主要原因有: ⑴ 自然的或人为的破坏:比如火灾、计算机病毒或未被授权人有意篡改数据等。 ⑵ 对数据库数据的更新操作有误:如操作时输入的数据有误或存取数据库的应用程序有错等等。 ⑶ 数据库的并发操作引起数据的不一致性。 ⑷ 数据库系统的软、硬件故障造成数据被破坏。 安全与保护概述(2) 2、DBMS层所提供的数据库安全和保护功能: ⑴ 安全性(security)保护:即防止非法用户对数据库的非法使用,以避免数据的泄露、篡改或破坏。 ⑵ 完整性(integrity)保护:即保证数据的正确性和一致性 ⑶ 并发控制(concurrent control):即保证多用户能共享数据库,并维护数据的一致性。 ⑷ 数据库恢复(database recovery):即在系统失效后的数据库恢复,配合定时备份数据库,使数据库不丢失数据。 返回 5.2 数据库的安全性保护 5.2.1 用户鉴别 DBMS鉴别一个用户是否为合法用户是DBMS提供的最外层安全性保护措施。 DBMS提供了一定的工具和命令,让DBA创建和定义合法用户,并对每个合法用户赋予一定的角色。 5.2.2 存取权限控制(1) 1、对每个用户,可以定义以下两种存取控制权限: ⑴ 数据对象权限:规定了用户使用数据库中数据对象的范围; ⑵ 操作类型权限:规定了用户在可使用数据对象上能执行的操作; 2、授权:DBA定义一个用户存取权限的过程,即DBA通过DBMS提供的命令或工具规定一个用户可以使用哪些数据对象并可对其执行什么类型的操作。 存取权限控制(2) 存取权限控制(3) 3.存取控制权的管理方式: ⑴ 集中方式:由DBA定义每个用户的权限; ⑵ 分散方式:由用户将自己拥有的全部或部分权限授予其他用户。 5.2.3 视图机制 通过视图(外模式)机制可限制用户使用数据的范围,从而自动地对数据提供一定程度的安全保护。 5.2.4 跟踪审查 1、跟踪审查:一种事后监视的安全性保护措施,它跟踪数据库的访问活动,以发现数据库的非法访问,达到安全防范的目的。 2、跟踪审查记录:记录跟踪审查结果一个特殊文件。一般包括下列内容: ⑴ 操作类型(例如修改、查询等) ⑵ 操作终端标识与操作者标识 ⑶ 操作日期和时间 ⑷ 所涉及的数据 ⑸ 数据的前像和后像 5.2.5 数据加密存储 1、对数据进行加密存储和传输是DBMS提供的另一种数据安全性保护措施。 2、商品化DBMS一般都提供了数据加密例行程序,可根据用户的要求自动对存储和传输的数据进行加密处理。即使未提供这种加密程序,一般也提供了接口,允许用户使用其它厂商推出的加密程序对数据加密。 3、由于数据的加密与解密是比较费时的操作,而且数据加密与解密程序会占用大量系统资源,一般只对高度机密的数据加密。 5.3 数据库的完整性保护 5.3.1 完整性约束的分类 5.3.2 完整性控制 5.3.3 触发器 5.3.1 完整性约束的分类(1) 1、完整性和安全性的关系:它们是数据库保护的两个不同的方面。 安全性是防止用户非法使用数据库,包括恶意破坏和越权存取数据,即防范的对象是非法用户和非法操作。 完整性则是防止合法用户使用数据库时向数据库中加入不合语义的数据,即防范的对象是不合语义的数据。 完整性约束的分类(2) 2、完整性约束条件的作用对象有:列、元组和关系三种级别. 3、完整性约束条件的作用状态有:静态约束条件和动态约束条件两种。 4、完整性约束的分类(方法1): ⑴ 静态列级约束。 ⑵ 静态元组约束。 ⑶ 静态关系约束。 ⑷ 动态列级约束。 ⑸ 动态元组约束。⑹ 动态关系约束 5.3.2 完整性控制(1) 1、DBMS完整性控制应具有的功能:DBMS应该允许用户定义以上所有六类完整性约束条件,并具有以下三个方面的功能: ? 定义功能:为用户提供定义完整性约束条件的命令或工具。 ? 检查功能:能够自动检查用户发出的操作请求是否违背了完整性约束条件。 ? 保护功能:当发现用户的操作请求使数据违背了完整性约束条件时,能够自动采取一定的措施确保数据的完
文档评论(0)