Bases de datos orientadas a objetos

Page 1

Diseño de Bases de Datos II

Bases de Datos Orientadas a Objetos

Presentado por Tomas Enrique Carroll Olivera

Facilitador: Francisco Javier Álvarez Gómez

FUNDACION UNIVERSITARIA CATOLICA DEL NORTE INGENIERÍA INFORMÁTICA MEDELLÍN – ANTIOQUIA 2013


DESARROLLO

Conceptualización y Herramientas de Bases de Datos Orientadas a Objetos.

Fig. 1. Relación entre Lenguaje y Bases de datos orientadas a Objetos

Introducción

Las nuevas tecnologías y la multimedia han requerido la realización de cambios sustanciales en los sistemas de bases de datos, por esta razón la aparición de las bases de datos orientadas a objetos, que solventaron esta necesidad para los programas de diseño, ingeniería, sistemas cartográficos y demás los cuales necesitan de datos dinámicos como imágenes, videos y formulaciones especiales que no podían ser almacenadas y tratadas en bases de datos relacionales debido a su complejidad y tamaño.


Fig.2. Datos de Almacenamiento en bases de Datos orientadas a Objetos.

Algunos requerimientos para las bases de datos actuales son: 1234567891011-

  

Soporte para objetos complejos y datos multimedia Identificadores únicos Soporte a referencias e interrelaciones Manipulación navegacional y de conjunto de registros Jerarquías de objetos o tipos y herencia Integración de los datos con sus procedimientos asociados Modelos extensibles mediante tipos de datos definidos por el usuario Gestión de versiones Facilidades de evolución Transacciones de larga duración Interconexión e interoperabilidad


Concepto de Bases de Datos orientadas a Objetos El desarrollo del paradigma orientado a objetos aporta un gran cambio en el modo en que vemos los datos y los procedimientos que actúan sobre ellos. Tradicionalmente, los datos y los procedimientos se han almacenado separadamente: los datos y sus relaciones en la base de datos y los procedimientos en los programas de aplicación. La orientación a objetos, sin embargo, combina los procedimientos de una entidad con sus datos.

Fig.3. Características de los SBDOO

Fig.4. Estructura típica de un SBDOO


Las bases de datos orientadas a objetos intentan dar respuesta a estos problemas, incorporando las siguientes características: • Adoptan como modelo de datos el de los lenguajes orientados a objetos, permitiendo así el uso de estructuras de datos tan complejas como sea necesario, y eliminando en gran medida las barreras entre el desarrollo de aplicaciones y la gestión de datos. • Permiten la extensibilidad con nuevos tipos de datos complejos, permitiendo incorporar operaciones arbitrarias sobre ellos. Una característica clave de las bases de datos orientadas a objetos es la potencia que proporcionan al diseñador al permitirle especificar tanto la estructura de objetos complejos, como las operaciones que se pueden aplicar sobre dichos objetos.

Objetos.

En las bases de datos orientadas a objetos todos los elementos que se manejan son objetos. Cada objeto se corresponde con una entidad de la realidad, y define sus propiedades y comportamiento (encapsulamiento). Los objetos, al igual que las filas de las bases de datos relacionales, expresan las propiedades de los elementos de la realidad. Sin embargo, los objetos, al contrario que las tuplas, tienen identidad y son elementos activos, de tal forma que poseen un comportamiento y pueden interaccionar entre sí. Los objetos pueden realizar acciones, que se denominan métodos, servicios, funciones, procedimientos u operaciones.

Encapsulamiento: cada objeto contiene y define procedimientos (métodos) y la interfaz mediante la cual se puede acceder a él y otros objetos pueden manipularlo. Existen otros conceptos que al igual que en las POO son manejados en las SBDOO Los objetos han entrado en el mundo de las bases de datos de formas: SGBD orientados a objetos puros: son SGBD basados completamente en el modelo Orientado a objetos. SGBD híbridos u objeto–relacionales: son SGBD relacionales que permiten almacenar objetos en sus relaciones (tablas). Los SGBDOO más avanzados permiten al usuario definir sus propios tipos de datos básicos con sus propias operaciones. Esto hace al sistema muy flexible y capaz de soportar los datos de cualquier aplicación.


Las clases son un patrón o plantilla en la que se basan objetos que son similares. Cuando un programa crea un objeto de una clase, proporciona datos para sus variables y el objeto puede entonces utilizar los métodos que se han escrito para la clase. Tipos de clases. En los programas orientados a objetos hay tres tipos de clases: clases de control, clases entidad y clases interface. 1-

