Tabla de contenidos .....................................................................................................................................................................1 1. Historia del modelo ORDBMS ......................................................................................................1 2. Definición del modelo ORDBMS ..................................................................................................2 3. Descripción del modelo .................................................................................................................2 4. Sobre el diseño del modelo ............................................................................................................3 5. Consideraciones entre el modelo ORDBMS y RDBMS ...............................................................4 6. Conclusiones ..................................................................................................................................5 Bibliografía ........................................................................................................................................5
i
Modelo Objeto relacional ORDBMS Juan Pablo Gómez Gallego This document will describe the history, and basic characteristics of logical and conceptual design in Object Relational Database Model, also called Object Relational Database Management System (ORDBMS). It also compares this model against the Relational Database model (RDBMS), in order to analize performance and benefits of ORDBMS model.
1. Historia del modelo ORDBMS Finalizando los años 80s empieza a sujir el modelo OODBMSs por medio de productores como ObjectDesign y Objectivity, entre otros.Acomienzos de los años noventa las diversas investigaciones sobre la optimización del manejo de las bases de datos, producirían un nuevo modelo denomidado objeto relacional. Este nuevo modelo extendía su funcionalidad ya que integraba los dos modelos conocidos en hasta la fecha , el OODBMS (Modelo de objetos) y el RDMBS (Modelo relacional), de tal forma que se matuviera el lenguaje para consultas por medio de cálculo de predicados como parte de la arquitectura pero se incluyera el soporte a objetos que permitiera un mejor manejo en las abstracciones por medio de la implantación de objetos ya que los conceptos de Orientación a Objetos existentes se seguían manejando muy a nivel del lenguaje de programación, sin que se trabajaran estructuras de almacenamiento Orientadas a Objetos dependientes de estos . Al principio los desarrollos más importantes fueron Ilustra y Postrgres diríjidos por el investigador Dr. Michael Stone Breaker en la Universidad de Berkeley. Posteriormente gracias a las bondandes de la licencia BSD en que se encontraban Ilustra y postgres, surjen gran cantidad de productos comerciales catalogados como bases de datos objeto relacional, Omnisciense (Posteriormente adquirido por Oracle, futuro Oracle Lite ) , UniSQL (Posteriormenmte adquirido por KCOMS), Illustra(Adquirido por Informix y luego por IBM). Muchas ideas del modelo ORDBMS se habrían tenido en cuenta para SQL3(1999), junto con los estándares de la ODMG (Object Database Management Group,1991) el cual estandarizó las OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2, lo que permitió que cualquier base de datos que desarrollara bajo SQL3 puediera soportar una administración objeot relacional. Como ejemplos se pueden referenciar a DB2 de IBM, base de datosOracle y MSQL Server que dicen
1
Modelo Objeto relacional - ORDBMS soportar esta tecnología.
2. Definición del modelo ORDBMS El modelo objeto relacional también se conoce como el modelo relacional extendido ya que incluye nuevas funciones y extenciones 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.
3. 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 tipos de datos de objetos como el multimedia. Gracias a todas estas facilidades del ORDBMS permite que el desarrollador pueda escojer 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 puediendo aprovechar todo las relaciones y la composición del paradiga 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 esta basado en
2
Modelo Objeto relacional - ORDBMS 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
4. Sobre el diseño del modelo La novedad más importante del modelo objeto relacional es la implementación de los UDTs (user-defined types) y de los UDFs (user-defined functions), 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 conjuto de métodos. Que son los UDTs y UDFs? Correponden 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 fuertmente tipeada lo que ayuda a mejorar la integridad de los datos. Dentro del modelo OR exísten tres tipos de métodos cada uno con un respectivo constructor, ellos son: 1. Métodos tipo miembro: Permite modelar el comportamiento de los objetos 2. Métodos tipos estático:
3
Modelo Objeto relacional - ORDBMS Permite modelar el objeto en su totalidad 3. Método tipo comparación: Permite realizar comparaciones entreel objeto original e instancias de este
Tipo de colección: 1. Tipo Arreglo 2. Tipo tabla 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 cojunto 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 modulos contenían nuevos tipo de datos, estructuras y funciones e interfaces nuevas para lso desarrolladores
5. Consideraciones entre el modelo ORDBMS y RDBMS Rendimiento en la base de datos Debido a que las bases de datos objeto-relacional deben convertir los objetos a formato relacional, la velocidad de lectura y escritura se degradada sustancialmente. Operaciones como búsquedas, lecturas y cargas de objetos compromete bastante el rendimiento de la base de datos, por este inconveniente muchos desarrolladores consideran seguir usando el modelo RDBMS ya que agiliza las transacciones hasta 3000 veces más(Es por este que algunas personas consideran el RDBMS es considerado como el modelo del mundo real). Cantidad de cógido La gran ventaja del ORDBMS radica en que el software que convierte el formato de objetos a relaciones viene adherido a su DBMS. Por lo tanto no es necesario que los programadores escriba código adicional para implatar soluciones por medio e objetos de una forma más fácil
4
Modelo Objeto relacional - ORDBMS Tiempo de diseño más eficiente Toda base de datos que se considere de tipo modelo ORDBMS facilita la labor de los desarrolladores en el sentidos de que ellos pueden crear sus propios tipos de datos desde las extenciones , lo que permite ahorrar tiempo y dinero para los diferentes desarrollos. Además de eso el diseño puede complementarse con modelamiento por UML que permite crear una mejor representación Normalización Durante la realización de este paper se encontró que las 3 reglas básicas de normalización usadas en el modelo RDBMS se pueden aplicar en el modelo ORDBMS de la misma forma en el sentido de que la implamtación física del modelo ORDBMS es de tipo RDBMS. No se presenta problemas frente a los tipos de datos que defina el usuario
6. Conclusiones Modelar una base de datos en base al modelo ORDBMS facilita el desarollo de los pasos herrísticos que normalmente se hacen para diseñar una base datos, ya que se pueden complementar facilmente con el uso de UML, y las abstracciones y relaciones complejas pueden acertar mucho más un modelo lógico y físico más adecuado. También un desarrollo apoyado en un modelo ORDBMS permite que los desarrolladores ahorren tiempo pues no tienen que escribir el código necesario que comunique las tablas con los objetos pues este ya viene integrado, además de permitir acomodarse a las necesidades de cada desarrollador porque es posible crear nuevo tipo de datos dependiendo del contexto y restricciones que se necesiten modelar. Cronológicamente las bases de datos han sido construidas pensando en dos prioridades, la definición de tipos de datos básicos que ayuden a un mejor control, rendimiento y menor consumo de recursos de memoria secundaria.Estas limitaciones creadas en las bases de datos tipo RDBMS, obligan que la implemenetación de un esquema de base de datos ingresado por un usuario se más laboriosos y dispendioso (El modelo ORDBMS reduce la cantidad de código escrito por lo menos un 20% aproximadamente). Hoy día las preocupaciones por la cantidad de tipos datos y el consumo de memoria afecten seriamente el rendimiento del software son casi insignificantes gracias a los avances en el hardware y el desarrollo de modernas bases de datos. Si es necesario realizar transacciones de una forma ágil y concistente se puede aprovechar el soporte RDBMS contenido dentro del ORDBMS El modelo ORDBMS a nivel comercial se postula como ganador ya que han sido muchas las bases de datos que usan este modelo a comparación de las pocas desarrolladas en ODBMS, el ORDBMS ha tenido gran acojida dentro las casas desarrolladoras de bases de datos y los usuarios avanzados lo que ha permitido que su mercado se siga expandiendo como lo ha venido haciendo estos últimos cuatro años.
Bibliografía http://postresql.cl Postgresql Chile.
5
Modelo Objeto relacional - ORDBMS http://www.ca.com Computer Associates. http://www.dbmsmag.com DBMS Magazine. http://www.ibm.com International Bussines Machine.
6