数据库Oracle10g简介及事故数据库的创建.ppt
安全工程信息化技术课程汇报 数据库数据库O Oracle10gracle10g 简介及事故数据库的创建简介及事故数据库的创建 安全信息管理领域的主流数据库:安全信息管理领域的主流数据库:ACCESSSQL ServerOracle ACCESSACCESS具有界面友好、易学易用、开发具有界面友好、易学易用、开发简单、接口灵活等特点简单、接口灵活等特点,它的好处是比较灵它的好处是比较灵活轻便,易于维护,它不提供网络服务功活轻便,易于维护,它不提供网络服务功能,最适用一些单机程序的数据存储,如能,最适用一些单机程序的数据存储,如果是大数据量,专业性强,安全性要求高,果是大数据量,专业性强,安全性要求高,并发性很强的应用中并发性很强的应用中 SQL server SQL server和和oracleoracle是首选,是首选,oracle oracle更加专业更加专业一点。一点。Oracle1 1、处理速度快,非常快、处理速度快,非常快;2 2、安全级别高。支持完美恢复,、安全级别高。支持完美恢复,即使硬件坏了即使硬件坏了,也可以恢复也可以恢复 到故障发前的到故障发前的1s1s;3 3、几台数据库做负载数据库,、几台数据库做负载数据库,可以做到可以做到30s30s以内故障转移以内故障转移;4 4、网格控制,以及数据仓库方、网格控制,以及数据仓库方 面面,也非常强大也非常强大 。oracle 优势优势 OrcaleOrcale数据数据库库已经成为数据库市场最为领先的已经成为数据库市场最为领先的数据库系统。数据库系统。电信、邮政以及国内很多银行应用的都是电信、邮政以及国内很多银行应用的都是oracleoracle数据库。数据库。我们可以建立事故数据库,事故数据库可以寻我们可以建立事故数据库,事故数据库可以寻找事故发生规律继而做出防范措施,在事故研究方找事故发生规律继而做出防范措施,在事故研究方面起到很重要的作用,所以掌握一种数据库对于安面起到很重要的作用,所以掌握一种数据库对于安全工作者来说也是很有必要的。全工作者来说也是很有必要的。oracle 优势优势第1章 Oracle Database 10g概述 Oracle Database 10gOracle Database 10g是由是由OracleOracle公司公司推出的数据库系统。推出的数据库系统。据统计,据统计,OracleOracle在全球数据库市场上在全球数据库市场上的占有率超过三分之一,多年来持续性地的占有率超过三分之一,多年来持续性地雄踞全球数据库市场霸主地位。雄踞全球数据库市场霸主地位。我国于我国于19871987引进了引进了OracleOracle系统,之后系统,之后OracleOracle公司在中国的业务取得了迅猛发展,公司在中国的业务取得了迅猛发展,确立了在中国数据库和电子商务应用市场确立了在中国数据库和电子商务应用市场的绝对领先优势。的绝对领先优势。本章主要内容1.1 Oracle1.1 Oracle产品简史产品简史1.2 Oracle Database 10g产品1.3 1.3 数据库技术特点数据库技术特点1.4 1.4 数据库管理员的工作任务数据库管理员的工作任务 1.1 Oracle 1.1 Oracle产品简史产品简史 自自2020世纪世纪7070年代成功推出年代成功推出OracleOracle产品以来,产品以来,OracleOracle公司已经成为世公司已经成为世界上最大的数据库专业厂商之一。界上最大的数据库专业厂商之一。1996 1996年,年,OracleOracle公司成功推出了公司成功推出了专门面向中国市场的数据库产品,专门面向中国市场的数据库产品,即即Oracle 7Oracle 7。1997 1997年,年,OracleOracle公司推出了基于公司推出了基于网络计算的数据库产品,即网络计算的数据库产品,即Oracle Oracle 8 8。1.1 Oracle1.1 Oracle产品简史产品简史 1999 1999年,针对年,针对InternetInternet技术的发展,技术的发展,OracleOracle公司推出了第一个基于公司推出了第一个基于InternetInternet的数据库,即的数据库,即Oracle 8iOracle 8i。2001 2001年,年,OracleOracle公司又推出了新一公司又推出了新一代代InternetInternet电子商务基础架构,即电子商务基础架构,即Oracle 9iOracle 9i。2003 2003年年9 9月,月,OracleOracle公司发布了其最公司发布了其最新数据库产品,即新数据库产品,即Oracle Database Oracle Database 10g10g。1.2 Oracle Database 10g产品 Oracle Database 10gOracle Database 10g提供了提供了4 4个版本,个版本,每一个版本适用于不同的开发和部署环境。每一个版本适用于不同的开发和部署环境。这些针对特殊应用需求的数据库产品大大这些针对特殊应用需求的数据库产品大大增强了增强了Oracle Database 10g Oracle Database 10g 的功能的功能。Oracle Database 10gOracle Database 10g标准版标准版1 1Oracle Database 10gOracle Database 10g标准版标准版Oracle Database 10gOracle Database 10g企业版企业版Oracle Database 10gOracle Database 10g个人版个人版 标准版标准版1 1适用于适用于1-2CPU1-2CPU的服务器,价格的服务器,价格有相当的优势,但仅限单机环境,适用于有相当的优势,但仅限单机环境,适用于中小型用户入门级应用中小型用户入门级应用。标准版标准版适用于适用于1-4CPU1-4CPU的服务器,包括的服务器,包括4CPU4CPU单服务器或单服务器或2 2台双台双CPUCPU服务器等配置,服务器等配置,可以做双机热备或可以做双机热备或RACRAC,价格适中,适用于,价格适中,适用于对数据库性能及安全性有进一步要求的大对数据库性能及安全性有进一步要求的大中型用户工作组级及部门级应用中型用户工作组级及部门级应用。本节从数据库和实例、本节从数据库和实例、表、视图、索引、数据存储、表、视图、索引、数据存储、数据保护等几个方面概括介绍数据保护等几个方面概括介绍OracleOracle Database 10g Database 10g系统的技术特点。系统的技术特点。1.3 1.3 数据库技术特点数据库技术特点数据库和实例数据库和实例 在在OracleOracle中,可以有中,可以有 多个实例同时使用同一个数据多个实例同时使用同一个数据 库。这些实例通常位于不同的库。这些实例通常位于不同的 服务器上,并且保持着高速互服务器上,并且保持着高速互 联。联。实例实例=进程进程+进程所使用的内存进程所使用的内存 实例是一个临时性的东西,你也实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的可以认为它代表了数据库某一时刻的状态!状态!数据库数据库=重做文件重做文件+控制文件控制文件+数数据文件据文件+临时文件临时文件 数据库是永久的,是一个文件的数据库是永久的,是一个文件的集合。集合。表表 Oracle Database 10gOracle Database 10g系统支持多系统支持多种类型的表,这些表包括种类型的表,这些表包括关系表、对关系表、对象关系表、索引编排表、外部表、分象关系表、索引编排表、外部表、分区表、物化视图、临时表、群集表、区表、物化视图、临时表、群集表、删除的表删除的表。视图 可以使用视图访问表中的数据。视图可以使用视图访问表中的数据。视图可以处理连接和聚集、限制返回的数据行、可以处理连接和聚集、限制返回的数据行、更改显示的列名称等。在更改显示的列名称等。在Oracle Oracle Database 10gDatabase 10g系统中,视图既可以是系统中,视图既可以是只读只读的,也可以是的,也可以是可更新可更新的,既可以引用本地的,既可以引用本地表,也可以引用远程表。表,也可以引用远程表。索引索引 为了提高对表中数据的访问效率,为了提高对表中数据的访问效率,OracleOracle系统支持多种类型的索引,这些索引包括系统支持多种类型的索引,这些索引包括B B树树索引、位图索引、反转键值索引、基于函数的索引、位图索引、反转键值索引、基于函数的索引、分区索引、文本索引索引、分区索引、文本索引等。等。数据存储 数据库中的所有逻辑结构都必须存数据库中的所有逻辑结构都必须存储在数据库中的某个地方。储在数据库中的某个地方。OracleOracle系系统能够统能够动态动态地创建、管理、撤销数据地创建、管理、撤销数据段。段。Oracle Database 10g Oracle Database 10g系统提出的系统提出的回收站回收站概念,使得表空间和数据文件概念,使得表空间和数据文件对空间的需求发生了变化。对空间的需求发生了变化。数据保护数据保护 在在OracleOracle系统中,可以系统中,可以完全控制完全控制数据的数据的访问权限。这样就可以实现数据的安全存访问权限。这样就可以实现数据的安全存储。储。用户的所有查询操作受到安全限制,在用户的所有查询操作受到安全限制,在Oracle Database 10gOracle Database 10g系统中,包含了数据系统中,包含了数据隐藏功能,这样可以安全方便地存放敏感隐藏功能,这样可以安全方便地存放敏感数据。数据。可编程的结构可编程的结构 基于可编程的结构,我们可以根据需要,基于可编程的结构,我们可以根据需要,创建出各种不同用途的数据库,例如创建出各种不同用途的数据库,例如事故事故类型数据库、事故原因数据库、事故案例类型数据库、事故原因数据库、事故案例数据库数据库等等,然后让数据库为事故的研究等等,然后让数据库为事故的研究工作服务。工作服务。1.4 1.4 数据库管理员的工作任务数据库管理员的工作任务 数据库管理员数据库管理员(database administrator(database administrator,DBA)DBA)的工作目标是确保的工作目标是确保Oracle Database 10gOracle Database 10g系统系统正常高效的运行。正常高效的运行。DBA DBA的工作是最繁忙的,无论是性能调整,还的工作是最繁忙的,无论是性能调整,还是灾难恢复,都离不开是灾难恢复,都离不开DBADBA的支持。的支持。安装和配置安装和配置 容量规划容量规划 应用架构设计应用架构设计 管理数据库对象管理数据库对象 存储空间管理存储空间管理 备份和恢复备份和恢复 性能监视和调优性能监视和调优 作业调度作业调度 故障解决故障解决 安全管理安全管理 DBADBA的任务:的任务:DBADBA安全管理安全管理 安全管理的内容包括安全管理的内容包括帐户管理帐户管理和和权限管权限管理理。帐户管理帐户管理就是在数据库中应该增加哪些就是在数据库中应该增加哪些帐户、这些帐户应该组合成哪些角色。帐户、这些帐户应该组合成哪些角色。权限管理权限管理是指对象权限和系统权限的管是指对象权限和系统权限的管理。理。第2章 事故数据库的创建2.1 事故数据库的优势2.2 事故数据库的设计2.3 事故数据库创建举例2.1 2.1 事故数据库的优势事故数据库的优势 分析过去的事故,是预防事故的重要工作,然而事分析过去的事故,是预防事故的重要工作,然而事故原因事故结果分析起来是一项很繁琐的工作,也难故原因事故结果分析起来是一项很繁琐的工作,也难以系统高效的分析出结果以系统高效的分析出结果。事故数据库的优势:事故数据库的优势:1 1、查询方式变的简单明了、多样化查询方式变的简单明了、多样化;2 2、查询的速度、精度及效率大幅度提高查询的速度、精度及效率大幅度提高;3 3、查询所受的人为限制越来越小。查询所受的人为限制越来越小。2.2 2.2 事故数据库的设计事故数据库的设计 在创建一个完整的数据库之前,合理的在创建一个完整的数据库之前,合理的数据库结构设计是相当重要的。不合理的数据库结构设计是相当重要的。不合理的数据结构可能会增数据结构可能会增加加SQLSQL语句的设计难度,语句的设计难度,甚至有可能无法从数据库中查询出必要的甚至有可能无法从数据库中查询出必要的信息信息,所以数据库的设计应该遵循一定的,所以数据库的设计应该遵循一定的规则。规则。2.2 2.2 事故数据库的设计事故数据库的设计数据库设计应遵循的原则:数据库设计应遵循的原则:(1)(1)慎用外键慎用外键 外键把许多独立的实体牵连在一起,外键把许多独立的实体牵连在一起,使得使得维持数据一致性负担沉重,也使数据维持数据一致性负担沉重,也使数据库应用复杂化,加重了程序开发负担。库应用复杂化,加重了程序开发负担。2.2 2.2 事故数据库的设计事故数据库的设计(2)(2)适当冗余适当冗余 只要数据完整性、一致性不受威胁,有只要数据完整性、一致性不受威胁,有些冗余,不足为虑。些冗余,不足为虑。(3)(3)信息隐蔽信息隐蔽 这是软件工程最重要的基本原则之一。这是软件工程最重要的基本原则之一。2.2 2.2 事故数据库的设计事故数据库的设计 界面设计应遵循以下一些主要原则界面设计应遵循以下一些主要原则:1 1 操作通用性操作通用性 界面操作应符合界面操作应符合WindowsWindows程序的操作程序的操作 规范和使用习惯规范和使用习惯,便于掌握。使便于掌握。使 用户看到程序界面用户看到程序界面,能基本了能基本了 解该采取何种操作。解该采取何种操作。2.2 2.2 事故数据库的设计事故数据库的设计 2 2合理安排控件位置合理安排控件位置 应应分清主次分清主次,抓住重点抓住重点,将重要,将重要 的和经常访问的元素安排在屏幕上的的和经常访问的元素安排在屏幕上的 显著位置上,次要的元素则应置于次显著位置上,次要的元素则应置于次 要的位置。按照人们的习惯去安排空要的位置。按照人们的习惯去安排空 间的位置,达到间的位置,达到易识别、方便自然,易识别、方便自然,而且可减少误操作而且可减少误操作的目的。的目的。2.2 2.2 事故数据库的设计事故数据库的设计3 3界面一致性界面一致性 合理设置控件的大小;合理设置控件的大小;在列表框、组合框等多种控件同在列表框、组合框等多种控件同 时被使用时尽可能使得它们时被使用时尽可能使得它们风格风格 一致一致。在确定设计思路时,一定。在确定设计思路时,一定 要要坚持用同一种风格坚持用同一种风格贯穿整个应贯穿整个应 用程序的始终,完成整个程序的用程序的始终,完成整个程序的 设计。设计。2.2 2.2 事故数据库的设计事故数据库的设计4 4界面简洁明了界面简洁明了 简洁明了是界面设计的又一简洁明了是界面设计的又一 重要原则。在界面的空间使用上,重要原则。在界面的空间使用上,应当形成一种简洁明了的布局。应当形成一种简洁明了的布局。2.2 2.2 事故数据库的设计事故数据库的设计5 5良好的菜单设计良好的菜单设计6 6形式与内容相统一形式与内容相统一 在设计自己的图标与图像时,在设计自己的图标与图像时,应尽量简单、易识别,顺应一应尽量简单、易识别,顺应一 般人的思维和操作习惯。般人的思维和操作习惯。将数据库设计分为以下将数据库设计分为以下6 6个阶段:个阶段:1 1需求分析阶段需求分析阶段2 2概念结构设计阶段概念结构设计阶段3 3逻辑结构设计阶段逻辑结构设计阶段4 4物理结构设计阶段物理结构设计阶段5 5数据库实施阶段数据库实施阶段6 6数据库运行和维护阶段数据库运行和维护阶段2.3 2.3 事故数据库创建举例事故数据库创建举例 根据对国内多个城市燃气管道失效与事根据对国内多个城市燃气管道失效与事故的调查结果,故的调查结果,设计设计一个可用于城市燃气一个可用于城市燃气企业安全管理和安全评估的燃气管道失效企业安全管理和安全评估的燃气管道失效与事故数据库系统与事故数据库系统。燃气管道失效与事故燃气管道失效与事故数据库的内容设计数据库的内容设计如下(步骤如下(步骤1-31-3):):所建立的数据库需要以下信息:所建立的数据库需要以下信息:1 安全管理信息数据库 安全管理机构信息。抢险机构信息。安全管理规章信息。安全生产投入信息。管网设备台账信息。其他安全管理信息。2.3 2.3 事故数据库创建举例事故数据库创建举例安全管理信息数据库2.3 2.3 事故数据库创建举例事故数据库创建举例2 2 管道失效数据库管道失效数据库 失效简要信息登记失效简要信息登记;失效管道基失效管道基本信息本信息;失效模式失效模式;失效原因调查失效原因调查;抢险抢修记录抢险抢修记录;失效导致的事故类型失效导致的事故类型;失效管道的管理信息失效管道的管理信息。2.3 2.3 事故数据库创建举例事故数据库创建举例 事故简要信息登记 事故类型 事故后果记录 事故损失统计 事故处理记录管道事故记录数据库城镇燃气管道失效与事故数据库安全管理规章信息管网设备台账信息管道失效数据库安全管理信息数据库失效模式抢险抢修记录失效管道管理信息失效原因调查失效简要信息登记失效管理基本信息安全管理机构信息抢险机构信息安全生产投入信息其他安全管理信息管道事故记录数据库事故简要信息登记事故处理记录事故损失统计事故后果记录事故类型管道失效与事故数据库数据结构步骤四:物理结构2.3 2.3 事故数据库创建举例事故数据库创建举例步骤五:数据库的实施步骤五:数据库的实施 这这个步骤里,用这这个步骤里,用SQLSQL语言,将设语言,将设计好的事故信息以表格的形式存储进计好的事故信息以表格的形式存储进数据库。各个表格之间的逻辑关系用数据库。各个表格之间的逻辑关系用主键来表示,这个过程中要遵守四个主键来表示,这个过程中要遵守四个范式来编程。范式来编程。演示以下表格的存储:演示以下表格的存储:2.3 2.3 事故数据库创建举例事故数据库创建举例序号时间地点事故类型事故损失12008A火灾火灾1亿亿22009B爆炸爆炸2亿亿32010C中毒中毒3亿亿42011D泄露泄露4亿亿2.3 2.3 事故数据库创建举例事故数据库创建举例以下是创建该表格的数据库语言:以下是创建该表格的数据库语言:create table pipe(ord integer,tim integer,lacle char(4),tiger char(4),nd integer);insert into pipe values(1,2008,A,火灾,1);insert into pipe values(2,2009,B,爆炸,2);insert into pipe values(3,2010,C,中毒,3);insert into pipe values(4,2011,D,泄露,4);2.3 2.3 事故数据库创建举例事故数据库创建举例查询该表格的数据库语言:查询该表格的数据库语言:select*from select*from pipe pipe;删除表格的数据库语言:删除表格的数据库语言:drop table pipe;drop table pipe;第第3 3章章 SQL SQL简介简介 SQLSQL结构化查询语言结构化查询语言(Structured Query Language(Structured Query Language)。)。SQLSQL语言结构简洁,功能强大,语言结构简洁,功能强大,简单易学。简单易学。是数据库是数据库oracleoracle的编的编辑语言。辑语言。SQLSQL与与C C、C+C+的比较的比较 C C语言是一种语言是一种编译型编译型语言,只能编写语言,只能编写DOSDOS程序,程序,功功能不是很强大能不是很强大。C+C+是是C C语言进化而来的,有强大的功能,靠语言进化而来的,有强大的功能,靠近计算机底层,编写出来的程序对系统资源依赖近计算机底层,编写出来的程序对系统资源依赖较小,功能强大,运行速度快。虽然较小,功能强大,运行速度快。虽然C+C+很有优点,很有优点,但是对于学习者来说应该是但是对于学习者来说应该是比较困难比较困难的一门语言。的一门语言。(再说明一点,(再说明一点,C C或或C+C+属于语言,而属于语言,而VC-VC-“Visual C+Visual C+”是用来编写是用来编写C C或或C+C+的工具)的工具)。SQLSQL与与C C、C+C+的比较的比较 SQLSQL可完成如下任务可完成如下任务:在在一一个个或或多多个个数数据据库库的的一一个个或或多多个个表表中中检检索索数据;数据;通过插入通过插入,删除或更改记录操纵表中数据;删除或更改记录操纵表中数据;对表的数据进行数学统计;对表的数据进行数学统计;创创建建更更改改或或删删除除数数据据库库中中的的表表(仅仅ACCESSACCESS数数据据库库)创建或删除表中的索引。创建或删除表中的索引。SQLSQL语言的特点语言的特点 1.1.综合统一综合统一 2.2.高度非过程化高度非过程化 3.3.面向集合的操作方式面向集合的操作方式 4.4.以同一种语法结构提供多种使用方以同一种语法结构提供多种使用方式式 5 5.语言简洁,易学易用语言简洁,易学易用 6.6.对于数据统计方便直观对于数据统计方便直观SQLSQL语言包含语言包含3 3个部分:个部分:数据操作语言例如:数据操作语言例如:INSERTINSERT(插入)、(插入)、UPDATEUPDATE(修改)、(修改)、DELETEDELETE(删除)语句。(删除)语句。数据控制语言例如:数据控制语言例如:GRANTGRANT(授权)(授权)、REVOKEREVOKE(撤消)(撤消)、COMMITCOMMIT(提交)(提交)、ROLLBACKROLLBACK(回滚)(回滚)等语句。等语句。数据定义语言例如:数据定义语言例如:CREATECREATE(创建)(创建)、DROPDROP(删除)(删除)、ALTERALTER(更改)(更改)等语句。等语句。SQL语言功能 SQL SQL 面向数据库执行面向数据库执行查询查询;SQL SQL 可从数据库取回数据;可从数据库取回数据;SQL SQL 可在数可在数据库中据库中插入插入新的记录;新的记录;SQL SQL 可可更新更新数据库中的数据;数据库中的数据;SQL SQL 可从数据库可从数据库删除删除记录;记录;SQL SQL 可可创建新数据库创建新数据库;SQL SQL 可在数据库中可在数据库中创建新表创建新表;SQL SQL 可在数据库中可在数据库中创建视图创建视图;SQL SQL 可以设置表、存储过程和视图的权限。可以设置表、存储过程和视图的权限。敬请批评指正!敬请批评指正!