Saltar la navegación

Anexo I.- Estándar ODMG-93 u ODMG.

El estándar ODMG (Object Database Management Group) trata de estandarizar conceptos fundamentales de los Sistemas Gestores de Bases de Datos Orientados a Objetos (SGBDOO) e intenta definir un SGBDOO como un sistema que integra las capacidades de las bases de datos con las capacidades de los lenguajes de programación orientados a objetos, de manera que los objetos de la base de datos aparezcan como objetos del lenguaje de programación.

Fué desarrollado entre los años 1993 y 1994 por representantes de un amplio conjunto de empresas relacionadas con el desarrollo de software y sistemas orientados a objetos.

  1. Arquitectura del estándar ODMG

    La arquitectura propuesta por ODMG consta de:

    • Un modelo de objetos que permite que tanto los diseños, como las implementaciones, sean portables entre los sistemas que lo soportan.
    • Un sistema de gestión que soporta un lenguaje de bases de datos orientado a objetos, con una sintaxis similar a un lenguaje de programación también orientado a objetos.
    • Un lenguaje de base de datos que es especificado mediante:
      • Un Lenguaje de Definición de Objetos (ODL)
      • Un Lenguaje de Manipulación de Objetos (OML)
      • Un Lenguaje de Consulta (OQL)

      siendo todos ellos portables a otros sistemas con el fin de conseguir la portabilidad de la aplicación completa.

    • Enlaces con lenguajes Orientados a Objetos como C++, Java, Smaltalk.

    El modelo de objeto ODMG es el modelo de datos en el que están basados el ODL y el OQL. Este modelo de objeto proporciona los tipos de datos, los constructores de tipos y otros conceptos que pueden utilizarse en el ODL para especificar el esquema de la base de datos de objetos.

    Vamos a destacar algunas de las características más relevantes del estándar ODMG:

    • Las primitivas básicas de modelado son los objetos y los literales.
    • Un objeto tiene un Identificador de Objeto (OID) y un estado (valor actual) que puede cambiar y tener una estructura compleja. Un literal no tiene OID, pero si un valor actual, que es constante.
    • El estado está definido por los valores que el objeto toma para un conjunto de propiedades.Una propiedad puede ser:
      • Un atributo del objeto.
      • Una interrelación entre el objeto y otro u otros objetos.
    • Objetos y literales están organizados en tipos. Todos los objetos y literales de un mismo tipo tienen un comportamiento y estado común.
    • Un objeto queda descrito por cuatro características: identificador, nombre, tiempo de vida y estructura.
    • Los tipos de objetos se descomponen en atómicos, colecciones y tipos estructurados.
      • Tipos atómicos o básicos: constan de un único elemento o valor, como un entero.
      • Tipos estructurados: compuestos por un número fijo de elementos que pueden ser de distinto tipo, como por ejemplo una fecha.
      • Tipos colección: número variable de elementos del mismo tipo. Entre ellos:
        • Set: grupo desordenado de elementos y sin duplicados.
        • Bag: grupo desordenado de elementos que permite duplicados.
        • List: grupo ordenado de elementos que permite duplicados.
        • Array : grupo ordenado de elemntos que permite el acceso por posición.

    Algunos fabricantes sólo ofrecen vinculaciones de lenguajes específicos, sin ofrecer capacidades completas de ODL y OQL.