面向对象数据库
面向对象数据库系统,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不可以修改的。