Bases de Datos Especializadas

BASES DE DATOS ESPECIALIZADAS

Sesión No. 8 Nombre: Bases de Datos Orientadas a Objetos Objetivo: Al término de la sesión, el alumno describirá las características de las bases de datos orientadas a objetos.

Contextualización Si bien es cierto que el término Bases de Datos es muy común y que actualmente se utiliza indiscriminadamente para hacer referencia a un conjunto de datos almacenados posiblemente una hoja de Excel dentro de nuestra computadora, sabemos que en la realidad ese archivo no es una base de datos.

Existen diversos tipos de bases de datos, el modelo más socorrido, eficiente y utilizado, es el modelo relacional, pero existen otros tipos de modelos que han ido surgiendo conforme las necesidades de almacenamiento y manipulación de datos, además de los paradigmas de programación, han ido evolucionando también.

En esta sesión nos enfocaremos al estudio del modelo de bases de datos orientados a objetos, que se encuentra íntimamente ligado con el paradigma de programación del mismo nombre: Paradigma Orientado a Objetos (POO).

¿Tienes noción de este modelo?

1

BASES DE DATOS ESPECIALIZADAS

Introducción al Tema

Definición de datos

Paradigma

Manipulación de datos

Bases de datos Orientadas a Objetos

En años recientes la manipulación de los datos y el desarrollo de aplicaciones han ido evolucionando a la par que los paradigmas de programación, hacia modelos más complejos que el jerárquico, el de red o el relacional. Estos ambientes nuevos fueron atendidos a través de un sistema de administración de bases de datos específico (DMBS), como es el orientado a objetos, denominado OODBMS por sus siglas en inglés. Este es un sistema que conjunta las virtudes de un DBMS con las características propias de un paradigma de programación orientado a objetos.

Características de orientación a objetos

OODBMS

Características de DBMS

Algunos elementos del modelo orientado a objetos

Es por eso que con la llegada de la tercera generación de los DBMS se fusionan las técnicas de programación y modelado, aunada a la capacidad de la manipulación de datos.

2

BASES DE DATOS ESPECIALIZADAS

Explicación El paradigma orientado a objetos El paradigma orientado a objetos enfocado a los sistemas de administración de bases de datos tiene diferentes definiciones, entre ellas, Kim (1991) considera algunos de sus elementos como: 

Modelo de datos orientado a objetos: un modelo de datos (lógico) que captura la semántica de los objetos soportados en la programación orientada a objetos.



Base de datos orientada a objetos: una colección persistente y compatible de objetos definida por un modelo de datos orientados a objetos.



OODBMS: sistema que administra una base de datos orientada a objetos.

Cabe mencionar que varios de los OODBMS con la finalidad de tener una ejecución exitosa, recurren al rescate de las fortalezas y combinación de características de orientación a objetos y de un DBMS convencional, es decir, se retoman aquellas fortalezas de los modelos ya existentes y del paradigma orientado a objetos. En 1989, el Manifiesto de los sistemas de bases de datos orientados a objetos propuso trece características que debe cumplir cualquier OODBMS basándose en dos criterios: 1. Debía tratarse de un sistema orientado a objetos y 2. Debía ser un DBMS (Atkinson et al., 1989) Las reglas son las siguientes: 1. Deben soportarse objetos complejos: debe haber la posibilidad de crear objetos complejos aplicando constructores a una serie de objetos básicos ya existentes. Ejemplos, conjuntos, listas y tuplas. 2. Deben soportarse mecanismos de identidad de los objetos: todos los objetos deben poseer una identidad unívoca que sea independiente de los valores de sus atributos. 3. Debe soportarse la encapsulación: los objetos tienen una interfaz pública, pero una ejecución privada de sus datos y métodos. La característica del encapsulado garantiza que se va a conocer sólo el aspecto público del objeto mientras que los detalles de su ejecución permanecen ocultos.

3

