《数据库的安全性和完整性及其实现机制.docx》由会员分享,可在线阅读,更多相关《数据库的安全性和完整性及其实现机制.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须 提供统一的数据保护功能。数据保护也为数据控制,主要包 括数据库的安全性、完整性、并发控制和恢复。一、 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用 所造成的数据泄露、更改或破坏。计算机系统都有这个问题, 在数据库系统中大量数据集中存放,为许多用户共享,使安 全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。在DB存储这一级可采用密码技术,当物理存储设备失 窃后,它起到保密作用。在数据库系统这一级中提供两种控 制:用户标识和鉴定,数据存取控制。在ORACLE多用户 数据库系统中
2、,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。一般,建立角色服务于两个目的:为数据库应用管理特 权和为用户组管理特权。相应的角色称为应用角色和用户角 色。应用角色是授予的运行一数据库应用所需的全部特权。 一个应用角色可授给其它角色或指定用户。一个应用可有几 种不同角色,具有不同特权组的每一个角色在使用应用时可 进行不同的数据存取。用户角色是为具有公开特权需求的一组数据库用户而 建立的。用户特权管理是受应用角色或特权授权给用户角色 所控制,然后将用户角色授权给相应的用户。数据库角色包含下列功能:一个角色可授予系统特权或对
3、象特权。一个角色可授权给其它角色,但不能循环授权。任何角色可授权给任何数据库用户。授权给一用户的每一角色可以是使能的或者使不能的。 一个用户的安全域仅包含当前对该用户使能的全部角色的 特权。一个间接授权角色(授权给另一角色的角色)对一用户 可显式地使其能或使不能。在一个数据库中,每一个角色名必须唯一。角色名与用 户不同,角色不包含在任何模式中,所以建立一角色的用户 被删除时不影响该角色。ORACLE为了提供与以前版本的兼容性,预定义下列角 色:CONNENT、RESOURCE、DBA、EXP-FULL-DATAB ASE 和 IMP-FULL-DATABASEo3. 审计审计是对选定的用户动作
4、的监控和记录,通常用于:审查可疑的活动。例如:数据被非授权用户所删除,此 时安全管理员可决定对该 数据库的所有连接进行审计,以 及对数据库的所有表的成功地或不成功地删除进行审计。监视和收集关于指定数据库活动的数据。例如:DBA可 收集哪些被修改、执行了多少次逻辑的I/O等统计数据。ORACLE支持三种审计类型:语句审计,对某种类型的SQL语句审计,不指定结构或 对象。特权审计,对执行相应动作的系统特权的使用审计。对象审计,对一特殊模式对象上的指定语句的审计。ORACLE所允许的审计选择限于下列方面:审计语句的成功执行、不成功执行,或者其两者。对每一用户会话审计语句执行一次或者对语句每次执行 审
5、计一次。对全部用户或指定用户的活动的审计。当数据库的审计是使能的,在语句执行阶段产生审计记 录。审计记录包含有审计的操作、用户执行的操作、操作的 日期和时间等信息。审计记录可存在数据字典表(称为审计 记录)或操作系统审计记录中。数据库审计记录是在SYS 模式的AUD$表中。二、 数据完整性它是指数据的正确性和相容性。数据的完整性是为了防 止数据库存在不符合主义的数据,防止错误信息输入和输 出,即数据要遵守由DBA或应用开发者所决定的一组预定 义的规则。ORACLE应用于关系数据库的表的数据完整性有 下列类型:在插入或修改表的行时允许不允许包含有空值的列,称为 空与非空规则。唯一列值规则,允许插
6、入或修改的表行在该列上的值唯O引用完整性规则,同关系模型定义用户对定义的规则,为复杂性完整性检查。ORACLE允许定义和实施上述每一种类型的数据完整 性规则,这些规则可用完整性约束和数据库触发器定义。完整性约束,是对表的列定义一规则的说明性方法。数据库触发器,是使用非说明方法实施完整性规则,利用数据库触发器(存储的数据库过程)可定义和实施任何类 型的完整性规则。heyongming4 2009-11-01 18:45:49 123.15.236.*这是我的论文是有关数据库的数据库技术概述数据库技术是一门综合性的软件技术,是使用计算机进行各 种信息管理的必备知识。数据库技术是本世纪60年代开始兴
7、起的一门信息管理自动 化的新兴学科,是计算机科学中的一个重要分支。随着计算 机应用的不断发展,在计算机应用领域中,数据处理越来越 占主导地位,数据库技术的应用也越来越广泛。一、数据库的历史发展数据库是数据管理的产物。数据管理是数据库的核心任务, 内容包括对数据的分类、组织、编码、储存、检索和维护。随着计算机硬件和软件的发展,数据库技术也不断地发展。从数据管理的角度看,数据库技术到目前共经历了人工管理 阶段、文件系统阶段和数据库系统阶段。1.人工管理阶段人工管理阶段是指计算机诞生的初期(即20世纪50年代后 期之前),这个时期的计算机主要用于科学计算。从硬件看, 没有磁盘等直接存取的存储设备;从
8、软件看,没有操作系统 和管理数据的软件,数据处理方式是批处理。这个时期数据管理的特点是:1) .数据不保存该时期的计算机主要应用于科学计算,一般不需要将数据长 期保存,只是在计算某一课题时将数据输入,用完后不保存 原始数据,也不保存计算结果。2) .没有对数据进行管理的软件系统程序员不仅要规定数据的逻辑结构,而且还要在程序中设计 物理结构,包括存储结构、存取方法、输入输出方式等。因 此程序中存取数据的子程序随着存储的改变而改变,数据与 程序不具有一致性。3) .没有文件的概念数据的组织方式必须由程序员自行设计。4), 一组数据对应于一个程序,数据是面向应用的即使两个程序用到相同的数据,也必须各
9、自定义、各自组织, 数据无法共享、无法相互利用和互相参照,从而导致程序和 程序之间有大量重复的数据。2.文件系统阶段文件系统阶段是指计算机不仅用于科学计算,而且还大量用 于管理数据的阶段(从50年代后期到60年代中期)。在硬件 方面,外存储器有了磁盘、磁鼓等直接存取的存储设备。在 软件方面,操作系统中已经有了专门用于管理数据的软件, 称为文件系统。这个时期数据管理的特点是:1) .数据需要长期保存在外存上供反复使用由于计算机大量用于数据处理,经常对文件进行查询、修改、 插入和删除等操作,所以数据需要长期保留,以便于反复操 作。2) .程序之间有了一定的独立性操作系统提供了文件管理功能和访问文件
10、的存取方法,程序 和数据之间有了数据存取的接口,程序可以通过文件名和数 据打交道,不必再寻找数据的物理存放位置,至此,数据有 了物理结构和逻辑结构的区别,但此时程序和数据之间的独 立性尚还不充分。3) .文件的形式已经多样化由于已经有了直接存取的存储设备,文件也就不再局限于顺序文件,还有了索引文件、链表文件等,因而,对文件的访 问可以是顺序访问,也可以是直接访问。4) .数据的存取基本上以记录为单位可以看出,文件系统中的数据和程序虽然具有了一定的独立 性,但还很不充分,每个文件仍然对应于一个应用程序,数 据还是面向应用的。要想对现有的数据再增加一些新的应用 是很困难的,系统不易扩充,一旦数据的
11、逻辑结构改变,必 须修改应用程序。并且,各个文件之间是孤立的,不能反映 现实世界事物之间的内在联系,各个不同应用程序之间也不 能共享相同的数据,从而造成数据冗余度大,并容易产生相 同数据的不一致性。3. 数据库系统阶段数据库系统阶段是从60年代后期开始的。在这一阶段中, 数据库中的数据不再是面向某个应用或某个程序,而是面向 整个企业(组织)或整个应用的。数据库系统阶段的特点是:1) .采用复杂的结构化的数据模型数据库系统不仅要描述数据本身,还要描述数据之间的联 系。这种联系是通过存取路径来实现的。2) .较高的数据独立性数据和程序彼此独立,数据存储结构的变化尽量不影响用户 程序的使用。3) .
12、最低的冗余度数据库系统中的重复数据被减少到最低程度,这样,在有限 的存储空间内可以存放更多的数据并减少存取时间。4) .数据控制功能数据库系统具有数据的安全性,以防止数据的丢失和被非法 使用;具有数据的完整性,以保护数据的正确、有效和相容; 具有数据的并发控制,避免并发程序之间的相互干扰;具有 数据的恢复功能,在数据库被破坏或数据不可靠时,系统有 能力把数据库恢复到最近某个时刻的正确状态。综上所述,数据库可以被定义为:一个存储起来互相关联的 数据集合,它提供给多种用户共享并且有最小的冗余度和较 高的数据独立性。4. 三代数据库系统的发展数据模型是数据库系统的核心。按照数据模型发展的主线, 数据
13、库技术的形成过程和发展可从以下三个方面反映: 1).第一代数据库系统-层次和网状数据库管理系统 层次和网状数据库的代表产品是旧M公司在1969年研制出 的层次模型数据库管理系统。层次数据库是数据库系统的先 驱,而网状数据库则是数据库概念、方法、技术的奠基。2) .第二代数据库系统-关系数据库管理系统(RDBMS) 1970年,旧M公司的研究员在题为大型共享数 据库数据的关系模型的论文中提出了数据库的关系模型,为关系数据库技术奠定了理论基础。到了 80年代,几乎所有新开发的数据库系统都是关系型的。真正使得关系数据库技术实用化的关键人物是James Gra yo Gray在解决如何保障数据的完整性
14、、安全性、并发性以 及数据库的故障恢复能力等重大技术问题方面发挥了关键 作用。关系数据库系统的出现,促进了数据库的小型化和普及化, 使得在微型机上配置数据库系统成为可能。3) .新一代数据库技术的研究和发展目前已从多方面发展了现行的数据库系统技术。我们可以从 数据模型、新技术内容、应用领域三个方面概括新一代数据 库系统的发展。(1)面向对象的方法和技术对数据库发展的影响最为深远 80年代,面向对象的方法和技术的出现,对计算机各个领域, 包括程序设计语言、软件工程、信息系统设计以及计算机硬 件设备等都产生了深远的影响,也给面临新挑战的数据库技 术带来了新的机遇和希望。数据库研究人员借鉴和吸收了面
15、 向对象的方法和技术,提出了面向对象的数据库模型(简称对 象模型)。当前有许多研究是建立在数据库已有的成果和技术 上的,针对不同的应用,对传统的DBMS,主要是RDBMS 进行不同层次上的扩充,例如建立对象关系(OR)模型和建立 对象关系数据库(ORDB)。(2)数据库技术与多学科技术的有机结合数据库技术与多学科技术的有机结合是当前数据库发展的 重要特征。计算机领域中其他新兴技术的发展对数据库技术 产生了重大影响。传统的数据库技术和其他计算机技术的结 合、互相渗透,使数据库中新的技术内容层出不穷。数据库 的许多概念、技术内容、应用领域,甚至某些原理都有了重 大的发展和变化。建立和实现了一系列新
16、型的数据库,如分 布式数据库、并行数据库、演绎数据库、知识库、多媒体库、 移动数据库等,它们共同构成了数据库大家族。(3)面向专门应用领域的数据库技术的研究为了适应数据库应用多元化的要求,在传统数据库基础上, 结合各个专门应用领域的特点,研究适合该应用领域的数据 库技术,如工程数据库、统计数据库、科学数据库、空间数 据库、地理数据库、Web数据库等,这是当前数据库技术发 展的又一重要特征。同时,数据库系统结构也由主机/终端的集中式结构发展到网 络环境的分布式结构,随后又发展成两层、三层或多层客户 /服务器结构以及Internet环境下的浏览器/服务器和移动环 境下的动态结构。多种数据库结构满足
17、了不同应用的需求, 适应了不同的应用环境。数据库安全可分为二类:系统安全性和数据安全性。系统安全性是指在系统级控制数据库的存取和使用的 机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。数据安全性是指在对象级控制数据库的存取和使用的 机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。在ORACLE服务器上提供了一 种任意存取控制,是一种基于特权限制信息存取的方法。用 户要存取一对象必须有相应的特权授给该用户。已授权的用 户可任意地可将它授权给其它用户,由于这个原
18、因,这种安 全性类型叫做任意型。ORACLE利用下列机制管理数据库安全性:数据库用户和模式;二、数据模型1. 数据处理的抽象描述不同的领域,数据的描述也有所不同。实际生活中,有对现 实世界的描述;理论研究中,有对符号化数据的描述;而在 计算机内部,数据又有其特定的表示方法。人们研究和处理 数据的过程中,常常把数据的转换分为三个领域现实世 界,信息世界,机器世界,这三个世界间的转换过程,就是 将客观现实的信息反映到计算机数据库中的过程。1) .现实世界(Real World)客观存在的世界就是现实世界,它独立于人们的思想之外。现实世界存在无数事物,每一个客观存在的事物可以看做是 一个个体,个体有
19、多项特征和属性。比如,电视机就有价格, 品牌,可视面积大小,是否彩色等特征。而不同的人,只会 关心其中的一部分属性,一定领域内的个体有着相同的特 征。2) .信息世界(Information World)信息世界是现实世界在人们头脑中的反映,人的思维将现实 世界的数据抽象化和概念化,并用文字符号表示出来,就形 成了信息世界。下面是人们在研究现实世界过程中常常用到 的术语:(1)实体(Entity)客观存在且可以互相区别的事物。如一名学生,一台电脑, 一本书,一场聚会。实体是信息世界的基本单位。属性(Attribute)个体的某一特征称为属性,一个实体可以有多个属性,每一 个属性都有其取值范围和
20、取值类型。(3)键(Key)能在一个实体集中唯一标识一个实体的属性称为键,键可以 只包含一个属性,也可以同时包含多个属性。有多个键时, 选择一个作为主键。键中的属性称为主属性。(4)联系(Relation)实体之间互相作用,互相制约的关系称为实体集的联系。实 体之间的联系有三种:一对一联系,一对多联系,多对多联 系。3) .机器世界机器世界又称数据世界,信息世界中的信息经过抽象和组 织,以数据形式存贮在计算机中,就称为机器世界。与信息 世界一样,机器世界也有其常用的、用来描述数据的术语, 这些术语与信息世界中的术语有着对应的关系。(1)字段(Field)字段,也称为数据项(Item),标记实体
21、的一个属性叫做字段, 它是可以命名的最小信息单位。例如学生有学号、姓名、性 别、出生日期等字段。字段与信息世界的属性相对应。记录(Record)记录是有一定逻辑关系的字段的组合。它与信息世界中的实 体相对应,一个记录可以描述一个实体。例如一个学生的记 录由“学号、姓名、性别、出生日期等字段组成。(3)文件(File)文件是同一类记录的集合。文件的存储形式有很多种,比如 顺序文件、索引文件、直接文件、倒排文件等等。4) .三个世界的转换由以上对三个世界的描述可以看到,从现实世界到信息世界 再到机器世界,事务被一层层抽象,加工,符号化,逻辑化, 而这个过程都是有一定联系的。2. 数据模型1) .信
22、息模型(概念模型)与E-R方法为了把现实世界中的具体事物进行抽象,人们常常首先把现 实世界抽象为信息世界,然后再将信息世界转化为机器世 界。在把现实世界抽象为信息世界的过程中,实际上是抽象 出现实系统中有应用价值的元素及其关联。这时所形成的信 息结构是概念模型。在抽象出概念模型后,再把概念模型转 换为计算机上某一 DBMS支持的数据模型。需要一种方法能 够对现实世界的信息进行描述。实体-联系方法(即E-R方法)是于1976年提出 的,这种方法由于简单、实用,所以得到了非常普遍的应用, 也是目前描述概念模型最常用的方法。它使用的工具称作E- R图,它所描述的现实世界的信息结构称为企业模式,也把
23、这种描述结果称为E-R模型o下面概述一下E-R方法的要点o (1)用矩形框表示实体,实体名(例如学生)写在框内。(2)用椭圆框表示实体的属性,框内写上属性名,并用线段 连到相应的实体。例如学生的属性有姓名、学号和年龄等。(3)用菱形框表示实体间的联系,在框内写上联系名,用线 段连接菱形框与矩形框,在线段旁注上联系的类型(一对一、 一对多、多对多)。如联系也具有属性,则把属性和菱形框用 线段连上。E-R图是抽象描述现实世界的有力工具,它与计算机所支持 的数据模型相独立,它更接近于现实世界。虽然现实世界丰 富多彩,各种信息十分繁杂,但用E-R图可以很清晰地表示 出其中的错综复杂关系。下面我们用E-
24、R图来表示某个学校 的教务管理的概念模型。教务管理涉及的实体有:.班级 属性有班级编号,班级名称,专业,班主任;.教师属性有教师号,姓名,性别,年龄,职称,专业; .学生 属性有学生号,姓名,性别,班级编号; .课程 属性有课程号,课程名,课时,学分,教材。这些实体之间的联系如下:.一个班有多个教师授课,一个教师可以教多个班级,班级和教师具有多对多的联系;.一个班有多名学生,但一个学生只能在一个班注册,因此班 级与学生是一对多联系;.在某个时间某个地点一位教师可指导多个学生,但某个学生 在某一时间和地点只能被一位教师所指导,因此教师与学生 是一对多联系;一位教师可讲授多门课程,一门课程可由多
25、位教师讲授,每位教师讲授某门课程都有一个评价,教师与 课程之间是多对多联系;.一个学生可选修多门课程,一门课程允许多个学生选修,每 个学生选修某门课程都有一个分数(成绩),因此学生与课程 之间是多对多联系。如果某个部门的概念模型中涉及的实体和实体的属性较多, 可以把实体及其属性在另一幅图上画出,使E-R图更清晰地 表明实体以及实体之间的联系,这样图ER可以分为图ER1 2).结构数据模型结构数据模型是机器世界的数据模型。实际数据库系统中所 支持的数据模型主要有层次模型、网状模型和关系模型。(1)层次模型用树型结构来表示实体之间联系的模型称为层次模型。层次 模型是满足有且仅有一个根结点,非根结点
26、有且仅有一个父 结点的基本层次联系的集合。构成层次模型的树是由结点和连线组成的,结点表示实体集,连线表示相连两个实体之间的联系,这种联系只能是一 对多的。通常把表示“一”的实体放在上方,称为父结点;而 把表示“多”的实体放在下方,称为子结点。(2)网状模型用网状结构来表示实体之间联系的数据模型称为网状模型。 网状模型可以有一个以上结点无父结点;至少有一个结点具 有多于一个的父结点。(3)关系模型用一个二维表格表示实体和实体之间联系的模型,称为关系 模型。我们将在第三节中较详细地介绍。3. 数据模型的三要素数据模型通常由数据结构、数据操作和完整性约束三部分组 成。1) .数据结构数据结构是所研究
27、的对象类型的集合,在数据库系统中通常 按照数据结构的类型来命名数据模型,如层次结构、网状结 构和关系结构的模型分别命名为层次模型、网状模型和关系 模型。2) .数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行 的操作的集合,包括操作及有关的操作规则。数据操作是用 来描述系统的信息变化的,是对系统动态特性的描述。数据操作的种类有以下两种:检索(如查询)和更新(增、删、lX I o3) .数据的约束条件数据的约束条件是完整性规则的集合,完整性规则是给定的 数据模型中数据及其联系所具有的制约和依存规则,用以限 定符合数据模型的数据库状态以及状态的变化,以保证数据 的正确、有效和相容。
28、4. 数据库技术的应用数据库技术的应用领域非常广,从目前接触到的一些应用的 发展来看,尤其是Internet的发展以及多种信息技术交叉与 发展,还对数据库技术提出了更多的需求,从而促进了数据 库技术的不断发展。1) .多媒体数据库多媒体是80年代发展起来的计算机新技术,它是在传统计 算机应用技术,即对数据处理、字符处理、文字处理、图形 处理、声音处理等技术综合继承的基础上,引进了新鲜的技 术内容和设备,例如影视处理技术、CD-ROM、各种专用芯 片和功能卡等,以及尔后形成的计算机集成新技术。多媒体 技术为扩展计算机的应用范围、应用深度和表现能力提供了 极好的支持。基于多媒体技术的应用系统开发,
29、其技术内容 又包括了多媒体处理技术和多媒体管理技术,更准确地说是 对多媒体对象或多媒体数据的处理技术和管理技术。2) .因特网上的web数据库因特网(Internet)是一个全球性的计算机网络系统,它可将分 布在世界各地的各种计算机系统及各种网络用户连接在一 起,通过采用共同的网络通信协议在不同的网络和操作系统 间交换数据。随着WWW的迅速扩展,WWW上可用数据源的数量也在迅 速增长。因此人们正在试图把WWW上的数据源集成为一个 完整的Web数据库,从而使这些数据源得到充分的利用。三、数据库的形势及其发展进入二十世纪八十年代之后,计算机硬件技术有了飞速 的提高。计算机技术的提高促使计算机应用不
30、断深入,产生 了许多新的应用领域,例如计算机辅助设计、计算机辅助制 造、计算机辅助教学、办公自动化、智能信息处理、决策支 持等。这些新的领域对数据库系统提出了新的要求。但是由 于应用的多元化,不能设计出一个统一的数据模型来表示这 些新型的数据及其相互关系,因而出现了百家争鸣的局面, 产生了演绎数据库、面向对象数据库、分布式数据库、工程 数据库、时态数据库、模糊数据库等新型数据库的研究和应 用。不过到目前为止,在世界范围内得到主流应用的还是经典的 关系数据库系统,比较知名的如Sybase, Oracle, Informi x, SQL Server, DB2 等。四、数据库发展大事记
31、 1951 :Univac 系统使用磁带 和穿孔卡片作为数据存储。 1956:IBM 公司在其 M odel 305 RAMAC中第一次引入了磁盘驱动器 1961 :通用电气(GE) 公司的Charles Bachman开发了第一个数据库管理 系统IDS 1969:E.F. Cod d发明了关系数据库。 &
32、nbsp; 1973: 由 John J.Cullinane 领导 Cullinane 公司开发了 IDMS 一个针对旧M主机的基于网络模型的数据库。 1976: Honeyw ell 公司推出了 Multics Relational Data Store第一个商用关系数据库产品。 1979: Oracle 公司引入了第一个商用SQL关系数据库管理系统。 &nb
33、sp; 1983: IBM&nb sp;推出了 DB2数据库产品。 1985: 为 Proct er Gamble系统设计的第一个商务智能系统 产生。 1991 : W.H.“Bi ir lnmon发表了”构建数据仓库”。五、主要参考文献1 .周龙骥等,分布式数据库管理系统实现技术,科学出 版社,1998。2 .郑振楣,于戈,郭敏,分布式数据库,科学出版社, 1998o3 .王珊
34、等,数据仓库技术与联机分析处理,科学出版社,1998o特权;角色;存储设置和空间份额;资源限制;审计。1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全 部用户对命名对象的存取。用户对对象的存取受特权控制。 一种特权是存取一命名对象的许可,为一种规定格式。ORACLE使用多种不同的机制管理数据库安全性,其中 有两种机制:模式和用户。模式为模式对象的集合,模式对 象如表、视图、过程和包等。第一数据库有一组模式。每一 ORACLE数据库有一组合法的用户,可存取一数 据库,可运行一数据库应用和使用该用户各连接到定义该用 户的数据库。当建立一数据库用户时,对该用户建立一个相 应的模
35、式,模式名与用户名相同。一旦用户连接一数据库, 该用户就可存取相应模式中的全部对象,一个用户仅与同名 的模式相联系,所以用户和模式是类似的。再初级,再简单,也得有一本书才能说明清楚.存储一大堆数 据的东西。可以非常方便的进行数据查询了,数据统计了这 些工作的工具。例如这个爱问网,后台就有个数据库,存储我们的这么多问 题,当你输入“数据库”三个字进行以往问题查询的时候,能 查出来很多相关问题。再例如,你在这里的积分也存在数据 库里,加多少,减多少,这些运算程序完成。数据库是一 个被规格化和结构化且相互关联的数据集合,数据库可以对 数据定义,输入,管理,修改,和检索等操作,基本上数据 库就是由数据
36、,应用,和管理组成的 数据库”就是为了实现 一定的目的按某种规则组织起来的“数据”的“集合 既然上面 都对数据库做介绍了,我再说一下Vf 一般软件人员都不认为 vf是真正的数据库,是假数据库,因为数据库一般是不可以 恢复的,当然下在的Oracle可以回滚,但如果执行后也是不 可恢复的,这样可以保证 数据的相互关联不被破坏,所以 如果说数据库最好是学sql或Oracle用户的存取权利受用户安全域的设置所控制,在建立一 个数据库的新用户或更改一己有用户时,安全管理员对用户 安全域有下列决策:是由数据库系统还是由操作系统维护用户授权信息。设置用户的缺省表空间和临时表空间。列出用户可存的表空间和在表空
37、间中可使用空间份额。设置用户资源限制的环境文件,该限制规定了用户可用的 系统资源的总量。规定用户具有的特权和角色,可存取相应的对象。每一个用户有一个安全域,它是一组特性,可决定下列 内容:用户可用的特权和角色;用户可用的表空间的份额;用户的系统资源限制。1) 用户鉴别:为了防止非授权的数据库用户的使用,ORACLE提供二种确认方法操作系统确认和相应的ORACLE数据库确认。如果操 作系统允许,ORACLE可使用操作系统所维护的信息来鉴定 用户。由操作系统鉴定用户的优点是:用户可更方便地连接到ORACLE,不需要指定用户名和口 令。对用户授权的控制集中在操作系统,ORACLE不需要存储 和管理用
38、户口令。然而用户名在数据库中仍然要维护。在数据库中的用户名项和操作系统审计跟踪相对应。ORACLE数据库方式的用户确认:ORACLE利用存储 在数据库中的信息可鉴定试图接到数据库的一用户,这种鉴 别方法仅当操作系统不能用于数据库用户鉴别时才使用。当 用户使用一 ORACLE数据库时执行用户鉴别。每个用户在 建立时有一个口令,用户口令在建立对数据库连接时使用, 以防止对数据库非授权的使用。用户的口令以密码的格式存 储在数据库数据字典中,用户可随时修改其口令。2) 用户的表空间设置和定额关于表空间的使用有几种设置选择:用户的缺省表空间;用户的临时表空间;数据库表空间的空间使用定额。3) 用户资源限
39、制和环境文件用户可用的各种系统资源总量的限制是用户安全域的 部分。利用显式地设置资源限制;安全管理员可防止用户无 控制地消耗宝贵的系统资源。资源限制是由环境文件管理。 一个环境文件是命名的一组赋给用户的资源限制。另外OR ACLE为安全管理员在数据库级提供使能或使不能实施环境 文件资源限制的选择。ORACLE可限制几种类型的系统资 源的使用,每种资源可在会话级、调用级或两者上控制。在 会话级:每一次用户连接到一数据库,建立一会话。每一个 会话在执行SQL语句的计算机上耗费CPU时间和内存量进 行限制。对ORACLE的几种资源限制可在会话级上设置。 如果会话级资源限制被超过,当前语句被中止(回滚
40、),并 返回指明会话限制已达到的信息。此时,当前事务中所有之 前执行的语句不受影响,此时仅可作COMMIT、ROLLBAC K或删除对数据库的连接等操作,进行其它操作都将出错。 在调用级:在SQL语句执行时,处理该语句有好几步,为 T防止过多地调用系统,ORACLE在调用级可设置几种资源 限制。如果调用级的资源限制被超过,语句处理被停止,该 语句被回滚,并返回一错误。然而当前事务的已执行所用 语句不受影响,用户会话继续连接。有下列资源限制:为了防止无控制地使用CPU时间,ORACLE可限制每次 ORACLE调用的CPU时间和在一次会话期间ORACLE调 用所使用的CPU的时间,以0.01秒为单
41、位。为了防止过多的I/O, ORACLE可限制每次调用和每次会 话的逻辑数据块读的数目。ORACLE在会话级还提供其它几种资源限制。每个用户的并行会话数的限制;会话空闲时间的限制,如果一次会话的ORACLE调用 之间时间达到该空闲时间,当前事务被回滚,会话被中止, 会话资源返回给系统;每次会话可消逝时间的限制,如果一次会话期间超过可 消逝时间的限制,当前事务被回滚,会话被删除,该会话的 资源被释放;每次会话的专用SGA空间量的限制。用户环境文件:用户环境文件是指定资源限制的命名集,可赋给ORAC LE数据库的有效的用户。利用用户环境文件可容易地管理 资源限制。要使用用户环境文件,首先应将数据库
42、中的用户 分类,决定在数据库中全部用户类型需要多少种用户环境文 件。在建立环境文件之前,要决定每一种资源限制的值。例 如一类用户通常不执行大量逻辑数据块读,那就可将LOGI CAL-READS-PER-SESSION 和 LOGICAL-READS-PER-C ALL设置相应的值。在许多情况中决定一用户的环境文件的 合适资源限制的最好的方法是收集每种资源使用的历史信 息。2. 特权和角色1) 特权:特权是执行一种特殊类型 的SQL语句或存取另一用户的对象的权力。有两类特权: 系统特权和对象特权。系统特权:是执行一处特殊动作或者在对象类型上执行 一种特殊动作的权利。ORACLE有60多种不同系统
43、特权, 每一种系统允许用户执行一种特殊的数据库操作或一类数 据库操作.系统特权可授权给用户或角色,一般,系统特权全 管理人员和应用开发人员,终端用户不需要这些相关功能.授 权给一用户的系统特权并具有该系统特权授权给其他用户 或角色.反之,可从那些被授权的用户或角色回收系统特权.对象特权:在指定的表、视图、序列、过程、函数或包 上执行特殊动作的权利。对于不同类型的对象,有不同类型的 对象特权。对于有些模式对象,如聚集、索引、触发器、数 据库链没有相关的对象特权,它们由系统特权控制。对于包 含在某用户名的模式中的对象,该用户对这些对象自动地具 有全部对象特权,即模式的持有者对模式中的对象具有全部
44、对象特权。这些对象的持有者可将这些对象上的任何对象特 权可授权给其他用户。如果被授者包含有GRANT OPTION 授权,那么该被授者也可将其权利再授权给其他用户。2) 角色:为相关特权的命名组,可授权给用户和角色。ORACEL利用角色更容易地进行特权管理。有下列优点:减少特权管理,不要显式地将同一特权组授权给几个用 户,只需将这特权组授给角色,然后将角色授权给每一用户。动态特权管理,如果一组特权需要改变,只需修改角色 的特权,所有授给该角色的全部用户的安全域将自动地反映 对角色所作的修改。特权的选择可用性,授权给用户的角色可选择地使其使 能(可用)或使不能(不可用)。应用可知性,当一用户经一用户名执行应用时,该数据库 应用可查询字典,将自动地选择使角色使能或不能。专门的应用安全性,角色使用可由口令保护,应用可提供 正确的口令使用权角色使能,达到专用的应用安全性。因用 户不知其口令,不能使角色使能。