数据库技术及应用 教学课件 作者 陆桂明 05 数据库保护技术.ppt
文本预览下载声明
数据库技术及应用第五章 数据库保护技术 目录 本章从完整性控制、安全性控制、并发控制、数据库恢复四个方面来介绍数据库的安全与保护功能,读者应掌握安全性(Security)、完整性(Integrity)、 并发控制(Concurrent Control)和数据库恢复(Recovery)的含义,掌握这四个方面的分别实现 安全保护功能的方法。 5.1 安全与保护概述 DBMS层所提供的如下数据库安全和保护功能: 5.2 数据库的完整性(Integrity) 数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 比如年龄属于数值型数据,只能含0,1,…9,不能含字母或特殊符号;月份只能用1~12之间的正整数表示;性别只能是男或者女等等。表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个学号。 维护数据库的完整性非常重要,数据库中的数据是否具备完整性关系到数据能否真实地反映现实世界。因此维护数据的完整性是非常重要的。 5.2.1数据库的完整性分类 1. 实体完整性 实体完整性也就是对主码的约束,在关系中,主码不能为空,也不允许重复出现。实体完整性的定义可在创建基本表时说明,也可在修改基本表时增加或删除。说明方式有两种:列级说明和表级说明。 2. 参照完整性 参照完整性也就是对外码进行约束,在关系中,外码的取值或者是空值,或者是参照被参照关系的相应属性列的取值。参照完整性简单地说就是表间主码外码的关系,其属于表间规则。 3. 用户定义完整性 用户定义完整性是指用户为了满足特定的要求而做的一些与数据完整性有关的一些定义,主要体现实际运用的业务规则,可在列 级和表级上定义。 5.2.2数据库的完整性约束 为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中数据的完整性。保证数据库中数据的完整性的方法之一是设置 完整性检验,即DBMS检查数据是否满足完整性条件的机制。 5.2.2.1完整性约束类型 1.静态约束 静态约束是指数据库每个确定状态所应满足的约束条件,是反映数据库状态合理性的约束,这是重要的一类完整性约束。又可分为下面三种: 1) 固有约束:指数据模型固有的约束,例如关系的属性应当是原子 的,即满足1NF的约束。 2) 隐含约束:指隐含于数据模式中的约束,一般用DDL语句说明, 并存于数据目录中,例如域完整性约束、实体完整性约束以及引用 完整性约束,都用相应的DDL语句说明。 3) 显式约束:数据完整性是多种多样的,且依赖于数据的语义和应 用,这些约束只有显式地说明,故称显式约束。 2.动态约束 动态约束是指数据库从一种状态转变为另一种状态时,新旧值之间所有应满足的约束条件,动态约束反映的是数据库状态变迁的约束。例如:学生年龄在更改时只能增长,职工工资在调整时不得低于其原来的工资。 完整性约束条件的六种类型 : 5.2.2.2完整性约束说明 1. 用过程说明约束 把约束的说明和检验推给应用程序。 2. 用断言说明约束 断言指数据库状态必须满足的逻辑条件。 3. 用触发器说明约束 触发器是建立在某个关系上的一系列SQL语句的集合,并经预先编译后存储在数据库中。 5.3数据库的安全性 5.3.1用户的标识与鉴别 5.3.2 存取权限控制 对每个用户,可以定义以下两种存取控制权限: (1)数据对象权限:规定了用户使用数据库中数据对象的范围; (2)操作类型权限:规定了用户在可使用数据对象上能执行的操作; 表5-1:关系系统中的存取权限 5.3.3 视图机制 在关系数据库系统中,视图是提供给用户以多种角度观察数据库中数据的重要机制,是从一个或几个基表(或视图)导出的表,它与基表不同,是一个虚表。 5.3.4 跟踪审查 跟踪审查是一种后监视措施,它跟踪数据库的访问活动,以发现数据库的非法访问,达到安全防范的目的。 5.3.5 数据加密存储 数据加密就是将明文数据经过一定的变换变成密文数据。 5.4数据库的并发控制 5.4.1 事务及特性 1.事务 在SQL中,用户显式定义事务的语句有如下3条: BEGIN TRANSACTION:该语句显式地定义一个事务的开始。在应用程序的某处嵌入此语句,就表示一个新
显示全部