ImageVerifierCode 换一换
格式:PPT , 页数:44 ,大小:792KB ,
文档编号:7333455      下载积分:10 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7333455.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《数据库系统原理与应用-Oracle版》课件第5章.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《数据库系统原理与应用-Oracle版》课件第5章.ppt

1、第第5章章 数据库安全性和完整性数据库安全性和完整性 5.1 数据库的安全性 5.2 Oracle数据库的安全性 5.3 完整性5.1 数据库的安全性数据库的安全性 5.1.1 安全性控制的一般方法 5.1.2 数据库用户的种类返回首页返回首页5.1.1 安全性控制的一般方法安全性控制的一般方法 实际上,安全性问题并不是数据库系统所独有的,所有计算机系统中都存在这个问题,只是由于数据库系统中存放了大量数据,并为许多用户直接共享,使安全性问题更为突出而已。所以,在计算机系统中,安全措施一般是一级一级层层设置的,例如,图5-1就是一种很常用的安全模型。1用户标识和鉴定用户标识和鉴定 用户标识和鉴定

2、是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对,通过鉴定后才提供机器使用权。用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。标识和鉴定一个用户最常用的方法是用一个用户名或者用户标识号来标明用户身份,系统鉴别此用户是否是合法用户。若是,则可进入下步的核实;若不是,则不能进入系统。2存取控制存取控制 在数据库中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。对于通过鉴定进入系统

3、的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。存取权限由数据对象和操作类型两个要素组成。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。在数据库系统中,定义存取权限称为授权(Authorization)。这些授权定义经过编译后存放在数据字典中。数据对象操作类型模 式模式建立、修改、检索外模式建立、修改、检索内模式建立、修改、检索数据表查找、插入、修改、删除属性列查找、插入、修改、删除表表5-1 关系数据库系统中的存取权限关系数据库系统中的存取权限用户名用户名数据对象名数据对象名允许的操作类型允许的操作类型刘勇刘勇

4、关系关系BookSelect张伟张伟关系关系BookAll张伟张伟关系关系ReaderAll张伟张伟关系关系BorrowUpdate丁钰丁钰关系关系BorrowSelect丁钰丁钰关系关系BorrowInsert表表5-2 一个授权表的实例一个授权表的实例用户名数据对象名允许的操作类型刘勇关系BookSelect张伟关系BookAll张伟关系ReaderAll张伟关系BorrowSelect张伟关系Borrow.BdateUpdate丁钰关系Borrow.BookidSelect丁钰关系Borrow.CardidSelect表表5-3 一个授权表的实例一个授权表的实例 用户名数据对象名允许的操

5、作类型存取谓词刘勇关系BookSelectPublish=“中国水利水电出版社”张伟关系BookAll 张伟关系ReaderAll 张伟关系BorrowSelect 张伟关系Borrow.BdateUpdate 丁钰关系Borrow.BookidSelect 丁钰关系Borrow.CardidSelect 表表5-4 一个授权表的实例一个授权表的实例3定义视图定义视图 进行存取的控制,不仅可以通过授权与收回权力来实现,还可以通过定义用户的外模式来提供一定的安全保护功能。在关系系统中,就是为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供

6、一定程度的安全保护。4审计审计 用户识别和鉴定、存取控制、视图等安全性措施均为强制性机制,将用户操作限制在规定的安全范围内。但实际上任何系统的安全性措施都不可能是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。所以,当数据相当敏感,或者对数据的处理极为重要时,就必须以审计技术作为预防手段,监测可能的不合法行为。审计追踪使用的是一个专用文件或数据库,系统自动将用户对数据库的所有操作记录在上面,利用审计追踪的信息,就能重现导致数据库现有状况的一系列事件,以找出非法存取数据的人。5数据加密数据加密 对于高度敏感性数据,例如财务数据、军事数据和国家机密,除以上安全性措施外,还可以采用数据加密技

7、术,以密码形式存储和传输数据。这样企图通过不正常渠道获取数据,例如,利用系统安全措施的漏洞非法访问数据,或者在通信绕路上窃取数据,那么只能看到一些无法辨认的二进制代码。用户正常检索数据时,首先要提供密码钥匙,由系统进行译码后,才能得到可识别的数据。返回本节返回本节5.1.2 数据库用户的种类数据库用户的种类 数据库用户按其操作权限的大小可分为三类:1数据库系统管理员 2数据库对象拥有者 3普通用户返回本节返回本节5.2 Oracle数据库的安全性数据库的安全性 5.2.1Oracle的用户标识 在Oracle中,最外层的安全性措施是让用户标识自己的名字,然后由系统进行核实。Oracle允许用户

