第6章 数据库保护

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012-6-24
6.1.4.1 措施一:用户标识和鉴定
9
用户标识和鉴定常用的方法有: (1)用一个用户名或用户标识号标明用户身份。 (2)口令(Password) (3)系统提供一个随机数,用户根据预先约定好的 某一过程或者函数进行计算,系统根据用户计算 结果是否正确进一步鉴定用户身份。

用户标识和鉴定可重复多次

2012-6-24
6.3.3 X锁和S锁的控制方式
③ ROLLBACK C恢复为100
a.丢失修改 (见上例)
2012-6-24
c.读“脏”数据
6.3.3 封锁
31

事务对数据库操作之前,先对数据加锁获得这个数 据对象的一定控制,其他事务不能更新此数据直到 该事务解锁为止。 封锁的基本类型包括: 1.共享性封锁(share lock,称S锁,RLOCK) 2.排他性封锁(exclusion lock,称X锁, WLOCK)
2012-6-24
6.2.4 关于参照完整性的实现机制
1. 外码是否可接受空值; 2. 删除被参照关系元组时考虑三种处理方法; 第一种处理方法是级联删除 。 第二种处理方法是受限删除。 第三种处理方法是置空值删除。 3. 修改被参照关系中的主码时也要考虑三种处理 方法,即级联修改、受限修改、空值修改。
第6章 数据库保护
1

数据库中的数据由DBMS统一管理控制,为适应数 据共享的环境,DBMS必须提供数据的安全性、完 整性、并发控制和数据备份恢复等数据保护能力, 以保证数据库中的数据安全可靠和正确有效。 本章从五个方面介绍DBMS在数据保护方面的措施, 并结合SQL SERVER进行说明。

2012-6-24
2012-6-24 22
6.2 .4 SQL SERVER的完整性措施
23



1.实体完整性:主码唯一且不为空。 2.参照完整性:外码要么为空要么为被参照关系中 主码的一个值。 3.用户自定义完整性(约束、缺省、规则和触发器4 种方法实施完整性功能)。 4.触发器:一类靠事务驱动的特殊过程,一旦某个用 户定义,任何用户对该数据的增删改操作均由服务 器自动激发相应的触发器,在核心层进行集中的完 整性控制。触发器可实现非常复杂的完整性控制。
18

2012-6-24
6.2 .2 完整性约束条件
19


1.完整性约束条件是完整性控制的核心。 2.完整性约束条件的对象粒度有列级、元组 级和关系级。 3.状态可以是静态和动态。静态对象的约束 反映数据状态合理性的约束,动态对象的约 束反映数据状态变迁的约束。
2012-6-24
6.2 .2 完整性约束条件分类
29
首先考虑飞机订票系统中的一个活动序列 1.甲售票点读出某航班的机票余额A,设A=16。 2.乙售票点读出同一航班的机票余额A,也为16。 3.甲售票点卖出一张机票,修改余额A←A-1.所以A 为15,把A写回数据库。 4.乙售票点也卖出一张机票,修改余额A←A-1.所 以A为15,把A写回数据库。 结果,卖出两张机票而余额只减少1张

2012-6-24
T1
6.3.2 数据不一致性表
T2 T1 T2
T1
T2
30
① 读A=16
① 读A=50 读B=100 求和=150
读A=16 ② 读B=100 B=B*2 写回B
① 读C=100 C=C*2 写回C
② 读C=200

③ A=A-1 写回A=15 A=A-1 写回A=15 ③ 读A=50 读B=200 求和=250 (验算不对) b.不能重复读取
2012-6-24
6.3.2 并发操作与数据不一致性
28

对并发操作不进行合适的控制,可能会导致数据库 数据的不一致性。数据一致性级别有 1.丢失修改 2.不可重复读 3.读脏数据 原因:在于破坏的事务的隔离性,需要进行正确的 调度,使事务不受干扰。