BASES DE DATOS ESPECIALIZADAS 4. Deben soportar los tipos o clases: se requiere que se soporte uno sólo de estos dos conceptos. Los tipos se utilizan principalmente en tiempo de compilación. Las clases se usan para guardar y manipular objetos similares en tiempo de ejecución. 5. Los tipos o clases deben ser capaces de heredar de sus ancestros: un objeto debe heredar las propiedades de sus superclases en la jerarquía de clases. Esta propiedad garantiza la reutilización del código. 6. Debe soportar el enlace dinámico: los métodos deben poder aplicarse a objetos de diferentes tipos (sobrecarga). La implementación de un método dependerá del tipo del objeto al que se aplique (anulación). Para proporcionar esta funcionalidad, el sistema no puede enlazar los nombres del método hasta el momento de la ejecución (enlace dinámico). 7. El Lenguaje de manipulación de datos (DML) debe ser computacionalmente completo: El DML del OODBMS debe ser un lenguaje de programación de propósito general, con el lanzamiento de SLQ: 1999 el lenguaje se ha convertido computacionalmente completo. 8. El conjunto de todos los tipos de datos debe ser ampliable: el usuario debe ser capaz de construir nuevos tipos a partir del conjunto de tipos predefinidos por el sistema. 9. Debe proporcionarse persistencia a los datos: los datos deben permanecer (persistir) después de que termine la aplicación que los ha creado. El usuario no debe tener que mover o copiar explícitamente los datos para hacerlos persistentes. 10. El DBMS debe ser capaz de gestionar bases de datos de muy gran tamaño: existen mecanismos para gestionar de manera eficiente el almacenamiento secundario, como índices y búferes. Un OODBMS debe tener mecanismos similares que sean invisibles al usuario y proporcionar así una clara independencia entre los niveles lógico y físico del sistema. 11. El DBMS de soportar a usuarios concurrentes: el OODBMS debe proporcionar mecanismos de control de concurrencia similares a los de los sistemas convencionales

4

BASES DE DATOS ESPECIALIZADAS 12. El DBMS debe ser capaz de recuperarse de fallos de hardware y software: un OODBMS debe proporcionar mecanismos de recuperación similares a los de los sistemas convencionales. 13. El DBMS debe proporcionar una forma simple de consultar los datos: el OODBMS debe proporcionar un mecanismo indicado que sea de alto nivel, eficiente e independiente de la aplicación. Con base en lo anterior podemos decir que entre las ventajas de los OODBMS destaca el hecho de que cuentan con mejores capacidades de modelado así como soporte para las transacciones de larga duración, adecuación a las aplicaciones avanzadas y un mejor rendimiento.

Lenguajes para la definición de datos orientados a objetos El lenguaje de definición de objetos (ODL, Object Definition Languaje) es un lenguaje para definir todas las especificaciones de los diferentes tipos de objetos en los OODBMS es un lenguaje equivalente al lenguaje de definición de datos (DDL, Data Definition Language) de los DBMS tradicionales. Al igual que en los DBMS, el ODL en los OODBMS tiene como finalidad facilitar la portabilidad de los esquemas entre sistemas compatibles al mismo tiempo que brinda la interoperabilidad entre distintos sistemas. Así mismo el ODL tiene como principal función el definir atributos y relaciones de los tipos.

Lenguajes para la consulta de datos orientados a objetos El lenguaje de consulta de objetos (OQL, Object Query Language) proporciona un acceso a la base de datos de objetos haciendo uso de una sintaxis muy similar a la del SQL. Cabe mencionar que para las operaciones explícitas de actualización se realizan a través de las operaciones definidas sobre los tipos de objetos. De la misma manera en que en el SQL, en OQL puede utilizarse como un lenguaje autónomo. Los lenguajes

5

BASES DE DATOS ESPECIALIZADAS soportados para este tipo de consultas dentro de un OODBMS son Smalltalk, C++ y Java por lo que el OQL puede invocar operaciones programadas en estos lenguajes de programación, que cabe mencionar, son lenguajes ideales para la programación orientada a objetos. Una consulta en OQL es una función que retorna un objeto que puede ser inferido del operador que contribuye a la expresión que define a la consulta. Expresiones Dentro de las diversas expresiones tenemos:

de conjuntos binarios

de colecciones indexadas

de definición de una consulta

elementales

de construcción Expresiones de tipo atómico

de conversión de colecciones

de objetos

Expresiones

Consultas Una consulta está compuesta de un conjunto (que puede ser vacío) de expresiones de definición de consultas, seguido de una expresión. El resultado de una consulta es un objeto con o sin identidad.

6

BASES DE DATOS ESPECIALIZADAS

Lenguajes para la manipulación de datos orientados a objetos El lenguaje de manipulación de objetos (OML, Object Manipulation Language), se utiliza para realizar la especificación de cómo se extraen y manipulan los objetos de la base de datos dentro del programa de aplicación. A continuación se muestra la compilación y montaje de una aplicación en C++ con el uso de ODL/OML.

