ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训BeyondTechnologyITEducation&TrainingCopyright2007©版权所有东软培训第一章Oracle数据库基础ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训本章要点z数据库管理系统概述z关系数据库完整性原则zOracle数据库对象、安全及网络访问z安装Oracle软件和创建数据库z常用工具SQL*Plus及企业管理器zDBCA数据库配置助手zNETCA/NETMGR网络配置工具z数据库实例的启动和停止zOracle的网络连接基本管理ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库管理系统概述z数据库(DB)z数据库管理系统(DatabaseManagementSystem,DBMS)管理数据库的软件。具有对数据存储、安全、一致性、并发操作、恢复和访问等功能。z数据词典(系统目录),也是一种数据,只不过这些数据记录的是数据库中存放的各种对象的定义信息和其他一些辅助管理信息,包括名字、结构、位置、类型等。这些数据被称为元数据(metadata)。z数据库系统管理员(DBA),数据库管理人员。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库的发展z数据管理主要经历过程:–手工管理阶段:应用程序管理数据、数据不保存、不共享、不具有独立性。–文件管理阶段:文件系统管理数据、数据可长期保存、但共享性差、冗余度大、独立性差。–数据管理阶段:数据库系统管理数据、数据结构复杂、冗余小、易扩充、较高的独立性、统一数据控制。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库的特征z数据结构化z实现数据共享z减少数据冗余z数据独立性ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库的类型z按数据模型特点分:–网状型数据库–层次型数据库–关系型数据库ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训关系数据库的数据结构z关系数据库是指一些相关的表和其他数据库对象的集合。对于关系数据库来说,关系就是表的同义词。z表是由行和列组成(类似二维数组的结构)。–列包含一组命名的属性(也称字段)。–行包含一组记录,每行包含一条记录。–行和列的交集称为数据项,指出了某列对应的属性在某行上的值,也称为字段值。–列需定义数据类型,比如整数或者字符型的数据。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训关系数据库的数据结构图示ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训关系数据库的数据操作语句z常用数据库操作语句有SELECT,INSERT,UPDATE和DELETEz常用数据库定义语句有CREATE,ALTER和DROPz其他语句ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训关系数据库的完整性原则z关系模型的完整性原则–实体完整性原则–引用完整性原则z主关键字(primarykey)指表中的某一列或多列组合,该列或组合的值唯一标识一行。即主关键字的值必须唯一且不允许为NULL。z外关键字(foreignkey)指一个表中的一列或一组列,他们在其他表中作为主键或唯一键而存在。一个表的外键被认为是对另一个表中主键的引用。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训常见关系数据库zOraclezDB2zSybasezMicrosoftSQLServerzACCESSITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle数据库简介zOracle数据库软件是Oracle公司开发的关系型数据库产品,支持各种操作系统平台,包括Windows、Linux和Unix等,目前Oracle在关系型数据库产品领域内处于领先地位。zOracle的最新的数据库软件版本是11g,8i和9i的版本也仍然在广泛使用中。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle数据库的典型特征z支持海量存储、多用户并发高性能事务处理。z多种备份和恢复策略。包括高级复制,物理和逻辑的24*7备份和恢复工具,异地容载实现等。z开放式联结。给各种其他应用提供了统一的接口,并可以接入很多其他传统应用程序。z遵循SQL语言规范,支持各种操作系统、用户接口和网络通信协议的工业标准。z第一个实现网格计算的数据库(10g版本)ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle数据库的典型特征(续)z应用集群实现可用性和可伸缩性z业界领先的安全性z借助自我管理使数据库降低管理成本ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle公司发展史z1977年,LarryEllison、BobMiner和EdOates建立SDL。引入了E.F.Codd教授的新型数据库,引入了SQL语言。z1978年,RelationalSoftware公司诞生。z1979年,第一个商业数据库产品出现。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle的第一197920052005oracle10g第一个实现网格计算2002Oracle9iRelease22001Oracle9iRelease11998第一个Internet数据库Oracle8i1997第一个对象-关系型数据库产品Oracle81996提出以网络为中心的NCA体系结构1996第一个与数据库结合的WEBServer1996第一个全能服务器产品1994第一个多媒体数据库服务器1994第一个全面并行数据库1993第一套跨平台的GUI工具集1991第一个支持MPP的关系数据库1991第一个并行服务器数据库1990第一套Client/Server的应用软件1989第一个支持OLTP的关系数据库1988第一套基于Unix关系数据库的财务应用软件1987第一套集成Case和4GL的工具集1986第一个Client/Server数据库1984第一套可移植的开发工具集1983第一个可移植的数据库1979第一个商品化SQL数据库技术领先ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle在中国z中国数据库市场最大厂商z在应用软件领域迅速增长z在各个行业中应用广泛ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle主要产品z数据库oracle7.3、oracle8、oracle8i、oracle9i、oracle10gz应用服务器:IAS9i。zERP产品:企业管理组件,包括财务管理、人力资源管理、生产管理等模块。z开发工具包:包括了Form、Report、Designer、Jdeveloper等可视化的开发工具包,可方便快捷的开发基于Oracle数据库的应用程序。z数据仓库产品:包括Discover、OWR、Express等数据仓库构建、数据挖掘与分析等软件包。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle数据库特点z支持大数据库、多用户的高性能的事务处理zOracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准z实施安全性控制和完整性控制z支持分布式数据库和分布处理z具有可移植性、可兼容性和可连接性z全球化、跨平台的数据库ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训Oracle体系结构instanceinstanceSGASGAPMONPMONSMONSMONDBWRDBWRLGWRLGWRCKPTCKPTOthersOthersSharedPoolSharedPoolLibraryCacheLibraryCacheDatadictionaryCacheDatadictionaryCacheDatabaseBufferCacheDatabaseBufferCacheRedoLogBufferRedoLogBufferJavaPoolJavaPoolLargePoolLargePoolDatabaseDatabaseDataFilesDataFilesControlFilesControlFilesRedoLogFilesRedoLogFilesArchivedLogFilesArchivedLogFilesPasswordFilePasswordFileParameterFileParameterFileUserProcessUserProcessServerProcessServerProcessPGAPGAITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库文件与存储z数据库核心文件:数据文件(Datafiles),重做日志文件(RedoLogFiles)和控制文件(Controlfiles)。z数据文件:存放的是用户的数据和系统的数据。一个Oracle数据库一般会包含多个数据文件。z重做日志文件:记录了系统改变的日志。主要用于数据库的恢复。因此,又称为“重做日志文件”。z控制文件:记录数据库的一些核心配置数据。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库文件与存储(续)z参数文件(Parameterfile),参数文件是在实例启动的时候,配置实例运行相关的一些参数(比如内存分配的大小,实例运行出错的日志存放位置等)。z表空间是Oracle内部自己的一套数据存储组织形式。从物理上获得空间后,Oracle自己来管理这些空间的使用。这些可用的空间组织成逻辑存储的主要单位称之为表空间。z表空间由一个或多个数据文件组成,逻辑结构(表空间)和物理结构(文件)关联后,其后对于空间的分配则完全是由Oracle内部在表空间中自动进行管理的。ITEducation&Training东软认证JAVA软件工程师Copyright2007©版权所有东软培训数据库对象表表约束约束序列序列索引索引视图视图同义词同义词存储过程存储过程函数函数触发器触发器包包表是用来存放用户数据的对象,由行和列组成,列就是字段,行就是表中的记录表是用来存放用户数据的对象,由行和列组成,列就是字段,行就是表中的记录数据库对象的别名数据库对象的别名用于完成某种特定的功能的PL/SQL程序,存储在数据库中用于完成某种特定的功能的PL/SQL程序,存储在数据库中用于进行复杂计算的PL/SQL函数,返回一个计算结果,存储在数据库中用于进行复杂计算的PL/SQL函数,返回一个计算结果,存储在数据库中由事件触发而执行的PL/SQL程序,用于在特定的时机执行特定的任务,存储在数据库中由事件触发而执行的PL/SQL程序,用于在特定的时机执行特定的任务,存储在数据库中一组相关的函数和存储过程的命名集