2012-6-24
6.3.2 数据一致性级别
20
粒度状态 静态
列级 列定义 类型、长度 格式、值域 空值 改变列定义 或列值。
元组级
关系级
元组级应满足的 实体完整性约束 条件。 参照完整性约束 函数依赖约束 统计约束 元组新旧值之间 关 系 新 旧 状 态 间 应满足的约束条 应满足的约束。 件。
动态
2012-6-24
6.2.3 完整性控制
2012-6-24
6.1 数据安全性
4
主要内容包括:

6.1.1 6.1.2 6.1.3 6.1.4 6.1.5
数据安全性概念 数据库安全保密方式 计算机系统安全措施设置模型 数据库安全措施 SQL SERVER中的安全性措施
2012-6-24
6.1.1 数据库安全性概念
5

数据库的安全性是指保护数据库以防止不合法的 使用所造成的数据泄露、更改或破坏。系统安全 保护措施是否有效是数据库系统的主要性能指标 之一。 安全性问题和保密问题密切相关。前者主要涉及 数据的存取控制、 修改和传播的技术手段;后者 在很大程度上是法律、政策、伦理、道德等问题。 一些国家已成立了专门机构对数据的安全保密制 订了法律道德准则和政策法规。
2012-6-24

6.1.2 数据库安全保密方式
6

数据库安全保密方式有:系统处理的和物理的两个 方面。 所谓物理的是指,对于强力逼迫透露口令、在通讯 线路上窃听、 以至盗窃物理存储设备等行为而采取 的将数据编为密码,加强警卫以识别用户身份和保 护存储设备等措施。


所谓系统处理的是指利用计算机系统方面的技术手 段。本节主要讲述系统处理方面的数据库安全措施。
2012-6-24
6.3 并发控制


6.3.1 6.3.2 6.3.3 6.3.4
事务 并发操作与数据不一致性 封锁机制 串行操作和并行操作
26
2012-6-24
6.3.1 事务
27
1.事务(Transaction)是并发控制的单位,是一个 操作序列。这些操作要么都做,要么都不做,是 一个不可分割的工作单位。 2.性质:原子性、一致性、隔离性、持续性。 3.事务控制的三条语句 BEGIN TRANSACTION 表示事务开始 COMMIT 表示事务执行 ROLLBACK 表示事务回滚
2012-6-24
6.3 并发控制
25

一个数据库可以供多个用户同时使用,共享数据。 多个用户程序并发地存取同一数据,若对并发操作 不加控制就会存储和读取不正确的数据,会破坏数 据库的完整性(一致性),必须对数据库进行发控 制,才能确保信息不出错。

并发性能的好坏是衡量数据库性能的重要指标。
本节主要内容包括:并发控制的基本概念、封锁、 串行操作和并行操作。
2012-6-24
6.2 .4 SQL SERVER触发器例
24
例1:使用带有提醒消息的触发器。当有人试图在 titles 表 中添加或更改数据时,向客户端显示一条消息。消息 50009 是 sysmessages 中的用户定义消息。





USE pubs IF EXISTS (SELECT name FROM sysobjects WHERE name = 'reminder' AND type = 'TR') DROP TRIGGER reminder GO CREATE TRIGGER reminder ON titles FOR INSERT, UPDATE AS RAISERROR (50009, 16, 10) GO
14

目前很多数据产品都提供了数据加密例行程序,可 根据用户要求自动对数据进行加密处理;另外有一些 数据库产品虽本身未提供加密程序,但允许用户用 其他厂商的加密程序来加密数据。


解密程序本身一定要具有一定的安全性保护措施。
加密与解密很费时,会占用大量系统资源,因此, 一般作为数据库系统的可选功能,允许用户自由选 择。
2012-6-24
6.1.5 SQL SERVER中的安全性措施
15
SQL SERVER 具有较健全的安全性机制,设置了四 层安全防线,两种安全认证模式。