8、标识重复3次,如果3次仍未通过,系统自动退出。返回首页返回首页5.2.2 Oracle授权与检查机制授权与检查机制 Oracle的权限包括系统权限和数据库对象权限,采用非集中式的授权机制,即DBA负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限 1系统权限系统权限 Oracle提供了提供了100多种系统权限,如创建多种系统权限,如创建会话、创建表、创建视图、创建用户等。会话、创建表、创建视图、创建用户等。常用的一些系统权限请读者参考第二章常用的一些系统权限请读者参考第二章的表的表2-3.返回本节返回本节1系统权限系统权限 Oracle提供了100多种系统权限,如创建会话、创

9、建表、创建视图、创建用户等。常用的一些系统权限请读者参考第二章的表2-3 Oracle中角色的概念 所谓角色就是一组系统权限的集合.Oracle除允许DBA定义角色外,还提供了一些预定义的角色,常用的预定义的角色 如下:CONNECT角色:许用户执行ALTER TABLE、CREAT VIEW、CREATE INDEX、DROP TABLE、DROP VIEW、DROP INDEX、GRANT、REVOKE、INSERT、SELECT、UPDATE、DELETE、AUDIT、NOAUDIT等操作 RESOURCE角色:允许用户建表,即执行CREATE TABLE操 DBA角色:允许用户执行某些

10、授权命令,建表,对任何表的数据进行操纵.Oracle提供的预定义角色有20多种,读者可以通过DBA_ROLES视图查询预定义角色的信息 2数据库对象的权限数据库对象的权限 在Oracle中,可以授权的数据库对象包括基本表、视图、序列、同义词、存储过程、函数等,其中最为重要的是基本表。对于其本表Oracle支持3个级别的安全性:表级、行级和列级。(1)表级安全性。)表级安全性。表的创建者或DBA可以把对表有关的权限授予其他用户,表级权限包括:ALTER:修改表定义;DELETE:删除表记录;INDEX:在表上建索引;INSERT:向表中插入数据记录;SELECT:查找表中记录;UPDATE:修改

11、表中的数据;ALL:上述所有权限。(2)行级安全性)行级安全性 Oracle行级安全性由视图实现。视图是表的一个子集,限定用户在视图上的操作,即相当于为表的行级提供了保护。视图上的授权与回收与表级完全相同。(3)列级安全性)列级安全性 直接在基本表上定义和回收列级权限也可用GRANT/REVOKE语名。目前Oracle只允许直接在基本表上定义列级UPDATE权限。而且回收列级UPDATE权限时,Oracle不允许一列一列地回收。只能回收整个表的UPDATE权 3Oracle的审计技术的审计技术 在Oracle中,审计分为用户级审计和系统级审计。用户级审计是任何Oracle用户可设置的审计,主要

