{管理信息化ORACLE}面向Oracle8数据库系统知识

上传人:卓****库 文档编号:140794343 上传时间:2020-08-01 格式:PPTX 页数:137 大小:344.95KB
返回 下载 相关 举报
{管理信息化ORACLE}面向Oracle8数据库系统知识_第1页
第1页 / 共137页
{管理信息化ORACLE}面向Oracle8数据库系统知识_第2页
第2页 / 共137页
{管理信息化ORACLE}面向Oracle8数据库系统知识_第3页
第3页 / 共137页
{管理信息化ORACLE}面向Oracle8数据库系统知识_第4页
第4页 / 共137页
{管理信息化ORACLE}面向Oracle8数据库系统知识_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《{管理信息化ORACLE}面向Oracle8数据库系统知识》由会员分享,可在线阅读,更多相关《{管理信息化ORACLE}面向Oracle8数据库系统知识(137页珍藏版)》请在金锄头文库上搜索。

1、Oracle8 对象关系数据库,高端数据库-提高DBMS管理上限 Oracle8对象关系数据库 扩充的类型系统 对象关系数据库,Oracle8 数据库系统,一、高端数据库-提高DBMS管理上限,oracle7oracle8 数据库大小32TB512KTB 数据文件个数 1-4K64-256M 每表包含列数2541000 每表的LOB列数1 long1000 CHAR长度254 2000 VARCHAR长度20004000 索引列数1632,支持上万个并发用户 多线程服务器(用少量的服务器端进程管理大量的客户端用户。 Net8(SQL*net) 连接管理器连接池(TNS资源)、多路传输、应用请求

2、集中化 更有效地使用网络资源 避免操作系统对服务器网络连接数的限制 客户端(服务器) 服务器,一、高端数据库-提高DBMS管理上限,网络层,透明网络底层,协议适配器,二、扩充的类型系统 -对象关系数据库,关系模型与对象模型 新的数据类型-对象(记录)类型 对象表面向对象数据库设计 收集类型(数组与嵌套表) 对象与视图,数据库新的应用领域,计算机辅助设计 CAD数据库必须存储和处理与工程设计相关的数据(产品部件及相互关系、设计版本) 计算机辅助软件工程 数据库中存储软件开发人员用到的各种数据,包括源代码、模块之间依赖关系、变量定义、文档 多媒体数据库 声音、视频、图象 办公信息系统 超文本数据库

3、,应用需要新的数据类型, 论文检索系统 论文标题 作者列表(第一作者,第二作者,找出某人参与撰写的所有论文) 检索关键字 发表日期(年月日分开),传统关系数据库的数据类型,复杂属性只能拆分成并列的单一属性 姓名,地址(省、市、区、街道、门牌号) 本来是一个结合紧密的整体,在关系数据库中却只能拆成单一属性,与其他属性并列(如姓名、年龄等),没有反映出它们的紧密关系。 无法表示变长的属性 家庭记录有几个孩子 长字段 设几个字段(不好估计),家庭编号,户主,子女1,子女2,子女3,传统关系数据库的数据类型,无法直接表示嵌套表 例:一张发货单,发三种货物: 放3条记录,但公共信息存3遍(查询方便) 拆

4、成两张表(发货单,发送货物),需要连接,费时,且要清楚表与表的关系,货单号,发货人,货物,日期,发往地,货物名称,价格,数量,关系数据库的数据模型,数据模型是模型化数据和信息的工具。,现实世界,认识 抽象,信息世界概念数据模型,机器世界 DBMS支持的数据模型 关系模型,转换,数据模型演变,文件系统(OS) 层次模型网状模型关系模型(DB) 特点: 面向记录,信息由定长记录组成。 记录简单(短小)。 原子字段,字段不再含有结构。,关系模型的特点,强调数据的独立性(以数据为中心),数据与程序分离。 采用关系模型、概念单一,实体和联系都是用关系来表示。 关系必须是规范化的关系,要求每一分量不可再分

5、。 支持关系语言,具有高度非过程化,支持集合运算 通过外来码实现表的连接(多表查询),Oracle8 扩充的类型系统,是对关系数据模型进行的扩充。 提供更为丰富的面向对象的类型系统。 扩充的类型系统允许元组的属性值为复杂类型,在关系查询语言中增加处理新数据类型的成分。 既保留关系模型基础 又提高建模能力 对象关系模型为希望使用面向对象特征的关系数据库用户提供可能。,面向对象的基本概念,面向对象方法是以要解决的问题中所涉及到的各种对象为主要考虑因素。 对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象既含数据又含功能,因此具有自身处理数据的能力。对象被认为是迄今为止最接近真实事物的数据

6、抽象。 现实世界中对象有两个共同的特点: 一方面,它们都有自己的状态。如一台电视机有自己的摆放位置,有关机和开机状态,此刻正在播放某一频道的电视节目等 另一方面,它们又都有自己的行为,如电视机的开机、关机、调台等。,面向对象的基本概念,内部实现 (封装),接口 属性、方法,能动的主体,使电脑贴近人脑的思维模式(减少人认识问题时的认识空间和计算机处理问题时的方法空间的不一致性)。 实现软件的复用(软件芯片)。,对象的属性与方法,面向对象程序设计中的对象是现实世界对象的模型化,它同样具有状态和行为。 对象的状态用属性来维护, 对象的行为用方法来实现。 因此可以简单地讲,对象是面向对象的程序设计模式

7、,它由描述对象状态的属性(变量)和用来实现对象行为的方法(代码)组成。,对象与类,相关对象的集合称为 类(Class) 类是对象的抽象及描述,它是具有统一属性和方法的多个对象的统一描述体,是用来定义一组对象共有属性和方法的模板。 类是用来创建对象实例的样板,它包含所创建对象的状态描述和方法的定义。类是一个型,而对象则是这个型的一个实例。 类是静态概念,而对象则是一个动态概念,因为只有在运行时才给对象分配空间,对象才真正存在。,面向对象的数据模型,在一些应用中,用户将数据库中的数据看作是一组对象而非一组记录。 面向对象的数据模型是面向对象程序设计思想在数据库系统中的应用。 基本思想将数据和操作这

8、些数据的程序代码封装在一个对象里。 将一个对象存储在数据库中: 对象的数据部分必须针对各个对象分别存储。 而实现类方法的程序代码应该和类的定义一起作为数据库模式的一部分存储。,面向对象数据库,数据库中不是只存储单纯的数据,而是存储包含属性和方法的对象。 对于一个数据库对象,可定义在其上运行的过程和函数。使数据库中的数据和访问该数据的方法联系起来,可标准化数据访问的方法并提高对象的可复用性。 应用逻辑从应用程序中移动到数据库中(对象方法) 创建通用的数据库对象,并能成为数据库对象的标准,可实现数据库对象的重用。,数据模型,现实世界,认识 抽象,信息世界概念数据模型,机器世界 DBMS支持的数据模

9、型 对象模型,转换,对象模型与关系模型,对象模型 对象类型的属性描述 对象类型的方法封装了操作该对象的代码。提供了处理数据库中数据的界面。,关系模型 二维表中列的定义 没有方法 另编程 可使用操作某数据库表的存储过程。,面向对象数据模型中的类概念实体集概念。 面向对象数据模型中的对象概念实体概念,对象模型与关系模型,关系模型可用二维表来表示 关系表: 属性 二维表的列 元组 二维表的行 对象模型可用二维表来表示 对象表: 用一个 类(对象类型)定义一个对象表 类的属性 二维表的列 对象(类的实例) 二维表的行(行对象) 通过对象调用对象方法。,Oracle的扩充类型,Oracle是一个开放的类

10、型系统,增加了复杂的数据类型以及用户自定义类型 用户定义的数据类型使得可以在数据库中为现实世界的对象建模 对象类型(记录类型) 数组类型 嵌套表类型 创建对象表,实现面向对象的数据库设计(而非关系型数据库设计。 应用逻辑从应用程序中移动到数据库中(对象方法),扩充类型的不同应用,对象类型 数组类型 嵌套表类型,关系表 对象表,对 象 类 型,利用对象类型定义复合数据类型,用户自定义数据类型,使用对象类型定义一个记录数据类型 CREATE TYPE name_type AS OBJECT ( first_nameVARCHAR2(4), last_nameVARCHAR2(4) ) ; CREA

11、TE TYPE address_type AS OBJECT ( city VARCHAR2(10), street VARCHAR2(10), zip NUMBER(6) ) ; CREATE TABLE worker ( wid NUMBER(5) PRIMARY KEY, wname name_type , address address_type ) ;,对象类型数据的操作,使用对象类型声明了关系表中的列,DML语句必须用一些特殊的语法 插入新记录时,对于对象类型的列,要使用构造函数构造出对应类型的数据。 构造函数是对象类型的特殊方法,利用此方法为该类型创建对象。构造方法的名称与对象类

12、型(类)同名。 对记录型数据的分量进行操作时,要使用“别名”,对象类型数据的操作,插入语句例: insert into worker values(1,name_type(王,至远), address_type(北京,白颐路5号,100084); insert into worker values(2,name_type(张,大年), address_type(天津,康宁里20号,300072); insert into worker values(3,name_type(赵,力平), address_type(上海,南京路23号,200092);,对象类型数据的查询,查询语句1 select

13、 * from worker ; WID NAME(FIRST_NAME, LAST_NAME) ADDRESS(CITY, STREET, ZIP) - - - 1 NAME_TYPE(王, 至远) ADDRESS_TYPE(北京, 白颐路5号, 100084) 2 NAME_TYPE(张, 大年) ADDRESS_TYPE(天津, 康宁里20号, 300072) 3 NAME_TYPE(赵, 力平) ADDRESS_TYPE(上海, 南京路23号, 200092) 查询语句2 select wid,wname from worker; WID NAME(FIRST_NAME, LAST_N

14、AME) - - 1 NAME_TYPE(王, 至远) 2 NAME_TYPE(张, 大年) 3 NAME_TYPE(赵, 力平),对象类型数据的查询,查询语句3 (用别名 ) select wid 顾客编号,w.address.city 城市, w.address.street 街道,w.address.zip 邮编 from worker w ; 顾客编号 城市 街道 邮编 - - - - 1 北京 白颐路5号 100084 2 天津 康宁里20号 300072 3 上海 南京路23号 200092 查询语句4(别名的使用) select * from worker w order by

15、w.address.zip,对象类型数据的操作,修改 update worker w set w.address.zip=100083 where wid=1 ; 删除 delete from worker where wid=1; delete from worker w where w.name.first_name=王 ; 修改表结构 alter table cust add(address1 address_type); 不能对表修改自定义的数据类型格式,用户自定义数据类型,对象类型更加贴近现实世界的数据特征。 使用对象类型可以更加统一、自然地声明和操作表中的数据 (在整个数据库中地址一致性) 创建可为大家引用的新数据类型: 创建一个模式(如 pub) 建立公共对象类型(新数据类型) 设置必要的权限 使用 CREATE PROCEDURE new_worker( wid NUMBER , name pub.name_type , address pub.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号