资源描述
ORACLE数据库系统原理,任课教师:王宁 办公地址:计算机学院计算机科学系九教北512 电话:51682453 email:,第一讲 Oracle概述,1.1 数据库知识回顾 1.2 关系数据库系统 1.3 Oracle公司及其产品 1.4 Oracle数据库的最新特点 1.5 与其他数据库系统的比较,1.1 数据库知识回顾,1.1.1 数据库的特点 1.1.2 数据库用户 1.1.3 数据库种类,数据库是按照一定数据模型组织存储在一起的,能为多个应用程序共享的、与应用程序相对独立的相互关联的数据集合。 数据库管理系统(DBMS)是指帮助用户使用和管理数据库的软件系统。,1.1.1 数据库的特点,数据库具有以下特点: 1数据的结构化 2数据共享 3数据冗余较少 4优良的存储功能,1应用程序开发员 应用程序开发员主要在开发周期内完成数据库结构设计,应用程序开发等任务。 2. 应用程序管理员 数据库系统一般需要一个以上应用程序管理员来管理应用程序。保证使用周期中对应用程序在功能及性能方面的维护,修改工作。 3.数据库管理员 数据库管理员(DBA),其职能是对数据库进行日常的管理。 4.数据库用户 数据库用户是应用程序的使用者,通过应用程序与数据库进行交互。,1.1.2 数据库用户,1.1.3 数据库种类,层次型数据库 网络型数据库 关系型数据库 面向对象数据库 对象关系型数据库 XML数据库,1.2.1 关系数据库简介 1.2.2 关系数据库的逻辑结构 1.2.3 后关系型数据库系统,1.2 关系数据库系统,Dr. E. F. Codd 在1970年提出了关系模型的概念. 关系模型包含以下内容: 关系数据结构 关系操作 完整性约束,1.2.1 关系数据库简介,1.2.2 关系数据库的逻辑结构,Oracle Server,IDLAST_NAMEFIRST_NAME 10HavelMarta 11MageeColin 12GiljumHenry 14NguyenMai,SALES_ IDNAMEPHONEREP_ID 201Unisports55-206610112 202Simms Atheletics81-2010114 203Delhi Sports91-1035114 204Womansport1-206-104-010311,Table Name: CUSTOMER,Table Name: EMP,描述 数据库的基本存储单位(由行和列组成). 一个或多个表中数据的逻辑映像. 产生主键的值. 提高查询的性能. 改变对象的名称 过程、函数和包(由SQL、PL/SQL语句组成).,数据库对象,对象 基表 视图 序列号 索引 同义词 程序单元,使用SQL同RDBMS通信,Oracle server,发送语句到Oracle 服务器,返回结果到客户端,关系数据模型和层次、网状数据模型的最大差别是?,用关键码而不是用指针导航数据,1.2.3 后关系型数据库系统,传统数据库技术的缺陷,(1)数据对象简单:只能检索一组数值,属性组成的记录和由同质记录组成的集合,无复杂的嵌套数据和复杂数据。(2)对象之间的关系简单,不能实现显示实体间继承等复杂联系。,后关系型数据库系统(post-relationaldatabase),九十年代中后期,世界著名的产业战略调查咨询公司GartenerGroup发表了一系列关于数据库系统发展的调研报告,其重点归纳起来大概有以下几点: 1. 关系型数据库系统技术已相当成熟,其发展已趋顶峰; 2. 尽管有了很大发展,关系型数据库系统能处理的数据类型仍相当有限; 3. 随着信息技术的发展,市场越来越需要能处理复杂数据类型的数据库; 4.由于大型数据库管理系统的技术复杂性以及开发的高昂费用,今后新型数据库系统很可能只在现有的数据库系统产品厂家内产生。,面向对象数据库,对象的状态: 是该对象属性(Attribute)值的集合。 对象的行为: 是在对象状态上操作的方法(Method)集。,对象:是现实世界中的实体模型化,与记录的概念相仿。对象把状态和行为封装在一起。,教师,学生,人,一个简单的类层次示意,继承的优点:是建模的有利工具;提供了信息重用机制,对象嵌套:一个对象的属性也可以是一个对象,面向对象的数据库系统不普及的原因?,1.面向对象数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。 2.关系数据库的基础是关系理论,而关系理论发展到今天已相当完备。而所谓的对象数据库,并没有严格的理论支持,在语言的完备性和查询优化方面都遇到了很大的障碍。,Michael Stonebraker和对象-关系型数据库,Michael Stonebraker是Ingres的创始人。他是加州大学伯克利分校的教授,著名的数据库学者,他在1992 年提出对象关系数据库模型。 S t o n e b r a k e r 教授领导了称为Postgres 的后Ingres 项目。这个项目的成果是非常巨大的,在现代数据库的许多方面都做出的大量的贡献。比如,面向对象的数据库,部分索引技术,规则,过程和数据库扩展等方面都走在了数据库管理系统的前列。,对象-关系数据库:下一个浪潮,1.纯关系型数据库系统市场已逐渐饱和; 2.纯面向对象型数据库系统除一些特殊用途外,市场极其狭小; 3.面向对象的关系型数据库才是新型数据库系统的发展方向。,Stonebraker不仅对现有的数据库类型及市场进行了详尽的分析,提出了“面向对象的关系型数据库”的基本思想,更难能可贵的是还提出了一系列具体技术实施的方法。比如,他提出的不放弃已经非常成功的查询语言SQL,而直接在SQL语言上进行功能扩展。Stonebraker的著作一面世立即受到了研究界和工业界高度重视,新版本的SQL3标准(99年发表)正是引进面向对象的关系型数据库的许多内容。而Stonebraker本人也在当时被Informix花大价钱聘作技术总负责人。,对象-关系数据模型,允许用户在关系数据库中扩充数据类型;,能够在SQL中支持复杂对象;,支持继承概念;,实现对象-关系数据库系统最主要的方法是对关系型DBMS核心进行扩充。,SQL3是1999年发布的SQL标准,其显著特点之一是提供了面向对象的扩展,增加了SQL/Object Language Binding,使我们可以同时处理关系模型中的表和面向对象模型中的类与对象。,XML:Internet技术上的一次新革命,XML的全称是“可扩展的标识语言(extensiblemarkuplanguage)”。1998年2月W3C组织公布了XML第一版本的标准,从此Internet技术进入了一个新的革命。如果说以http传输协议和超文本标识语言HTML为标志是第一代Internet技术的话,那么,围绕着XML所形成的一系列标准和技术将构成新一代的Internet技术。世界上几乎所有的大型IT公司都在跟踪和研究开发XML产品,XML文档实例, Beijing Library Database System Concepts 26.50 Kaily Jone Silen Smith A Query Language for XML Kaily Jone ,XML数据模型,pub,library,book,article,Beijing University,(year=“2000”),title,price,author,author,title,author,(editorID=“105”),Database System Concepts,26.5,(id=“101”),(id=“102”),(id=“104”),name,name,name,A Query Language for XML,Kaily Jone,Silen Smith,Kaily Jone,Native XML 数据库 vs. XML-Enabled 数据库,在发展XML数据库上,存在着两种完全不同的方法。 第一种方法 XML-Enabled 是在不变动关系型数据库内核层的基础上,将XML的树型结构数据拆散、重组转换成关系型表格数据存入数据库。在提取XML数据时,利用SQL语言的优化将库内的表格型数据取出并还原成XML结构型数据。 第二种方法 Native XML,也是被业界普遍认为是代表发展方向的方法,就是发展“原生XML数据库系统(Native XML Database)”。,双向转化,性能损耗,完整保留原有的结构和数据,破坏了原有的结构且容易丢失数据,例如节点顺序,注释等,Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州Redwoodshore,Oracle是世界上第一个商品化的关系型数据库管理系统,也是第一个在其全线产品中开发并部署100%基于互联网企业软件的公司,为世界上150个以上的国家提供数据库、服务器、开发工具和企业应用产品,还有相关的咨询、教育和支持服务。 根据META集团最新公布的市场研究报告,在高达130亿美元的全球关系型数据库软件市场上,Oracle数据库名列第一。,1.3 Oracle公司及其产品,Oracle数据库,核心是一种关系型数据库管理系统(RDBMS). 数据存储 快速恢复 数据库安全 网络结构 客户端/服务器,Server,Oracle网络图,基表,数据字典,ORACLE的发展,ORACLE7 (1992年) 完备的关系型数据库管理系统 ORACLE8(1997年6月) 主要增加了对对象模型的支持 ORACLE8I(1998年初) 有限地提供了对internet应用的支持 ORACLE9I(2000年12月) 增加了更多的对internet应用及电子商务的支持 ORACLE10g(2004年) 结合了最新的网格计算的功能 ORACLE11g (2007年7月) 引入了更多的自助式管理和自动化功能。,1.4 Oracle数据库的最新特点,1自助式管理和自动化功能 帮助客户降低系统管理成本,同时提高客户数据库应用的性能、可扩展性、可用性和安全性 Oracle数据库11g新的管理功能包括: (1)自动SQL和存储器微调; (2)新的划分顾问组件 自动向管理员建议,如何对表和索引分区以提高性能 (3)增强的数据库集群性能诊断功能; (4)新的支持工作台组件 其易于使用的界面向管理员呈现与数据库健康有关的差错以及如何迅速消除差错的信息。,2Oracle Data Guard Oracle Data Guard组件可帮助客户利用备用数据库,以提高生产环境的性能,并保护生产环境免受系统故障和大面积灾难的影响。 Oracle Data Guard组件可以同时读取和恢复单个备用数据库,这种功能是业界独一无二的,因此Oracle Data Guard组件可用于对生产数据库的报告、备份、测试和“滚动”升级。 通过将工作量从生产系统卸载到备用系统,Oracle Data Guard组件还有助于提高生产系统的性能,并组成一个更经济的灾难恢复解决方案。,3数据划分和压缩功能 具有极新的数据划分和压缩功能,可实现更经济的信息生命周期管理和存储管理。 (1)扩展了已有的范围、散列和列表划分功能,增加了间隔、索引和虚拟卷划分功能。 (2)具有一套完整的复合划分选项,可以实现以业务规则为导向的存储管理。 (3)可在交易处理、数据仓库和内容管理环境中实现先进的结构化和非结构化数据压缩。所有数据都可以实现2x至3x或更高的压缩比。,4全面回忆数据变化 Oracle数据库11g具有Oracle全面回忆(Oracle Total Recall)组件,可帮助管理员查询在过去某些时刻指定表格中的数据。管理员可以用这种简单实用的方法给数据增加时间维度,以跟踪数据变化、实施审计并满足法规要求。,5闪回交易和“热修补” (1)Oracle闪回交易 可以轻松撤销错误交易以及任何相关交易 (2)并行备份和恢复功能 可改善非常大数据库的备份和存储性能 (3)“热修补”功能 不必关闭数据库就可以进行数据库修补,提高了系统可用性 (4)数据恢复顾问 可自动调查问题、充分智能地确定恢复计划并处理多种故障情况,从而可以极大地缩短数据恢复所需的停机时间。,6. Oracle快速文件 Oracle数据库11g具有在数据库中存储大型对象的下一代功能,这些对象包括图像、大型文本对象或一些先进的数据类型,如XML、医疗成像数据和三维对象。 Oracle快速文件(Oracle Fast Files)组件使得数据库应用的性能完全比得上文件系统的性能。通过存储更广泛的企业信息并迅速轻松地检索这些信息,企业可以对自己的业务了解得更深入,并更快地对业务做出调整以适应市场变化。,7.更快的XML XML DB是Oracle数据库的一个组件,可帮助客户以本机方式存储和操作XML数据。在Oracle数据库11g中, XML DB的性能获得了极大的提高。,8. Continuous Query Notification 新的连续查询通知(Continuous Query Notification)组件在数据库数据发生重要变化时,会立即通知应用软件,不会出现由于不断轮询而加重数据库负担的情况。,9.连接汇合和查询结果高速缓存 (1)查询结果高速缓存 通过高速缓存和重用经常调用的数据库查询以及数据库和应用层的功能,改善了应用的性能和可扩展性。 (2)数据库驻留连接汇合(Database Resident Connection Pooling) 通过为非多线程应用提供连接汇合,提高了Web系统的可扩展性。,10.增强应用开发 (1)新的Java实时编译器,无需第三方编译器就可以更快地执行数据库Java程序 (2)为开发在Oracle平台上运行的.NET应用,实现了与Visual Studio 2005的本机集成 (3)与Oracle快捷应用配合使用的Access迁移工具; (4)SQL Developer可以轻松建立查询,以快速编制SQL和PL/SQL例程代码。,1.5 与其他数据库系统比较,课程安排,SQL基础 PL/SQL基础及应用 Oracle体系结构 Oracle数据库服务器例程 Oracle实例管理 Oracle物理结构,Oracle逻辑结构 用户和权限管理 备份与恢复 网络管理 性能调优,参考资料,Oracle 9i Database Concepts Oracle 9i Database Administators Guide Oracle 9i Net Services Administrators Guide Oracle 9i Backup and Recovery Concepts PL/SQL Users Guide and Reference,
展开阅读全文