Las clases de control gestionan el flujo de operación de un programa (por ejemplo, el programa que se ejecuta es un objeto de esta clase). 2- Las clases entidad son las que se utilizan para crear objetos que manejan datos (por ejemplo, clases para personas, objetos tangibles o eventos). 3- Las clases interface son las que manejan la entrada y la salida de información (por ejemplo, las ventanas graficas y los menús utilizados por un programa).

Identidad.

La parte más importante de un objeto es su identidad única. La identidad de cada objeto se representa por medio de un OID (Object Identifier), el cual es único para ese objeto. La diferencia entre un OID y una clave primaria está en que la clave primaria se basa en los valores dados por los usuarios para ciertos atributos, los cuales pueden ser alterados en cualquier momento. Sin embargo, el OID es asignado por el sistema, debe ser independiente del valor de cualquier atributo, y no puede ser alterado. El OID solo puede desaparecer cuando su objeto lo haga, y en ese caso nunca puede volver a ser utilizado. Por último, el OID tampoco puede referirse a ninguna dirección de memoria. Así se consigue que la manera en que se representan los objetos y sus relaciones sea independiente del formato de almacenamiento físico de los datos. Ejemplos de Identidad Valor. Se utiliza un valor de datos como identidad. Esta forma de identidad se utiliza en los sistemas relacionales. Por ejemplo, el valor de la clave primaria de una tupla identifica a la tupla. Nombre. Se utiliza como identidad un nombre proporcionado por el usuario. Esta forma de identidad suele utilizarse para los archivos en los sistemas de archivos. Cada archivo recibe un nombre que lo identifica de manera unívoca, independientemente de su contenido. Incorporada. Se incluye el concepto de identidad en el modelo de datos o en el lenguaje de programación y no hace falta que el usuario proporcione ningún identificador. Esta forma de identidad se utiliza en los sistemas orientados a objetos. Cada objeto recibe del sistema de manera automática un identificador en el momento en que se crea.


Método: es un procedimiento algorítmico a través del cual se realiza una determinada operación sobre el comportamiento de un objeto, un método se caracteriza por tener su nombre, sus parámetros formales y su valor de retorno (si es el caso). Mensajes: refieren a las señales que envía un objeto a otro para que ejecute una determinada operación, no es más que el medio de comunicación entre los objetos Tipo: modelo de los rasgos comunes de un conjunto de elementos que tienen las mismas características. Por ejemplo, los objetos de tipo persona. Herencia: mecanismo mediante el cual una clase puede ser definida sobre la base de la definición de de otra clase Polimorfismo: mecanismo que permite definir e invocar funciones que comparten la misma interfaz pero tienen una implementación diferente (Marín, 2001). Por ejemplo, si se tiene el método Calcular Área () depende del objeto que lo implemente se ejecutará, porque calcular el área de un cuadrado no es igual a calcular el área de un círculo. Persistencia: capacidad del programador para que sus datos se conserven al finalizar la ejecución de un proceso, de forma que se puedan reutilizar en otros procesos. Los Encapsulamiento: ocultar la implementación de un método, dejando visible la especificación. Puede tener niveles de: privada, público y protegida

Ventajas y desventajas de las Bases de datos orientadas a objetos.

Ventajas:

 1- Mayor capacidad de modelado. El modelado de datos orientado a objetos permite modelar el ‘mundo real’ de una manera mucho más fiel. Esto se debe a: a- un objeto permite encapsular tanto un estado como un comportamiento b- o un objeto puede almacenar todas las relaciones que tenga con otros objetos c- o los objetos pueden agruparse para formar objetos complejos (herencia). 2- Ampliabilidad. Esto se debe a: a- Se pueden construir nuevos tipos de datos a partir de los ya existentes. b- Agrupación de propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia. c- Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo. 3- Lenguaje de consulta más expresivo. El acceso navegacional desde un objeto al siguiente es la forma más común de acceso a datos en un SGBDOO. Mientras que SQL


