第1章Oracle9i基础1.1关系型数据库系统简介1.1.1什么是关系型数据关系型数据是以关系数学模型来表示的数据。关系数学模型中以二维表的形式来描述数据,如表1.1和表1.2所示。表1.1研究生信息二维表学号姓名专业导师编号2002080520王海计算机安全2002012002080521李东软件工程200209表1.2导师信息二维表编号姓名职称职务200201刘阳博导室主任200209海涛硕导系主任1.1.2什么是关系型数据库1.什么是主码(主键)能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码。2.什么是外码(外键)表1.2的【编号】字段和表1.1的【导师编号】字段是对应的。表1.2中的【编号】字段是表1.2的主码。表1.2中的【编号】字段又可以称为是表1.1的外码。1.1.3什么是关系型数据库系统一个完整的关系型数据库系统包含5层结构,如图1.1所示。图1.1关系型数据库系统的层次结构1.硬件硬件指安装数据库系统的计算机,包括两种。服务器客户机2.操作系统操作系统指安装数据库系统的计算机采用的操作系统。3.关系型数据库管理系统、数据库关系型数据库是存储在计算机上的、可共享的、有组织的关系型数据的集合。关系型数据库管理系统是位于操作系统和关系型数据库应用系统之间的数据库管理软件。4.关系型数据库应用系统关系型数据库应用系统指为满足用户需求,采用各种应用开发工具(如VB、PB和Delphi等)和开发技术开发的数据库应用软件。5.用户用户指与数据库系统打交道的人员,包括如下3类人员。最终用户数据库应用系统开发员数据库管理员1.1.3什么是关系型数据库管理系统1.数据定义语言及翻译程序DDL2.数据操纵语言及编译(解释)程序DML3.数据库管理程序1.2网络关系型数据库的代表Oracle9i1.2.1Oracle9i数据库1.企业版(EnterpriseEdition)2.标准版(StandardEdition)3.个人版(PersonalEdition)1.2.2Oracle9i应用服务器Oracle9i应用服务器有两种版本。1.企业版(EnterpriseEdition)企业版主要用于构建互联网应用,面向企业级应用。2.标准版(StandardEdition)标准版用于建立面向部门级的Web应用。1.2.3Oracle9i开发工具套件Oracle9i开发工具套件是一整套的Oracle9i应用程序开发工具。1.3Oracle9i的特点Oracle9i在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破,其特点主要包括如下内容。1.3.1集群技术集群的原理如图所示。1.3.2联机分析处理、数据挖掘和分析技术1.什么是联机分析处理当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransactionprocessing)、联机分析处理OLAP(On-LineAnalyticalProcessing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTPOLAP用户操作人员,低层管理人员决策人员,高级管理人员功能日常操作处理分析决策DB设计面向应用面向主题数据当前的,最新的细节的,二维的分立的历史的,聚集的,多维的集成的,统一的存取读/写数十条记录读上百万条记录工作单位简单的事务复杂的查询用户数上千个上百个DB大小100MB-GB100GB-TB2.什么是数据仓库图1.3数据仓库的体系结构3.什么是数据挖掘和分析数据分析是从大量的数据中获取所需要的决策数据的技术。数据挖掘是从数据仓库中由数据分析工具主动发现并提取隐藏在数据仓库内部的信息的新技术。1.3.3智能管理1.3.3分布式图1.3分布式网络数据库第2章构建环境—安装Oracle9i2.1安装数据库服务器采用Windows2000Server作为安装的网络操作系统平台,数据库服务器采用Oracle9iDatabaseforWindows2000的企业版。2.1.1安装的硬件环境需求下列从5个主要的方面阐述Oracle9i对硬件环境的要求。1.对CPU的要求CPU最低配置到Pentium166就可以。2.对内存的要求内存容量最低为63MB,最好在256MB以上。3.对硬盘的要求建议配置8GB容量以上硬盘。3.对光驱的要求建议选用快速光驱,16倍速以上。5.对网卡的要求一般可以选用10/100MB自适应网卡。2.1.2安装的软件环境需求下列从两个主要的方面阐述Oracle9i对软件环境的要求。1.对操作系统的要求建议在全新安装的Windows2000Server上安装数据库服务器,在Windows2000Server或Windows98上安装管理客户机。2.对虚拟内存的要求建议可以将虚拟内存适当进行调整以加快安装速度。2.1.3安装的网络环境需求安装Oracle9i数据库服务器,至少需要有两台计算机,通过交换机或集线器构成局域网。2.1.3用【Ping】命令测试网络是否连通(1)输入“ping10.1.1.10-t”命令行,单击按钮。2.1.5安装步骤(1)出现如图2.3所示的【安装】界面。单击【开始安装】按钮。Oracle9i的安装选项安装选项安装类型Oracle9iDatabase9.0.1.1.1企业版标准版个人版自定义(定制安装)Oracle9iClient9.0.1.1.1Administrator(安装管理控制台、管理工具、网络服务、实用程序和基本客户软件)Runtime(运行时,安装应用开发程序、网络服务和基本客户软件)自定义(定制安装)Oracle9iManagementandIntegration9.0.1.0.1OracleManagementServer(安装管理服务器)OracleInternetDirectory(安装OracleInternetDirectory、客户机工具集、OracleDirectoryManager和客户端开发工具包)OracleIntegrationServer(安装配置高级队列、OracleJava虚拟机和工作流的数据库)自定义(定制安装)★全局数据库名,字符集2.2安装管理客户机2.2.1安装步骤OracleNetConfigurationAssistant(Oracle网络配置助手)。输入全局数据库名选择TCP协议输入数据库服务器IP地址选择使用标准端口号1521…/network/admin/tnsname.oraerp=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=10.1.1.12)(Port=1521)))(CONNECT_DATA=(SID=cxdb1)))2.2.2安装结果客户机的程序组。Oracle9i管理客户机的程序组程序组名称程序组含义ApplicationDevelopment【应用开发】程序组ConfigurationandMigrationTools【配置和迁移工具】程序组EnterpriseManagementPacks【企业管理包】程序组EnterpriseManagerQuickTours【企业管理者快速巡游】程序组IntegratedManagementTools【集成管理工具】程序组EnterpriseManagerConsole【企业管理控制台】程序组ReleaseDocumentation【发行文档】程序组2.3数据库服务器的体系结构2.3.1进程结构Oracle9i网络环境里共有两大类进程。1.用户进程用户进程是在客户机内存上运行的程序,如客户机上运行的【SQLPlus】、【企业管理器】等。用户进程向服务器进程提出操作请求。2.服务器进程Oracle9i的主要后台支持进程名称主要作用系统监控进程(SMON)数据库系统启动时执行恢复性工作,对有故障数据库进行恢复进程监控进程(PMON)用于恢复失败的用户进程数据库写入进程(DBWR)将修改后的数据块内容写回数据库日志写入进程(LGWR)将内存中的日志内容写入日志文件归档进程(ARCH)当数据库服务器以归档方式运行时调用该进程完成日志归档检查点进程(CKPT)标识检查点,用于减少数据库恢复所需要的时间恢复进程(RECO)用于分布式数据库中的失败处理锁进程(LCKn)在并行服务器模式下确保数据的一致性快照进程(SNPn)进行快照刷新调度进程(Dnnn)负责把用户进程路由到可用的服务器进程进行处理2.3.2内存结构1.系统全局区(SGA)SGA的作用2.程序全局区(PGA)PGA是数据库服务器内存中为单个用户进程分配的专用的内存区域,是用户进程私有的,不能共享。2.3.3数据库的逻辑结构Oracle9i数据库的逻辑结构主要指从数据库使用者的角度来考查的数据库的组成,自下向上,数据库的逻辑结构共有6层。数据库的逻辑结构1.数据块(DataBlock)2.数据区间(DataExtent)3.数据段(DataSegment)3.逻辑对象(LogicObject)5.表空间(Tablespace)6.数据库(Database)Oracle9i安装完毕后自动建立9个默认的表空间。名称主要作用CWMLITE用于联机分析处理(OLAP)DRSYS用于存放与工作空间设置有关的信息EXAMPLE实例表空间,存放实例信息INDEX索引表空间,存放数据库索引信息SYSTEM系统表空间,存放表空间名称、所含数据文件等管理信息TEMP临时表空间,存储临时表TOOLS工具表空间,存放数据库工具软件所需的数据库对象UNDOTBS回滚表空间,存放数据库恢复信息USERS用户表空间,存放用户私有信息2.3.3数据库的存储结构数据库的存储结构指逻辑结构在物理上是如何实现的,共有3层。数据库的存储结构1.物理块2.物理文件每个物理文件由若干个物理块组成,主要包括数据文件、控制文件和日志文件3类。数据文件:用于存放所有的数据,以DBF为扩展名。日志文件:记录了对数据库进行的所有操作,以LOG为扩展名。控制文件:记录了数据库所有文件的控制信息,以CTL为扩展名。2.3.5数据库服务器的总体结构Oracle9i数据库服务器的总体结构。用户进程用户进程用户进程第3章SQL3.1SQL概述3.1.1SQL是什么SQL(StructuredQueryLanguage,译为结构化查询语言)在关系型数据库中的地位就犹如英语在世界上的地位。它是数据库系统的通用语言,利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作。比如“select*from数据表名”代表要从某个数据表中取出全部数据,在Oracle9i、SQLServer2000、Foxpro等关系型数据库中都可以使用这条语句。SQL已经被ANSI(美国国家标准化组织)确定为数据库系统的工业标准。SQL语言按照功能可以分为3大类。数据查询语言DQL:查询数据。数据定义语言DDL:建立、删除和修改数据对象。数据操纵语言DML:完成数据操作的命令,包括查询。数据控制语言DCL:控制对数据库的访问,服务器的关闭、启动等。3.1.2SQL的主要特点SQL语言简单易学、风格统一,利用简单的几个英语单词的组合就可以完成所有的功能。在SQLPlusWorksheet环境下可以单独使用的SQL语句,几乎可以不加修改地嵌入到如VB、PB这样的前端开发平台上,利用前端工具的计算能力和SQL的数据库操纵能力,可以快速建立数据库应用程序。3.1.3Oracle9i使用SQL的工具在Oracle9i中为使用SQL语言提供了两个主要的工具。【SQLPlus】【SQLPlusWorksheet】两种工具在使用上功能都相同,但在可操作性上,【SQLPlusWorksheet】更适合初学者。3.1.3SQL中访问数据表的方法在SQL语言中访问数据表是通过“用户名.数据表”的形式来进行的