1.四层安全体系结构(操作系统安全防线,运行 安全防线,数据库的安全防线,数据库对象的安 全防线 ) 2.两种安全认证模式(集成安全模式,混合 ) 3.用户与角色管理
21
1.DBMS完整性控制应具备三方面的功能:定义功能、检查功能、 保证功能。定义功能即能提供定义完整性约束条件机制。
2.一般完整性规则的表示形式:(D,O,A,C,P) D代表约束条件的数据对象。 O代表触发完整性检查是立即检查还是延迟检查。 A代表数据对象必须满足的断言或语义约束,是规则主体。 C代表选择对A作用的数据对象值的谓词。 P代表违反完整性规则时触发执行的操作过程。


2012-6-24
6.1.4.5 安全措施五:数据加密
13

对高度机密性数据,通过采用数据加密技术, 以密码形式存储和传输,这样即使数据被窃 取,看到是无法辨识的二进制代码。

用户正常检索数据时,首先要提供密码钥匙, 经系统译码后,才能得到可识别的数据。
2012-6-24
6.1.4.5 安全措施五:数据加密
第6章 数据库保护主要内容
2


6.1 数据安全性 6.2 数据完整性 6.3 并发控制 6.4 数据库恢复 6.5 数据库复制和镜像 6.6 小结
2012-6-24
6.1 数据安全性
3




数据库系统的安全性是数据库保护的首要问 题。 安全性是相对的。 加强安全性是应用开发一个重要的方面。 安全性与保密性不可分。 本节主要讨论安全性的一般概念和方法,介 绍SQL Server数据库系统的安全性措施。
2012-6-24
6.1.4.2 安全措施二:存取控制

对于获得上机权的用户还要根据预先定义好的用 户权限进行存取控制,保证用户只能存取他有权 存取的数据。所谓用户权限是指不同的用户对于 不同的数据对象允许执行的操作权限,它由两部 分组成:数据对象和操作类型。
数据对象 模式、外模式、内模式 表或者记录、字段
4.权限管理
2012-6-24
6.2 完整性
16

数据库的完整性是指数据的正确性和相容性。
DBMS必须提供一种功能来保证数据库中数据的完 整性,称为完整性检查,即系统用一定的机制来检 查数据库中的数据是否满足规定的条件。

完整性检查很烦琐,要很细Baidu Nhomakorabea。 完整性检查会涉及到很多方面。
2012-6-24
2012-6-24
6.1.3 计算机安全措施设置模型

在一般计算机系统中,安全措施是一级一级层 层设置的。有如下的模型:
7
2012-6-24
6.1.4 数据库安全措施
8
数据库系统的安全措施是建立在计算机系统基础 之上的,通常有五个方面。 1. 用户标识和鉴定 2. 存取控制 3. 定义视图 4. 审计 5. 数据加密
2012-6-24
10
操作类型 建立、修改、检索 查找、插入、修改、删除
6.1.4.3 安全措施三:视图
11

视图主要用于保证程序的逻辑独立性,也还可将 机密数据隐藏起来,能提供一定程度的安全保护, 但不精细。 不同的DBMS都提供了建立视图的机制。 开发数据系统时应尽可能地为不同的用户建立相 应的视图来访问数据。 如建立一个“信息管理系学生视图”
6.2 完整性
17


6.2 .1 6.2 .2 6.2 .3 6.2 .4
完整性的概念 完整性约束条件 完整性控制 SQL SERVER中的完整性措施
2012-6-24
6.2.1 完整性的概念

1. 数据的完整性和安全性。前者是为了防止数据库 中存在不符合语义的数据, 防止错误信息的输入和 输出,而后者是保护数据库防止恶意的破坏和非法 的存取,防止非法用户的不合法操作,当然,完整 性和安全性是密切相关的,特别是从系统实现的方 法来看,某一种机制常既可用于安全性保护亦可用 于完整性保证。 2. 完整性包括:完整性约束条件和完整性控制。


2012-6-24
6.1.4.4 安全措施四:审计
12

审计是一种预防手段,监测可能的不合法访问。 审讯追踪技术使用专用文件或数据库自动记录用户 对数据库的所有操作,利用这些信息就能找出非法 存取数据的人。 审讯追踪很费时间和空间,一般DBMS只作为一种可 选的特性,可灵活地打开或关闭审计功能。 审计功能一般用于安全性要求较高的部门。
相关文档
最新文档