学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页> 理学 > 《数据库原理》知识点之面向对象数据库

《数据库原理》知识点之面向对象数据库

2006年12月30日    来源:   字体:   打印
查分预约

  考核要求:达到“识记”

  层次知识点:基本概念

  8.3.1 面向对象数据模型的基本概念

  (1)对象:客观世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。

  对象由三部分组成:一组变量;一组消息;一组方法

  (2)类:是具有相同的变量名和类型、相同的消息和使用相同的方法的对象的集合。

  类中的每个对象称为类的实例

  (3)继承性:允许不同类的对象共享他们公共部分的结构和特性。

  单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。

  多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。

  (4)对象标识:与对象的物理存储位置无关,也与数据的描述方式和值无关的一个标识。

  在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象生存期内,这个标识不可改变。

  在面向对象语言中,对象标识是一个指针一级的概念

  (5)对象包含:不同类的对象之间存在的包含关系称为对象包含,包含其他对象的对象称为复合对象。

  Notice:继承是" is a "联系,包含是"is part of"联系。比如卡车是车的子类(继承),车包含轮胎(包含)

  8.3.2 持久化程序设计语言

  OOPL:面向对象语言对现有的OOPL进行扩充,使之能处理数据库,这样的OOPL称为持久性程序设计语言。

  持久化语言与嵌入式SQL语言的不同:

  (1)格式转换对程序员透明;

  (2)程序员可直接操纵持久数据。

  (具体内容可参见教材P211)

  一些基本概念:

  持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。

  持久指针:持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。 在概念上,持久指针可以看作是数据库中指向对象的指针。

  查找数据库对象的三种方法:

  (1)根据对象名找对象;

  (2)根据对象标识找对象;

  (3)将对象按聚集形式存放,然后利用程序循环找所需对象。

  8.3.3 持久化C++系统

  C++中可以说明一个称为Persistent_Object(持久对象)的类及其属性和方法来支持持久性, 而其他的类作为该类的子类继承其持久性。

  ODMG(Object DataBase Management Group)对C++的扩充有两个方面:

  C++对象定义语言(ODL)

  C++对象操纵语言(OML)

  总结:

  在OO技术与DB技术相结合过程中,采取了两条不同的途径:

  一条途径是在传统的关系模型基础上,提供复合数据类型,扩充SQL语言使之能处理新的数据结构。这种模型称为对象关系模型,还不能说是严格意义上的面向对象数据模型。但是用户容易接受,易于推广。

  另一条途径是在OOPL C++基础上进行扩充,能操作持久数据,处理数据库,形成持久化C++系统,即OODBS.但较难提供对说明性查询的支持,因此推广使用难度较大。

新人有礼
关闭