El modelo objeto relacional también se conoce como el
modelo relacional extendido ya que incluye nuevas funciones
y extensiones soportadas por los objetos.
El modelo objeto relacional permite que los datos sean
guardados como objetos, sin embargo todos los metadatos y la información siguen utilizando el sistema de filas y columnas para este propósito que la base de datos pueda ser accedida como una base de datos relacional. Y así mismo los datos son recuperados ya que la base de datos tiene la capacidad de reconstruir nuevamente los datos simples a objetos complejos. El término Base de Datos Objeto Relacional (BDOR) se usa para describir una base de datos que ha evolucionado desde el modelo relacional hacia otra más amplia que incorpora conceptos del paradigma orientado a objetos. Por tanto, un Sistema de Gestión Objeto-Relacional (SGBDOR) contiene ambas tecnologías: relacional y de objetos.
Una idea básica de las BDOR es que el usuario pueda crear sus propios tipos de datos, para ser utilizados en aquella tecnología que permita la implementación de tipos de datos predefinidos.
Además, las BDOR permiten crear métodos para esos tipos de
datos. Con ello, este tipo de SGBDhace posible la creación de funciones miembro usando tipos de datos definidos por el usuario, lo que proporciona flexibilidad y seguridad. Debido a que las bases de datos objeto-relacional debe convertir los objetos a formato relacional, la velocidad de lectura y escritura se degrada sustancialmente. Operaciones como búsquedas, lecturas y cargas de objetos compromete bastante el rendimiento de la base de datos. - Independencia física: es decir, el modo en el que se almacenan los datos no influya en su manipulación lógica y, por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento físico.
- Independencia lógica: esto es, que el añadir, eliminar o modificar objetos de la base de datos no repercuta en los programas y/o usuarios que están accediendo a subconjuntos parciales de los mismos (vistas).
- Flexibilidad: en el sentido de poder presentar a cada usuario los datos de la forma en que éste prefiera.
- Uniformidad: las estructuras lógicas de los datos presentan un aspecto uniforme, lo que facilita la concepción y manipulación de la base de datos por parte de los usuarios.
- Sencillez: las características anteriores, así como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fácil de comprender y de utilizar por parte del usuario final. Como sabemos una Base de Datos es un conjunto de datos y relaciones que representa una interfaz uniforme de usuario, que se describe por si sola. La BD Relacional es un conjunto de relaciones formada pur un esquema y un curepo que se describen en términos de dominios, atributos, asociaciones, tupla; y la Base de Datos Relacional es una base de datos autodescriptiva por medio de sus tablas de sistema.
Donde el modelo relacional satisface el espiritu de la definición
introductoria. Contiene elementos de datos (tuplas) y relaciones entre ellos (por medio de atributos comunes). El SQL proporciona la interfaz uniforme. Sin embargo Una BD Orientada a Objetos (BDOO) es una base de datos en el sentido de la definición inroductoria, donde los elementos de datos son objetos y las relaciones se mantienen por medio inclusón lógica. Las entidades de aplicación estan representadas como clases.
La autodescripcion se obtiene porque las clases son metaobjetos que contiene los nombres de atributos y métodos de señal. Una BDOO contiene un método sistemático de representación de relación, y la interfaz uniforme de usuario es un sistema de mensajes que puede explorar los objetos y sus interconexiones.En una BDOO, las entidades de aplicación son las clases, las instrancias de entidad son objetos creados desde las clases, y las relaciones se mantienen por medio de inclusión lógica. Un sistema de señales y métodos para procesarlas contiene una interfaz uniforme para la base de datos. En general, cada objeto esta 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 mensajepuede 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. Las BDOO permiten que los objetos hagan referencia directamente a otro mediante apuntadores suaves. Esto hace que las BDOO pasen más rápido del objeto A al objeto B que las BDR, las cuales deben utilizar comandos JOIN para lograr esto. Incluso el JOIN optimizado es más lento que un recorrido de los objetos. Así, incluso sin alguna afinación especial, una BDOO es en general más rápida en esta mecánica de caza-apuntadores. Las BDOO hacen que el agrupamiento sea más eficiente. La mayoría de los sistemas de bases de datos permiten que el operador coloque cerca las estructuras relacionadas entre sí, en el espacio de almacenamiento en disco. Esto reduce en forma radical el tiempo de recuperación de los datos relacionados, puesto que todos los datos se leen con una lectura de disco en vez de varias. Sin embargo, en una BDR, los objetos de la implantación se traducen en representaciones tabulares que generalmente se dispersan en varias tablas. Así en una BDR, estos renglones relacionados deben quedar agrupados, de modo que todo el objeto se pueda recuperar mediante una única lectura del disco. Esto es automático en una BDOO. Además, el agrupamiento de los datos relacionados, como todas las subpartes de un ensamble, puede afectar radicalmente el rendimiento general de una aplicación. Esto es relativamente directo en un BDOO, puesto que representa el primer nivel de agrupamiento. Por el contrario el agrupamiento físico es imposible en una BDR, puesto que esto requiere un segundo nivel de agrupamiento: un nivel para agrupar las hileras que representan a los objetos individuales y un segundo para los grupos de hileras que representas a los objetos relacionados. 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. 1. Por necesidades de los lenguajes de programación OO
2. Por las limitaciones de las BD relacionales
Las BD pueden proporcionar a los lenguajes de programación OO:
PERSISTENCIA DE OBJETOS (más allá de los
programas) Eficiente almacenamiento y gestión de datos en memoria secundaria Independencia de los datos respecto de los programas Lenguaje de consulta eficiente y de alto nivel (independiente de la estructura física) Gestión de transacciones que permita: acceso concurrente, integridad, seguridad y recuperación ante fallos Control de integridad (restricciones, aserciones y disparadores) Estructuras muy simples (1FN) Poca riqueza semántica No soportan tipos definidos por el usuario (sólo dominios) No soportan recursividad Falta de procedimientos/disparadores No admite herencia Soporte de objetos complejos y datos multimedia Identificadores únicos Soporte de referencias e interrelaciones Manipulación navegacional y de conjunto de registros Jerarquías de objetos y herencia Integración de los datos con sus procedimientos asociados Modelos extensibles mediante TD definidos por el usuario Gestión de versiones Facilidades de evolución Transacciones de larga duración Interconexión e interoperabilidad Por ser SGBD •Persistencia •Gestión de almacenamiento secundario •Concurrencia •Recuperación ante fallos •Lenguajes ad-hoc para manipulación Por ser OO •Objetos complejos •Identidad del objeto •Encapsulamiento •Tipos o clases •Herencia •Polimorfismo, sobrecarga y vinculación dinámica •Extensibilidad •Completitud de cálculos (lenguaje de propósito general)