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.
- 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.