utiliza el acceso asociativo. El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc. 4- Adecuación a las aplicaciones avanzadas de base de datos. Hay muchas áreas en las que los SGBD tradicionales no han tenido excesivo éxito como el CAD, CASE, OIS, sistemas multimedia, etc. en los que las capacidades de modelado de los SGBDOO han hecho que esos sistemas sí resulten efectivos para este tipo de aplicaciones. 5- Mayores prestaciones. Los SGBDOO proporcionan mejoras significativas de rendimiento con respecto a los SGBD relacionales. Aunque hay autores que han argumentado que los bancos de prueba usados están dirigidos a aplicaciones de ingeniería donde los SGBDOO son más adecuados. También está demostrado que los SGBDR tienen un rendimiento Desventajas

 1- Carencia de un modelo de datos universal. No hay ningún modelo de datos que esté universalmente aceptado para los SGBDOO y la mayoría de los modelos carecen una base teórica. 2- Carencia de experiencia. Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales. 3- Carencia de estándares. Existe una carencia de estándares general para los SGBDOO. 4- Competencia. Con respecto a los SGBDR y los SGBDOR. Estos productos tienen una experiencia de uso considerable. SQL es un estándar aprobado y ODBC es un estándar de facto. Además, el modelo relacional tiene una sólida base teórica y los productos relacionales disponen de muchas herramientas de soporte que sirven tanto para desarrolladores como para usuarios finales. 5- La optimización de consultas compromete la encapsulacion. La optimización de consultas requiere una compresión de la implementación de los objetos, para poder acceder a la base de datos de manera eficiente. Sin embargo, esto compromete el concepto de encapsulación. 6- El modelo de objetos aún no tiene una teoría matemática coherente que le sirva de base.


Fig.5. Resumen de conceptos bĂĄsicos del modelo orientado a objetos

Herramientas SBDOO

Fig.6. Arquitectura de un sistema de Bases de Datos OO “ Sistema DeepEdit"


El modelo estándar ODMG Un grupo de representantes de la industria de las bases de datos formaron el ODMG (Object Data base Management Group) con el propósito de definir estándares para los SGBD orientados a objetos. Este grupo propuso un modelo estándar para la semántica de los objetos de una base de datos. Su ´ultima versión, ODMG 3.0, apareció en enero de 2000. Los principales componentes de la arquitectura ODMG para un SGBD orientado a objetos son los siguientes: Modelo de objetos. Lenguaje de definición de objetos (ODL). Lenguaje de consulta de objetos (OQL). Conexión con los lenguajes C++, Smalltalk y Java.

El modelo de objetos ODMG permite que tanto los diseños, como las implementaciones, sean portables entre los sistemas que lo soportan. Dispone de las siguientes primitivas de modelado: ODL es un lenguaje de especificación para definir tipos de objetos para sistemas compatibles con ODMG. ODL es el equivalente del DDL (lenguaje de definición de datos) de los SGBD tradicionales. Define los atributos y las relaciones entre tipos, y especifica la signatura de las operaciones. OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas de modo eficiente sobre bases de datos orientadas a objetos, incluyendo primitivas de alto nivel para conjuntos de objetos y estructuras. Está basado en SQL-92, proporcionando un super conjunto de la sintaxis de la sentencia SELECT.

Ejemplos de sistemas manejadores de bases de datos orientadas a Objetos

MATISSE, de ADB Inc., posee soporte para C, C++, Smalltalk y Eiffel. Está orientado al desarrollo de bases de datos con una rica estructura semántica, además puede almacenar y manejar objetos como: imágenes, películas y sonidos. Otras características son: Ubicación optimizada de los objetos en dispositivos de almacenamiento. Se duplica los objetos en varios dispositivos para recuperación en caso de fallo. Mecanismo de versiones de objetos incorporado. Soporte para transacciones.


Soporte Cliente-Servidor. VERSANT, de Versant Object Technology, con soporte a C++, Smalltalk y Eiffel. Se ajusta al est谩ndar ODMG. Especial control al bloqueo y a las transacciones. Mecanismo de notificaci贸n de eventos. Mecanismo de versiones de objetos. Soporte Cliente-Servidor. Rico conjunto de tipos de datos


Referencias

Aramburu Cabo, M. J., & Sanz Blasco, I. (2013). Universitat Jaume-i. Recuperado el 29 de 05 de 2013, de www.sapientia.uji.es: http://repositori.uji.es/xmlui/handle/10234/48034 Hernández, Y., & Silva, A. (2009). Fundamentación Teórica de las Bases de Datos Orientadas a Objetos. Caracas: Universidad Central de Venezuela. Marquéz, M. (14 de 04 de 2002). Universitat Jaumei. Recuperado el 28 de 05 de 2013, de www3.uji.es/~mmarques/e16/teoria/cap2.pdf Muñoz, A., & Aguilar, J. (2009). Ontología de Bases de Datos Orientadas a Objetos y Multimedia. Avances en Sistemas e Informatica , 167-184. Ríos Viqueira, J. R. (23 de 01 de 2013). Laboratorio Bases de Datos. Recuperado el 27 de 05 de 2013, de Universidad de la Coruña: http://docencia.lbd.udc.es/bd3/teoria/t1/ Rob, P., & Coronel, C. (2003). Sistemas de Bases de Datos: Diseño, Implementacion y Administracion. Madrid: Ediciones Paraninfo. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2002). FUNDAMENTOS DE BASES DE DATOS.Cuarta edición. Madrid: McGraw-Hill Inc.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.