面向对象数据库

面向对象数据库系统,OODBS,Object Oriented Database System, 是数据库技术面向对象程序设计方法相结合形成的。

支持将数据当中对象来模拟和创造。

面向对象数据库系统的特征

  • 具有表达和管理对象的能力
  • 对象可以具有任意复杂度的对象结构
  • 必须具有与面向对象编程语言交互的接口
  • 具有表达和管理数据库变化的能力

面向对象数据模型

面向对象数据库系统是以面向对象对象数据模型为基础的。

  • 对象结构

一个对象对应着E-R模型中的一个实体,对象中封装的属性和方法对外界是不可见的,对象之间的相互作用要通过消息来实现

  • 对象类

类是一系列相似对象的集合,对应于E-R模型中的实体集

每个对象都是所在类的一个实例

类的概念类似关系模式;

类的属性类似关系模式中的属性;

类的一个实例类似关系中的一个元组;

  • 继承与多重继承
  • 对象标识

对象标识 Object Identity,OID,在内部会唯一的标识每个对象,对外部用户不可见。

标识符通常由系统生成。

  • 对象嵌套

面向对象数据库语言

与关系数据库标准语言SQL类似,面向对象数据库语言主要包括对象定义语言和对象操纵语言(包括对象查询语言)。

其标准是ODMG,目前的版本为ODMG3.0,但是还没有得到普遍支持。

对象关系数据库系统

了解 SQL 的 create function 语法

在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数

自定义函数是一种与存储过程十分相似的过程式数据库对象。

它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以被应用程序和其他 SQL 语句调用

自定义函数与存储过程之间存在几点区别:

  • 自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;
  • 存储过程可以拥有输出参数
  • 自定义函数中必须包含一条 RETURN 语句,而这条特殊的 SQL 语句不允许包含于存储过程中。
  • 可以直接对自定义函数进行调用而不需要使用 CALL 语句,而对存储过程的调用需要使用 CALL 语句

语法:

CREATE FUNCTION function_Name(input_arguments) 
RETURNS output_type
<body>
-- 即
CREATE FUNCTION <函数名> ( [ <参数1> <类型1> [ , <参数2> <类型2>] ] … )
  RETURNS <类型>
  <函数主体>
  
--  RETURNS <类型> 即返回值的数据类型

相关真题

2015年62题

以下关于面向对象数据库的叙述中,不正确的是(62)。

A.类是一组具有相同或相似性质的对象的抽象。一个对象是某一类的一个实例

B.类的属性可以是基本类,如整数、字符串等,也可以是包含属性和方法的一般类

C.类的某个属性的定义可以是该类自身

D.一个对象通常对应实际领域的一个实体,有唯一的标识,即对象标识OID,用户可以修改OID

【答案】D

面向对象数据库中的数据模型充分利用了面向对象的核心概念,选项A、B和C是对类和对象的概念叙述,是正确的。

而D选项中,一个对象通常对应实际领域的一个实体,有唯一的标识,即对象标识OID, OID通常有系统生成

但是对用户而言,OID不可以修改的。