下载
第3章 O r a c l e 8 i与面向对象技术
本章将重温面向对象的数据库 ( O r a c l e 8 i 的基础)概念,讨论对象关系数据库模型,然后继
续了解O r a c l e 8 i以及它的新特性。一旦有可能就举例说明。
注意 在本章很多地方,谈到的是 Oracle 8而不是O r a c l e 8 i 。但在O r a c l e 8 i 中的很多对
象关系特性在O r a c l e 8发行版本8 . 0 . x中出现过。
3.1 术语
下述的术语有助于读者理解本章内容:
• O r a c l e 8 i中数组(array) 为一个内部类型(Built-in Ty p e )或对象的有序集,这些类型或对
象称为元素。同一数组的每个元素具有相同的类型。每个元素有一个下标,它是该元素在数
组中的相对位置数。
• 封装(Encapsulation) 意指数据库中每个对象具有范围清晰、定义明确的接口,这能有
效防止对数据的非法访问。
• 继承(Inheritance) 为在现有类上创建新类的一种能力,该新类为现有类的一个特例。
• 嵌套表(Nested Ta b l e ) 是O r a c l e 8 i提供的另一种集合类型。嵌套表是以其他表的一列出现
的表。因此可在其上执行操作,就像在其他表上执行操作一样。
• 对象(Object) 为现实世界实体的软件表示。
• 对象视图(Object View) 为传统关系视图机制的扩充,它使你能处理关系数据,就好像
是对象实体一样。
• 对象关系数据库(Object-relational database) 是一个用来描述由关系数据库演变而来的
数据库的词,该数据库现在具有内嵌的面向对象的能力。换句话说,它是一种关系模型和面
向对象模型混合的数据库。大多数分析家认为,这是未来计算的发展方向。
• 多态机制(Polymorphism) 是对象对同一消息进行不同处理的能力。
• Oracle表中的每一行都具有唯一的行标识( R o w i d )。此行标识唯一标识了数据库中相应的
数据行。在O r a c l e 8之前,行标识可用缩略词 B A R F 来助记。B A R F 意为块、地址、记录、文件
标识(我们是从Scott Martin那里知道这个办法的,他过去曾是O r a c l e 的核心开发者)。综合起来,
就知道B A R F 为数据库内一行的物理位置。从下表可以看到一个 S Q L 语句的输出,该语句从
O r a c l e 8 数据库中选择行标识。
select rowid, substr(rowid,1,8) "BLOCK",
substr(rowid,15,4)"FILE"
,s u b s t r ( r o w i d , 1 0 , 4 ) " R O W "
from tablex;
R O W I D B L O C K F I L E R O W
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0 0 0 0 0 D D 5 . 0 0 0 0 . 0 0 0 1 0 0 0 0 0 D D 5 0 0 0 1 0 0 0 0
0 0 0 0 0 D D 5 . 0 0 0 1 . 0 0 0 1 0 0 0 0 0 D D 5 0 0 0 1 0 0 0 1
评论0
最新资源