12、是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功或不成功的访问,以及各种类型的SQL操作。系统级审计只能由DBA进行,可以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作 4用户定义的安全性措施用户定义的安全性措施Oracle还允许用户用数据库触发器定义特殊的更复杂的用户级安全性措施.例:CREATE OR REPLACE TRIGGER secure_readerBEFORE INSERT OR UPDATE OR DELETE ON readerBEGINIF(TO_CHAR(sysdate,DY)IN(SAT,SUN)

13、OR(TO_NUMBER(sysdate,HH24)NOT BETWEEN 8 AND 17)THEN RAISE_APPLICATION_ERROR(-20006,You may only change data during normal business hours.);END IF;END secure_reader 5.3 完整性完整性 5.3.1 完整性约束条件 5.3.2 完整性控制 5.3.3 ORACLE的完整性返回首页返回首页 数据库的完整性是指数据的正确性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。数据的完整性

14、与安全性是数据库保护的两个不同方面。5.3.1 完整性约束条件完整性约束条件 完整性约束条件作用的对象可以有列级、元组级和关系级三种粒度。其中对列的约束主要指对其取值类型、范围、精度和排序等的约束条件。对元组的约束是指对记录中各个字段间的联系的约束。对关系的约束是指对各记录间或关系之间的联系的约束。1静态列级约束静态列级约束是对一个列的取值域的说明,这是最常见最简单同时也最容易实现的一类完整性约束,包括以下几方面:(1)对数据类型的约束,包括数据的类型、长度、单位和精度等。(2)对数据格式的约束。(3)对取值范围或取值集合的约束。(4)对空值的约束。(5)其他约束。2静态元组约束一个元组是由若

15、干个列值组成的,静态元组约束就是规定组成一个元组的各个列之间的约束关系。静态元组约束只局限在单个元组上,因此比较容易实现。例如在图书借阅表中可以规定:还书日期借书日期。3静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有以下四种:(1)实体完整性约束。(2)参照完整性约束。(3)函数依赖约束。(4)统计约束。4动态列级约束动态列级约束是修改列定义或列值时要满足的约束条件,包括以下两方面:(1)修改列定义时的约束。(2)修改列值时的约束。5动态元组约束动态元组约束是指修改某个元组时需要参照其旧值,并且新旧值之间需要满足某种约束条件。6动态关系约束动态

16、关系约束是加在关系变化前后状态上的限制条件。例如,事务一致性、原子性等约束条件。粒度状态列级元组级关系级静态列定义类型格式值域空值元组值应满足的条件实体完整性约束参照完整性约束函数依赖约束统计约束动态改变列定义或列值元组新旧值之间应满足的约束条件关系新旧状态间满足的约束条件表表5-5 完整性约束条件完整性约束条件返回本节返回本节5.3.2 完整性控制完整性控制1完整性约束的定义2完整性约束条件的检查3对违背了完整性约束条件的操作应采取的措施 DBMS的完整性控制机制应具有三个方面的功能:(1)定义功能:即提供定义完整性约束条件的机制。(2)检查功能:即检查用户发出的操作请求是否违背了完整性约束

17、条件。(3)如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。对于违反实体完整性规则和用户定义的完整性规则的操作一般都是采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单的拒绝执行,有时还需要采取另一种方法,即接受这个操作,同时执行一些附加的操作,以保证数据库的状态仍然是正确的。(1)删除被参照关系的元组时的考虑。(2)修改被参照关系中主码的考虑。(3)外码是否可以接受空值。(1)删除被参照关系的元组时的考虑。1)级联删除(Cascades)。2)受限删除(Restricted)。3)置空值删除(Nullifies)。(2)修改被参照关系中

18、主码的考虑。1)级联修改(Cascades)。2)受限修改(Restricted)。3)置空值修改(Nullifies)。(3)外码是否可以接受空值。外码是否可以接受空值是由其语义来决定的,在上面提到的职工-部门数据库中,“职工”关系包含有外码“部门号”,某一元组的这一列若为空值,表示这一职工尚未分配到任何具体的部门工作。这和应用环境的语义是相符的,因此“职工”表的“部门号”列应允许空值,但在学生-选课数据库中,“学生”关系为被参照关系,其主码为“学号”。“选课”为参照关系,外码为“学号”。返回本节返回本节5.3.3 ORACLE的完整性的完整性 1实体完整性 2参照完整性 3用户定义的完整性

19、1实体完整性实体完整性 数据库中最重要的约束就是实体完整性约束,在ORACLE中是通过说明某个属性或属性集构成关系的主码来实现关系的实体完整性。主码意味着对于关系的任意两个元组,不允许在说明为主码的属性或属性组上取相同的值,也不允许主码中属性取空值。主码约束在建表语句中说明,可用两种方法说明主码:第一种方法是在列定义中用关键字PRIMARY KEY;第二种方法是在表级完整性定义中使用CONSTRAINT 约束名 PRIMARY KEY(属性列表)子句。2参照完整性参照完整性 外码的定义是在表定义时通过FOREIGN KEY子句来完成的。其语法格式如下:CONSTRAINT 约束名 FOREIGN KEY(列名)REFERENCES(被参照表列名)ON 其中:ON 选项是说明当被参照关系某元组被删除或主码被修改时,参照关系中相应元组的处理办法。3用户定义的完整性用户定义的完整性ORACLE允许用户在建表时定义下列完整性约束:列值非空(NOT NULL短语)。列值惟一(UNIQUE短语)。检查列值是否满足一 个 布 尔 表 达 式(CHECK短语)。返回本节返回本节

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|