Base de datos orientada a objetos vs base obje to relacion
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
12,577
On Slideshare
11,530
From Embeds
1,047
Number of Embeds
3

Actions

Shares
Downloads
332
Comments
0
Likes
0

Embeds 1,047

http://basededatos2010.wikispaces.com 1,016
http://www.slideshare.net 29
http://server15.kproxy.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Base de datos orientada a objetos VS base de datos objeto relacional
  • 2. Conceptos fundamentales
    Objeto: Es cualquier cosa real ó abstracta acerca de la cual almacenamos datos y los métodos que controlan dichos datos.
    Tipo de Objeto: Es una categoría de objeto.
    Un objeto es una Instancia de un tipo de objeto. PERSONA (Juan Pérez)
    Encapsulamiento: Es el resultado (o acto) de ocultar los detalles de implantación de un objeto respecto de su usuario.
    Una Solicitud: Invoca una operación específica, con uno ó más objetos como parámetros. Es decir, es para que se lleve acabo la operación indicada y que se produzca el resultado. En consecuencia las implantaciones se refieren a los objetos como solicitudes.
    Clase: Es una implantación de un tipo de objetos. Especifica una estructura de datos y los métodos operativos permisibles que se aplican a cada uno de sus objetos.
    Tipos de métodos: Hay varios tipos de métodos que son comunes a la mayoría de las clases:
    Constructores: Un constructor es un método que tiene el mismo nombre que la clase. Se ejecuta cuando se crea un objeto de una clase. Por lo tanto, un constructor contiene instrucciones para inicializar las variables de un objeto.
    Destructores: Un destructor es un método que se utiliza para destruir un objeto. No todos los lenguajes orientados a objetos poseen destructores.
    Accesores: Un accesor es un método que devuelve el valor de un atributo privado de otro objeto. Así es como los objetos externos pueden acceder a los datos encapsulados.
    Mutadores: Un mutador es un método que almacena un nuevo valor en un atributo. De este modo es como objetos externos pueden modificar los datos encapsulados.
  • 3. Herencia: Una clase implanta el tipo de objeto. Una Subclase hereda propiedades de su clase padre, una subclase puede heredar la estructura y los métodos ó algunos de los métodos.
    Herencia múltiple: Cuando una clase hereda de más de una superclase se tiene herencia múltiple.
    Polimorfismo: Este concepto permite enlazar el mismo nombre o símbolo de operador a dos o más implementaciones diferentes del operador, dependiendo del tipo de objetos a los que éste se aplique.
    En las BDOO los datos están encapsulados y se dice que estos son activos más que pasivos; debido a que por ejemplo: La clase mayor detecta si tiene un hijo (objeto) más o uno menos, es por esto que se dice que están activos ya que cuentan los hijos u objetos que tiene.
    En el modelo de objetos existen cuatro características fundamentales:
    Abstracción: Denota las características esenciales de un objeto que lo distinguen de todos los demás tipos objeto, y proporciona así fronteras conceptuales nítidamente definidas respecto a la perspectiva del observador”. Una abstracción se centra en la visión externa de un objeto, y, por tanto sirve para separar el comportamiento esencial de un objeto de su implantación.
    Modularidad: Se basa en el concepto de fragmentación de los programas en componentes individuales para reducir su complejidad en algún grado, y para crear además una serie de fronteras bien definidas y documentadas dentro del programa, dónde estas fronteras o interfaces tienen un incalculable valor cara a la comprensión del programa.
    Jerarquía: Una clasificación u ordenación de abstracciones.
    Tipos: Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad) que se puede observar desde afuera.
    Genericidad: Permite construir clases genéricas para otras clases.
    Objetos Complejos: Están construidos mediante algunos más simples ó mediante la aplicación de constructores a ellos. Los Objetos más simples son objetos como: Integer, Carácter, String de Bytes de cualquier longitud, booleanos ó punto flotante y algunos pueden ser de tipo atómico.
  • 4. ¿Qué es O.O.?
    En esos mundos OO, el conocimiento se descentraliza en todos los objetos que lo componen, cada objeto sabe hacer lo suyo y no le interesa saber cómo el vecino hace su trabajo, pero sabe que lo hace y qué es lo que puede hacer. Como bien lo definió Dan Ingalls de Smalltalk con las siguientes palabras:
    “La orientación a objetos proporciona una solución que conduce a un Universo de Objetos ‘bien educados’ que se piden de manera cortés, concederse mutuamente sus deseos”.
  • 5. ¿Por qué O.O.?
    La meta es dejar la etapa en la que la construcción del software es una labor de artesanos, y pasar a la etapa en la que se pueda tener fábricas de software, con gran capacidad de reutilización de código y con metodología eficientes y efectivas que se apliquen al proceso de producción.
  • 6. Base de Datos Orientada a Objetos
    A finales de los 80’s aparecieron las primeras BDOO, es una base de datos inteligente. Soporta el paradigma orientado a objetos almacenando datos y métodos, y no sólo datos. Está diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos. Evita el acceso a los datos; esto es  mediante  los métodos almacenados en ella. Es más segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador.
  • 7. Características de BDOO
    Se  intenta definir un sistema de BDOO y describe las principales características   en tres grupos:
    Mandatorias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, concurrencia, Recuperación y Facilidad de Query.
    Opcional: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son Mandatorias, estas son de: herencia múltiple, chequeo de tipos e inferencia de distribución y diseño de transacciones y versiones.
    Abiertas: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de la programación, la representación del sistema ó el tipo de sistema y su uniformidad. Hemos tomado una posición no muy a la expectativa para tener una palabra final más bien para proveer un punto de orientación para un debate futuro.
    Características Mandatorias o  Reglas de Oro
    Un sistema de BDOO debe satisfacer dos criterios:
    Debe tener un BDMS
    Debe ser un sistema OO
    Por ejemplo: para la extensión posible este debe ser consistente en los actuales cortes de lenguajes de programación OO
    El primer criterio se traduce en 5 características como son: Persistencia, Manejador de almacenamiento secundario, Concurrencia, Recuperación, y Facilidad de Query.
    La Segunda se traduce en 8 características: Objetos Complejos, Identidad del objeto, Encapsulación, Tipos ó Clases, Sobre paso con combinación retrasada, Extensibilidad y Completación Computacional.
  • 8. Características ObligatoriasEste es un punto que no debe faltar en una BD.
    Predominancia combinada con enlace retardado: Se puede definir que sea Excel, Autocad, etc. desde la programación.
    Extensibilidad: Proporciona los tipos de datos como: Caracter, booleano, String, etc.
    Concurrencia: Permite que varios usuarios tengan acceso a una BD al mismo tiempo.
    Recuperación: Cuando se hace una transacción pero no se puede realizar y se regresa al mismo estado.
    Facilidad de “Consultas a Modo”: Esto es que se tienen diferentes estándares.
    Características Opcionales
    Esta depende del producto que se vaya a realizar.
    Herencia Múltiple: Tienen características de padres diferentes y proporcionan mecanismos para saber de 2 o más opciones cual conviene.
    Verificación de tipos de inferencia
    Distribución: Que se puede tener parte de una BD en un servidor y otra parte en otro.
    Sistema de Representación.- Forma en como se presentan los esquemas.
    Uniformidad: Todo debe ser igual. Diseño de ventanas, etc.
    Asociaciones y Cardinalidad de Asociaciones: Cardinalidad: 1:1 (Uno a Uno),1:M (Uno a Muchos),M:1(Muchos a Uno),M:M (Muchos a Muchos).
  • 9. Estructura de una BDOO
    El paradigma orientado a objetos se basa en el encapsulamiento de datos y  del código relacionado con cada objeto en una sola unidad. Conceptualmente, todas las interacciones entre cada objeto y el resto del sistema se realizan mediante mensajes. Por lo tanto, la interfaz entre cada objeto y el resto del sistema se define mediante un conjunto de mensajes permitidos.
    En general,  cada objeto está asociado con:
    Un conjunto de variables que contiene los  datos  del  objeto; las variables corresponden con los atributos del  modelo E-R.
    Un conjunto de mensajes a los que responde;  cada  mensaje puede o no tener parámetros o tener uno o varios.
    Un conjunto de métodos, cada uno de los cuales es el código  que implementa un  mensaje;  el  método  devuelve  un  valor como respuesta al mensaje.
    El Mensaje en entorno OO no implica uso de mensajes físicos en redes informáticas. Por el contrario,  hace referencia al intercambio de solicitudes entre los objetos, independientemente de los detalles correctos de su implementación. Se utiliza a veces la expresión invocar un método para detonar al hecho de enviar un mensaje a un objeto y la ejecución del método correspondiente.
  • 10. Ejemplo: Clases de objetos
    class empleado {
    / / Variables
    string nombre;
    strin  dirección;
    date fecha de alta;
    int  sueldo;
    / / Mensajes
    int   sueldo-anual ();
    stringobtenerNombre ();
    stringobtenerDireccion ();
    intdefinirDireccion (string nueva-dir);
    int antigüedad();
    };
  • 11. Generalmente en una base de datos hay muchos objetos similares (se entiende que responden a los mismos mensajes, utilizan los mismos métodos y tienen variables del mismo nombre y tipo). Por tanto sería un derroche definir por separado cada uno de estos objetos. Por tanto, los objetos se agrupan para formar clases. Todos los objetos de una clase comparten una definición común, pese a que se diferencien en los valores asignados a las variables.
    El concepto de clase del modelo orientado a objetos se corresponde con el concepto de entidad del modelo E-R.
    El ejemplo Empleado muestra las variables y los mensajes que responden a los objetos de la clase; no se muestran aquí los métodos para el tratamiento de los mensajes.
  • 12. Ventajas de una BDOO
    La clave que posee la BDOO es el poder que confieren al diseñador para especificar tanto la estructura de objetos complejos como las operaciones que se pueden aplicar a esos objetos.
    Está su flexibilidad, y soporte para el manejo de tipos de datos complejos. Esto presenta la ventaja adicional que una BDOO puede ajustarse a usar siempre el espacio de los campos que son necesarios, eliminando espacio desperdiciado en registros con campos que nunca usan.
    Por ejemplo: En una base de datos convencional, si una empresa adquiere varios clientes por referencia de clientes servicio, pero la base de datos existente, que mantiene la información de clientes y sus compras, no tiene un campo para registrar quién proporcionó la referencia, de qué manera fue dicho contacto, o si debe compensarse con una comisión, sería necesario reestructurar la base de datos para añadir este tipo de modificaciones. Por el contrario, en una BDOO, el usuario puede añadir una “subclase” de la clase de clientes para manejar las modificaciones que representan los clientes por referencia. La subclase heredará todos los atributos, características de la definición original, además se especializará en especificar los nuevos campos que se requieren así como los métodos para manipular solamente estos campos Naturalmente se generan los espacios para almacenar la información adicional de los nuevos campos.
    La segunda ventaja de una BDOO, es que manipula datos complejos en forma rápida y ágilmente. La estructura de la base de datos está dada por referencias (o apuntadores lógicos) entre objetos.
  • 13. Posibles desventajas de una BDOO
    Al considerar  la adopción de la tecnología orientada a objetos, la inmadurez del mercado de BDOO constituye una posible fuente de problemas por lo que debe analizarse con detalle la presencia en el mercado del proveedor para adoptar su producto en la línea de producción sustantiva. Por eso en este artículo se propone que se explore esta tecnología en un proyecto piloto.
    El segundo problema es la falta de estándares en la industria orientadas a objetos. Sin embargo, el “Grupo Manejador de Objetos” (OMG), es una Organización Internacional de Proveedores de Sistemas de Información y usuarios dedicada a promover estándares para el desarrollo de aplicaciones y sistemas orientados a objetos en ambiente de cómputos de red. La implantación de una nueva tecnología requiere que los usuarios iniciales acepten cierto riesgo. Aquellos que esperan resultados a corto plazo y con un costo reducido quedarán desilusionados. Sin embargo, para aquellos que planean a un futuro intermedio con una visión tecnológica avanzada, el uso de tecnología avanzada, el uso de tecnología orientada a objetos, paulatinamente compensará todos los riesgos.
  • 14. Aspectos de la tecnología
    Los objetos pueden estar compuestos o consistir de cualquier tipo de información que, eventualmente, puede almacenarse en forma digital; por ejemplo imágenes barridas (Scaned), voz y sonido, dibujos y planos arquitectónicos complejos, esquemas electrónicos y diagramas desarrollados por ingenieros, así como los tradicionales tipos de datos alfanuméricos.
    Las Bases de Datos Orientadas a Objetos permiten que múltiples usuarios compartan objetos complejos y los manipulen en un ambiente seguro y estructurado. Las bases de datos convencionales fueron diseñadas para manejar tipos de datos alfanuméricos y por esto difícilmente pueden manipular  objetos y métodos (los métodos son los comportamientos definidos de los objetos).
    Una Base de  datos en red o jerarquía puede almacenar objetos complejos, pero esta arquitectura no es flexible, lo cual motiva, por ejemplo, el uso del modelo relacional. Estos sistemas casi no permiten flexibilidad para modificaciones, y el sistema debe desactivarse cuando se requiere modificar estructuras de objetos y métodos.
    Los niveles en los cuales las bases de datos incorporan los conceptos alrededor de la metodología de objetos. La primera clase, puede denominarse BDOO pasiva o estructuralmente orientadas a objetos que permiten manejar objetos compuestos. Una base de datos pasiva puede almacenar objetos complejos pero no puede definir comportamientos.
    Una BDOO es activa u orientada a objetos por comportamiento si permite definir y ejecutar comportamiento de los objetos dentro de la base de datos, incorpora conceptos como herencia y permite el manejo de tipos definidos por el usuario.
  • 15.
  • 16. Bases de Datos Objeto-Relacionales
    El término base de datos objeto-relacional se usa para describir una base de datos que ha evolucionado desde la modelo relacional hasta una base de datos híbrida, que contiene ambas tecnologías: relacional y de objetos.
    El modelo objeto relacional también se conoce como el modelo relacional extendido ya que incluye nuevas funciones y extensiones soportadas por los objetos, actualmente las opinión sobre la definición del modelo objeto relaciona están muy dividas, una definición sencilla podría ser:
    El modelo objeto-relacional (ORDBMS) es similar a un front-end dentro de una base de datos relacional que permite que los datos sean grabados como objetos, sin embargo todos los metadatos y la información siguen utilizando el sistema de filas y columnas para este propósito de tal forma que la base de datos pueda ser accedida también como una base de datos relacional. Y así mismo cuando los datos son recuperados la base de datos tiene la capacidad de reconstruir nuevamente los datos simples a objetos complejos.
  • 17. Tipos de objetos
    El modelo relacional está diseñado para representar los datos como una serie de tablas con columnas y atributos. Oracle8 es una base de datos objeto-relacional; es decir, incorpora tecnologías orientadas a objetos. En este sentido, permite construir tipos de objetos complejos, entendidos como:
    Capacidad para definir objetos dentro de objetos.
    Cierta capacidad para encapsular o asociar métodos con dichos objetos.
  • 18. Estructura de un tipo de objeto
    Un tipo de objeto consta de dos partes: especificación y cuerpo. La especificación constituye la interface a las aplicaciones; aquí se declaran las estructuras de datos (conjunto de atributos) y las operaciones (métodos) necesarios para manipular los datos. El cuerpo define los métodos, es decir, implementa la especificación. En la figura 1 se representa gráficamente la estructura de un tipo de objeto.
  • 19.
  • 20. Descripción del modelo
    Modelo de datos:
    Actualmente todo modelo de datos que se categorize como modelo objeto-relacional cumple con SQL3, pero conservando toda la información persistente como tablas cumpliendo también esta forma con SQL2, sin embargo el modelo ORDBMS trae como alternativa la creación de ADTs (Abstract Data Types).
    Un ADT es un tipo de datos construido a partir de los datos básicos, este nuevo soporte es atractivo porque por medio de funciones, operaciones de este nuevo tipo de datos pueden ser usados como índices, consultas, vistas permitido integrar un nuevo tipo de datos de objetos como el multimedia.
    Gracias a todas estas facilidades del ORDBMS permite que el desarrollador pueda escoger si desea seguir desarrollando por medio de RDBMS y opcionalmente con ORDBMS. Además es posible abordar el diseño de nuestra base de datos pudiendo aprovechar todo las relaciones y la composición del paradigma de objetos así como soporte a lenguajes orientados a objetos.
    Lenguaje de consultas:
    Una base de datos objeto-relacional soporta una forma de SQL de forma extendida, a veces conocida como ObjectSQL.
    Esta nueva extensión soporta el modelo objeto, dichas consultas puede ser muy poderosas porque pueden trabajar con las relaciones entre objetos, métodos, funciones de búsqueda de predicados y búsquedas a ADTs. Sin embargo la sintáxis es muy similar a la relacional debido a que el ORDBMS está basado en datos tipo RDBMS por medio de filas, columnas y SQL tradicional. Se espera que para un futuro próximo la implementación del estándar SQL4 permita incorporar OQL el cual es un lenguaje netamente de objetos.
  • 21. Sobre el diseño del modelo
    La novedad más importante del modelo objeto relacional es la implementación de los UDTs (user-definedtypes) y de los UDFs (user-definedfunctions), los datos tipo colección y las infraestructuras (Mejoras en la indexación, nuevos tipos y funciones). El soporte del manejo de las abstracciones por medio de objetos permite que el modelo conceptual sea desarrollado usando UML que finalmente facilita un buen diseño lógico. Pero primero pasemos a definir que es un objeto según el modelo ORDBMS para empezar a describir el diseño conceptual:
    ¿Qué es un objeto?
    Los tipos de datos orientados a objetos son abstracciones de las entidades del mundo real que se guardan en la base de datos, un objeto es un esquema compuesto por un OID (Y que puede manejarse como llave primaria), un nombre, y un conjunto de métodos.
    ¿Qué son los UDTs y UDFs?
    Corresponden a los nuevos tipos de datos y nuevas funciones personalizadas por el usuario. Los UDTs se pueden clasificar en 3 tipos: de tipo distintivo, tipo opaco o de base y tipo fila o compuesto.
    Los datos de carácter opaco o de base son datos no derivados de otro tipo de datos, sus estructuras puede deben ser definidas dentro del DBMS con sus respectivas operaciones y funciones. Después de ser definidos pueden usarse como base para la creación de datos tipo distintivos y de tipo fila para ser usando en objetos. Los datos tipo fila pueden incluir más datos de tipo fila de forma anidada. Los datos de tipo distintivo son derivados de otro tipo de datos, manejan sus propios dominios, operaciones (Sobrecarga) y funciones. De ahí que su definición como objeto pueda ser fuertemente tipeada lo que ayuda a mejorar la integridad de los datos.
    Dentro del modelo OR existen tres tipos de métodos cada uno con un respectivo constructor, ellos son:
    Métodos tipo miembro: Permite modelar el comportamiento de los objetos
    Métodos tipos estático: Permite modelar el objeto en su totalidad
    Método tipo comparación: Permite realizar comparaciones entre el objeto original e instancias de este.
    Tipo de colección:
    Tipo Arreglo
    Tipo tabla
  • 22. Ambos tipos de colecciones son del mismo tipo de datos, sin embargo su diferencia radica en que el tipo arreglo es un conjunto ordenado, y limitado mientras que un tipo de tabla es un conjunto desordenado y sin límite alguno. Las tablas pueden anidarse siendo manejadas por medio del objeto tipo fila.
    También el modelo ORDBMS soporta dos tipos de vistas, el viejo tipo de vista clásica en una tabla y la nueva vista de tipo objeto. Por medio de las vistas tipo objeto es posible crear tablas virtuales de objetos que manejen UDTs y UDFs, las vistas de objeto también tienen la ventaja de producir vistas con datos de tipo relacional adjuntos a una vista objeto previa.
    La infraestructura se denomina aquellos módulos acompañantes comprendido entre Cartdridges (Oracle 8i), datablades (Informix) y extendedores (DB2). Este tipo de módulos contenían nuevos tipo de datos, estructuras y funciones e interfaces nuevas para los desarrolladores.
  • 23. Primer intento de Estandarización: ODMG-93
    La mayor limitación de las bases de datos orientadas a objetos es la carencia de un estándar. ODMG-93 (Object-OrientedDatabase Management Group) intenta definir un SGBDOO que integre las capacidades de las bases de datos con las capacidades de los lenguajes de programación, de forma que los objetos de la base de datos aparezcan como objetos del lenguaje de programación, intentando de esta manera eliminar la falta de correspondencia existente entre los sistemas de tipos de ambos lenguajes .El SGBDOO extiende el lenguaje con persistencia, concurrencia, recuperación de datos, consultas asociativas, etc. El lenguaje de bases de datos es especificado mediante un lenguaje de definición de datos (ODL), un lenguaje de manipulación de datos (OML), y un lenguaje de consulta (OQL), siendo todos ellos portables a otros sistemas con el fin de conseguir la portabilidad de la aplicación completa.
  • 24. Lenguaje ODL
    El lenguaje de definición de datos (ODL) en un SGBDOO es empleado para facilitar la portabilidad de los esquemas de las bases de datos. El ODL define las propiedades y los prototipos de las operaciones de los tipos, pero no los métodos que implementan esas operaciones. El ODL intenta definir tipos que puedan implementarse en diversos lenguajes de programación; no está por tanto ligado a la sintaxis concreta de un lenguaje de programación particular. De esta forma un esquema especificado en ODL puede ser soportado por cualquier SGBDOO que sea compatible con ODMG-93.
    Lenguaje OML
    El lenguaje de manipulación es empleado para la elaboración de programas que permitan crear, modificar y borrar datos que constituyen la base de datos. ODMG-93 sugiere que este lenguaje sea la extensión de un lenguaje de programación, de forma que se pueden realizar entre otras las siguientes operaciones sobre la base de datos: Creación, Borrado, Modificación e Identificación de un objeto.
  • 25. Lenguaje OQL
    El lenguaje de consulta propuesto por ODMG-93, presenta las siguientes características:
    No es computacionalmente completo. Sin embargo, las consultas pueden invocar métodos, e inversamente los métodos escritos en cualquier lenguaje de programación pueden incluir consultas.
    Tiene una sintaxis abstracta.
    Su semántica formal puede definirse fácilmente.
    Proporciona un acceso declarativo a los objetos.
    Se basa en el modelo de objetos de ODMG-93.
    Tiene una sintaxis concreta al estilo SQL, pero puede cambiarse con facilidad.
    Puede optimizarse fácilmente.
    No proporciona operadores explícitos para la modificación, se basa en las operaciones definidas sobre los objetos para ese fin.
    Proporciona primitivas de alto nivel para tratar con conjuntos de objetos, pero no restringe su utilización con otros constructores de colecciones.
    Existen dos posibilidades para asociar un sublenguaje de consulta a un lenguaje de programación: fuerte y débilmente: El primer caso consiste en una extensión de la gramática del lenguaje asociado. En el segundo caso, las funciones query tienen unos argumentos String que contienen las preguntas.
  • 26. GlosarioBDOO: Bases de Datos Orientadas a Objetos
    BDR: Bases de Datos por Relación
    BLOB: Objetos Binarios de Gran Tamaño
    BDOO94: Bases de Datos orientados a Objetos 94
    CAD: Diseño Asistido por Computadora
    CAE: Ingeniería Apoyada por computadora
    CORBA: (CommonObjectRequestBrokerArquitecture)
    EDT: Estación de Trabajo
    A-TREE: Unico árbol para todas las clases de Jerarquía
    H-TREE: Un árbol para cada clase en la Jerarquía
    LDD ó DDL: Lenguaje de definición de Datos
    LMD ó DML: Lenguaje de Manejo de Datos
  • 27. LOB’S: Tales como Vídeo, Programas Ejecutables etc.
    OO: Orientación a Objetos
    ODL: Estándar de Definición de Lenguaje de Datos
    OMG: Grupo Manejador de Objetos
    OML: Lenguaje de Manipulación de Datos
    ODMG: Gestión Manejadora de datos Objeto
    OQL: Equivalente al SQL(Lenguaje de Consulta)
    SQL: Lenguaje de Consulta
    SGBD: Sistema de Gestión de Bases de Datos
    SGBDOO: Sistema de Gestión de Bases de Datos Orientada a Objeto
    SO: Sistema Operativo