Compilación y montaje de una aplicación en C++ con el uso de ODL/OML

7

BASES DE DATOS ESPECIALIZADAS

Conclusión En conclusión los principales elementos o componentes de los OODBMS son: 

Un modelo de objetos (OM, Object Model),



un lenguaje de definición de objetos (ODL, Object Definition Language),



un lenguaje de consulta de objetos (OQL, Object Query Language) y



una serie de enlaces de lenguajes con C++, Java y Smalltalk

No olvidemos que el ODL es un lenguaje que tiene como finalidad el definir las especificaciones de los tipos de objetos para los sistemas compatibles, es un lenguaje equivalente al DDL de un DBMS.

De igual manera el OQL proporciona acceso declarativo a la base de datos de objetos haciendo uso de una sintaxis parecida al SQL, una consulta OQL es una función que devuelve un objeto cuyo tipo puede inferirse del operador que contribuye a formar la expresión de consulta.

8

BASES DE DATOS ESPECIALIZADAS

Para aprender más A continuación encontrarás un par de hipervínculos para conocer y profundizar más sobre el tema de bases de datos orientadas a objetos.

Investigación sobre la especificación de restricciones dinámicas en esquemas conceptuales de bases de datos. http://brd.unid.edu.mx/investigacion-sobre-la-especificacion-de-restriccionesdinamicas-en-esquemas-conceptuales-de-bases-de-datos/

Artículo: Bases de datos orientadas a objetos http://brd.unid.edu.mx/bases-de-datos-orientadas-a-objetos/

9

BASES DE DATOS ESPECIALIZADAS

Actividad de Aprendizaje Objetivo de la actividad de aprendizaje de la sesión: El alumno describirá las características principales del paradigma de bases de datos orientadas a objetos, así como los lenguajes que utiliza para la definición, consulta y manipulación de datos mediante un organizador gráfico.

Instrucciones: ¿Qué vas a hacer? 1. Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión, desarrollarás en Word una tabla donde se reflejen claramente las los principales elementos de una base de datos orientada a objetos, así como los OODBMS, ODL, OML, y OQL. 2. Puedes diseñar una tabla o cuadro en la manera que creas pertinente para concentrar la información. Puedes incluir imágenes. Tal instrumento y su contenido debe ser original, no se aceptarán tablas retomadas de otro material. 3. Coloca el documento, de un máximo de 3 páginas, en la plataforma de aprendizaje. Nómbralo S08TuNombreTuApellido.doc.

Recuerda que esta actividad te ayudará a identificar y apropiarte del concepto de bases de datos orientadas a objetos y sus principales elementos. Material: Como material inicial de consulta puedes usar la lectura de la sesión e incluir los que sean pertinentes.

¿Cuál es la forma de entrega? Entrega en plataforma un documento en Word de máximo 3 páginas. Nombra tu archivo de la siguiente forma: S08TuNombreTuApellido.doc

10

BASES DE DATOS ESPECIALIZADAS ¿Cómo serás evaluado? En esta actividad se tomará en cuenta lo siguiente: Forma Ponderación Portada con datos generales: Universidad, Requisito maestría, asignatura, alumno y fecha. Referencias bibliográficas completas y 10 puntos pertinentes. Ortografía y redacción adecuada. 10 puntos Contenido Título adecuado del cuadro o tabla

2 puntos

Contenido completo y correcto Representación gráfica clara

48 puntos 30 puntos

Total

100 puntos

11

BASES DE DATOS ESPECIALIZADAS

Bibliografía



Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, K., Maier, D., Zdonik, B. (1989). The Object-Oriented Database System Manifesto.



Connolly, T., Begg, C. (2005). Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión, España, Pearson.



Rob, P., Coronal, C. (2004). Sistemas de bases de datos, diseño, implementación y administración, México, Thomson.



Rossel Moraga, C. (2002) Generalidades sobre OODBMS. Consultado en abril

de

2013

de

http://www.inf.udec.cl/~revista/ediciones/edicion2/crossel.PDF 

Silberschatz, A. et al. (2007). Fundamentos de diseño de bases de datos, México, McGraw-Hill.



Varas, M.; Weld, C. y Jiménez, C. (1996) Una propuesta para la especificación de restricciones dinámicas en esquemas conceptuales de Bases de Datos. Universidad de Concepción. Consultado en abril de 2013 de http://www.inf.udec.cl/~mvaras/papers/valdivia/valdivia.htm

12