Bases de Datos Orientadas a Objetos (BDOO): Conceptos, Características y Aplicaciones

Bases de Datos Orientadas a Objetos (BDOO)

Una BDOO es una colección de objetos persistentes con un propósito común. Permite que múltiples usuarios compartan objetos complejos, manipulándolos en un ambiente seguro y estructurado.

Ventajas de las BDOO

  • Flexibilidad y soporte para el manejo de datos complejos.
  • Manipulación rápida y ágil de datos complejos.
  • No requiere búsquedas en tablas o uniones para crear relaciones.

Conceptos Clave en BDOO

Objetos: Instancias de una clase; abstracción de «algo» de la realidad.

Persistentes: «Sobreviven» en el tiempo a la ejecución de un programa.

Principales conceptos en las BDOO:

  • Identidad de objetos
  • Constructores de tipos
  • Encapsulamiento
  • Compatibilidad con lenguajes de programación
  • Jerarquías de tipos y herencia
  • Manejo de objetos complejos
  • Polimorfismo y sobrecarga de operadores
  • Creación de versiones

Una BDOO está diseñada para simplificar la Programación Orientada a Objetos (POO), almacenando objetos directamente en la base de datos y empleando las mismas estructuras que los lenguajes de programación.

SGBOO (Sistema Gestor de Bases de Datos Orientado a Objetos): Es un sistema de objetos y, a la vez, un sistema de base de datos que almacena objetos, permitiendo la concurrencia y la recuperación.

Niveles de Abstracción

  • Interno: Cómo se guardan los objetos (disco duro).
  • Conceptual: Cómo se guarda la estructura.
  • Externo: Lo que se muestra al usuario (interfaz).

Aplicaciones de las BDOO

  • Diseño asistido por computadora (CAD)
  • Fabricación asistida por computadora (CAM)
  • Ingeniería de software asistida por computadora (CASE)
  • Sistemas de gestión de red
  • Sistemas de información de oficina y sistemas multimedia (OIS)
  • Sistemas de autoedición digital
  • Sistemas de información geográfica (GIS)
  • Sistemas web interactivos dinámicos

SGBO: Se basan en el análisis separado de los datos y los procesos.

  • A nivel conceptual: Una entidad del sistema que se está desarrollando.
  • A nivel de implementación: Encapsulamiento de un conjunto de operaciones.

Interacciones entre Objetos

  • Estáticas: Destaca la generalización, donde los tipos y las clases se organizan en jerarquías o retículos de super/subtipo.
  • Dinámicas: Unos objetos solicitan servicios a otros, los cuales, si llega el cambio, envían un mensaje de respuesta.

Polimorfismo

Capacidad de un mensaje para ser interpretado de distintas formas según el objeto que lo recibe. Existen dos formas:

  • De subclase: Un servicio definido en una clase se redefine en alguna de sus subclases, manteniendo el mismo nombre.
  • De sobrecarga: Se utiliza el mismo nombre para servicios distintos, no situados en una jerarquía de generalización.

Conceptos Asociados a la POO en una BD

Polimorfismo, Abstracción, Herencia, Encapsulamiento, Métodos, Métodos de Información, Identidades, Objetos y atributos, Mensajes, Clases.

Modelo de Datos Orientado a Objetos (OODM) vs. Modelo Entidad-Relación (MER)

OODMMER
ObjetoEntidad
AtributoAtributo
AsociaciónRelación
Mensaje(no aplica)
ClaseTipo/entidad
InstanciaEntidad

ODBMS (Object Database Management System): Hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más de los lenguajes a los que da soporte.

Estándar ODMG

Producto del consorcio internacional OMG, proporciona técnicas orientadas a objetos para la ingeniería de software. Se compone de:

  • Lenguaje de Manipulación de Objetos (OML): Extensión del lenguaje de programación para crear, borrar, modificar e identificar objetos.
  • Lenguaje de Definición de Objetos (ODL): Equivalente a IDL. Define atributos y relaciones entre tipos, y especifica la firma de las operaciones. Facilita la portabilidad de esquemas entre sistemas compatibles.
  • Lenguaje de Consulta de Objetos (OQL): Proporciona acceso declarativo a los objetos. Su sintaxis es similar a SQL. No proporciona operadores explícitos para la modificación.

Características de una BDOO

  • Persistencia: Capacidad del programador para que los datos se conserven tras finalizar la ejecución de un proceso, permitiendo su reutilización.
    • Persistencia por clase: Se declara que una clase es persistente.
    • Persistencia por creación: Sintaxis para crear objetos persistentes extendiendo objetos transitorios.
    • Persistencia por marcas: Marcar objetos como persistentes después de crearlos.
    • Persistencia por enlaces: Uno o varios objetos persistentes de forma explícita.
  • Concurrencia: Existencia de múltiples usuarios interactuando concurrentemente. El sistema controla la interacción para evitar inconsistencias.
  • Control de Acceso: Cada objeto decide quién puede acceder a él, según la clasificación del objeto y el tipo de sujeto.
  • Recuperación: Permite retroceder a un estado coherente de los datos en caso de fallo de hardware o software.
  • Integridad: Restricciones para asegurar que las modificaciones no causen pérdida de consistencia.

Bases de Datos Multidimensionales (BDM)

Se definen con especificaciones más allá de filas y columnas tradicionales.

Definición de BDM: La información se presenta como una estructura matricial con posiciones determinadas que permiten conjuntos finitos de datos.

Proceso en Línea OLAP: Herramienta para el análisis interactivo de información resumida, ofreciendo información para la toma de decisiones.

Modelos Conceptuales Multidimensionales

Permiten definir dos aristas: Dimensiones y Caminos Jerárquicos.

Esquema de Cubo: Se determina por sus ejes, sus estructuras y la estructura de los datos en cada celda.

Cubos OLAP: Tienen un número indefinido de dimensiones (hipercubos).

Variables (indicadores de gestión): Datos analizados; representan aspectos cuantificables de los objetos.

Operaciones en Estructuras Operacionales

Roll UP, Drill Down, Slice, Dice, Rotación.

Rotación: Selecciona el orden de visualización de las dimensiones; rota el cubo.

Problemas que *no* existen en las BD Relacionales, pero *sí* en las Jerárquicas

  • Duplicidad de registro: No se garantiza la inexistencia de registros duplicados.
  • Integridad Referencial: No hay garantía de que un registro hijo esté relacionado con un registro padre válido.
  • Desnormalización: No hay controles para impedir la desnormalización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.