文章

对象关系型数据库

对象关系型数据库(Object-Relational Database,常称 ORDBMS)是在关系型数据库基础上引入面向对象特性的数据库。它仍然以表、SQL、事务、约束等关系模型为核心,但允许定义更复杂的数据类型和对象式结构。

可以理解为:关系型数据库 + 对象特性。

ordbms

核心特征

  • 用户自定义类型:可定义包含多个属性的复合类型。
  • 复杂数据类型:数组、嵌套表、集合、JSON/XML、空间类型等,不要求所有字段都是简单原子值。
  • 对象标识与引用:对象可有独立标识,表之间可通过引用关联。
  • 继承与多态:类型或表可继承父类型/父表,支持子类型替换。
  • 方法/函数:类型可绑定行为方法。
  • 仍支持 SQL 和事务:保留关系数据库的查询、事务、并发控制、权限等能力。

与相近概念的区别

  • 纯关系型数据库:强调第一范式,字段多为简单原子值。
  • 对象数据库(OODBMS):以对象为中心,通常不以表/SQL 为主要模型。
  • 对象关系型数据库:两者折中,底层仍是关系表,但支持对象式复杂建模。
  • ORM:是编程语言对象与关系表之间的映射框架,不是数据库类型本身。

代表产品

  • PostgreSQL:常被视为典型的对象关系型数据库,支持自定义类型、复合类型、数组、表继承等。
  • Oracle Database:支持对象类型、嵌套表、VARRAY 等对象关系特性。
  • 其他一些商业数据库也提供部分对象关系扩展。

优点与代价

优点:适合复杂数据建模,减少对象与表之间的“阻抗不匹配”,便于复用类型和表达继承关系。
代价:模型和 SQL 更复杂,学习与调优成本较高,可移植性和工具生态可能不如纯关系模型统一。

一句话总结:对象关系型数据库是保留关系数据库基础,同时支持复杂类型、继承、对象引用等面向对象建模能力的数据库。

← 返回首页