¿Qué es una base de datos orientada a objetos?

| Última modificación: 9 de julio de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Seguro que has escuchado hablar de la programación orientada a objetos POO (Object-Oriented Programming OOP), pero ¿sabías que también existe algo denominado base de datos orientada a objetos o BDOO (Object-Oriented Database OODB)? En este post te contamos en qué consiste.

¿Qué es una base de datos orientada a objetos?

Una base de datos orientada a objetos es un sistema de bases de datos que puede trabajar con datos complejos, es decir, objetos que reflejan aquellos objetos que se utilizan en el lenguaje de programación orientado a objetos.

Para entender esto, debemos entender qué es la Programación Orientada a Objetos. También debemos entender que una de las características principales que convierte a un objeto en un OOD (base de datos orientada a objetos) es la persistencia de datos de objetos.

BDOO vs. BDR
diagrama de base de datos orientada a objetos

La persistencia es la cualidad de tienen los datos orientados a objetos de guardarse en unidades de persistencia, es decir, el almacenamiento de datos en las base de datos orientada a objetos se produce de tal modo que cuando el sistema de gestión de base de datos se inicie de nuevo, se va a poder recuperar un objeto de la base de datos con todas sus propiedades.

Este proceso es distinto en las bases de datos relacionales y las bases de datos noSQL. En las primeras, el administrador de la BD necesita componer el modelo de objeto por medio de varias consultas; en las segundas, la asignación que se hace de objetos complejos a cada una de las propiedades de la clase es perfectamente clara.

base de datos orientada a objetos vs. base de datos relacional
ejemplo de base de datos jerarquica

Comparación con otros modelos de bases de datos

Existen diferentes tipos de bases de datos. Veamos:

Relacionales vs. Orientadas a Objetos

  • Estructura: Las bases de datos relacionales utilizan tablas y relaciones, mientras que las BDOO utilizan objetos y clases.
  • Consultas: En bases de datos relacionales, las consultas se realizan con SQL, mientras que en BDOO se utilizan lenguajes de consulta orientados a objetos.
  • Flexibilidad: Las BDOO son más flexibles en la representación de datos complejos, mientras que las bases de datos relacionales son más adecuadas para datos estructurados y bien definidos.

NoSQL vs. Orientadas a Objetos

  • Estructura de datos: Las bases de datos NoSQL pueden manejar datos no estructurados y semi-estructurados, mientras que las BDOO se centran en objetos y sus relaciones.
  • Modelo de consistencia: Las bases de datos NoSQL a menudo sacrifican la consistencia en favor de la disponibilidad y partición, mientras que las BDOO pueden mantener la consistencia de los datos complejos.

Elementos de una base de datos orientada a objetos

Al estar directamente relacionada con la programación orientada a objetos, la base de datos orientada a objetos posee objetos similares, como:

Objeto

Funcionan a modo de entidades dentro de la base de datos orientada a objetos. Pueden ser personas o cosas del mundo real que ejecutan determinadas tareas. El objeto es persistente y generalmente no se modifica. Un ejemplo de objeto puede ser la entidad “Libro 1”.

Clase

Es la agrupación de todos los objetos que poseen características y comportamientos similares en las bases de datos orientadas a objetos.

Para seguir con nuestro ejemplo, en una clase podríamos guardar todos los objetos relacionados con “Libro 1”, como “Libro 2”, “Libro 3”. La clase podría ser, por ejemplo, “Novela psicológica”, la cual a su vez podría estar guardada en otra clase denominada “Novela española/colombiana/norteamericana”.

Atributos y métodos

Los atributos son propiedades del objeto. Los métodos son la forma en la que se comportan las propiedades de dicho objeto en las bases de datos orientadas a objetos.

Los atributos del objeto “Libro 1” podrían ser: tapa, título, editorial, país, autor, etc. Los métodos podrían ser: escritura del libro, edición del libro, aprobación del libro, publicación del libro, etc.

Patrones

Los patrones permiten acceder a los objetos complejos de un modelo de base de datos orientado a objetos. Implican algunos principios que se verán a continuación.

Características de una base de datos orientada a objetos

Una base de datos orientada a objetos posee las mismas características que se usan en la programación orientada a objetos. Estas son:

Polimorfismo

Es la capacidad que tiene un objeto para adoptar múltiples formas. En una BDOO esta característica hace que el mismo código de programa funcione con diferentes tipos de datos.

Herencia

Dentro de modelo de base de datos orientado a objeto, crea relaciones jerárquicas entre distintas clases que permiten que muchas partes del código puedan reciclarse. Esta es quizás uno de los grandes objetivos de las BDOO y de la POO en general: la habilidad de poder usar código de un programa en la realización de otro programa, ya que todas las estructuras y clases tienen un patrón y un orden específico que está perfectamente alineado con las características y clases necesarias (herencia).

Encapsulación

Es la capacidad de agrupar diferentes datos y objetos en una sola clase u objeto mayor, para poder brindar seguridad al sistema realizado. Por medio de este proceso se pueden ocultar piezas de información, por ejemplo, el anonimato del autor de un libro.

Las clases interactúan entre sí a través de métodos y no es necesario saber cómo funcionan otros métodos particulares que hacen que esas clases funcionen, es decir, solo se muestra lo necesario.

proceso de encapsulación
Proceso de encapsulación en bbdd orientadas a objetos

Abstracción

La encapsulación del modelo de base de datos orientado a objetos hace que el proceso de abstracción en una base de datos orientada a objetos sea posible, ya que elimina toda la información no esencial y permite representar solo las características de datos relevantes para la funcionalidad necesaria.

La abstracción permite simplificar los datos modelados y a su vez posibilita la reutilización de esos datos de los elementos orientado a objetos.

Los portales G2 y DB-Engines coinciden en que algunos de los sistemas gestores de una base de datos orientada a objetos más famosos son:

  1. El gestor orientado a objetos de InterSystems Caché.
  2. El gestor orientado a objetos de Intersystems IRIS.
  3. El gestor orientado a objetos de Giga spaces.
  4. El gestor orientado a objetos de ObjectBox.
  5. El gestor orientado a objetos de ObjectStore.

Si quieres seguir aprendiendo sobre esta temática, te invitamos a unirte a nuestro Bootcamp en programación inicial, en donde podrás instruirte con profesores de primera y aprender todas las bases de la programación. ¡Anímate a solicitar más información y dale un giro a tu carrera!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado