Base de Datos Emergente BDOO

UNIVERSIDAD CATÓLICA ANDRÉS BELLO VICERRECTORADO ACADÉMICO ESTUDIOS DE POSTGRADO MAESTRÍA EN SISTEMAS DE INFORMACIÓN TÓPICOS AVANZADOS DE BASE DE DATO

1 downloads 135 Views 176KB Size

Recommend Stories


BASE DE DATOS. Qué es una base de datos?
1 BASE DE DATOS ¿Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se pue

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán YUCATAN Cobá Calkini Ticul Chichen-itz

BASE DE DATOS GEOGRÁFICOS
BASE DE DATOS GEOGRÁFICOS Cabo Catoche P. Progreso P. Juárez Sisal MERIDA Cancún Celestún MunáValladolid Nitán Cobá CalkiniYUCATAN Ticul Chichen-itza

Story Transcript

UNIVERSIDAD CATÓLICA ANDRÉS BELLO VICERRECTORADO ACADÉMICO ESTUDIOS DE POSTGRADO MAESTRÍA EN SISTEMAS DE INFORMACIÓN TÓPICOS AVANZADOS DE BASE DE DATOS

Base de Datos Emergente BDOO

Autor: Mireles, Rosaura. Prof. : Felipe Hernández. Caracas, Abril de 2016.

Índice Introducción.............................................................................................................3 Conceptos Básicos...................................................................................................6 Surgimiento del Modelo Orientado a Objetos........................................................13 Ventajas y Desventajas..........................................................................................19 Diseño....................................................................................................................23 Estándares de Persistencia....................................................................................25 Conclusiones..........................................................................................................27 Bibliografía.............................................................................................................28

Introducción SGBD-R: •

Modelo de datos sencillo. Arquitectura en 3 niveles (programas y datos separados).



Bases teóricas sólidas: ◦ Relaciones n-arias r d1x d2 x ... x dn. ◦ Soporte matemático: álgebra y cálculo relacional. ◦ Dependencias funcionales (semántica de la relación).



Tecnología madura: ◦ Optimización de consultas. ◦ Indexación. ◦ Administración de la concurrencia y de transacciones. ◦ Seguridad en el funcionamiento: recuperación.



Lenguaje estándar SQL ( sql3). Pero son sólo adecuados para aplicaciones tradicionales de bd. En la actualidad hay más necesidades: Gestión de sistemas multimedia, sistemas de información médica o sistemas gis que requieren manipular información más compleja. Problemas:



Convertir objetos y relaciones al modelo relacional supone descomponer los objetos en gran número de tablas errores.



Gran número de joins para su recuperación -> rendimiento.



Solución: SGBD relacionales de objetos



Los modelos de datos y las estructuras de datos de los lenguajes de programación están desacoplados:



Solución: SGBDOO y lenguajes OO siguen el mismo paradigma: comportamiento. Lenguaje OQL.

3

datos +

En la actualidad, la orientación a objetos es una nueva forma de comprender los problemas y modelar el negocio de una empresa, documentar, diseñar programas y base de datos. El enfoque orientado a objetos ofrece la oportunidad de cumplir con los requerimientos del negocio sin estar limitado a los tipos de datos y los lenguajes de consulta disponibles en los gestores de datos tradicionales. Las Bases de datos orientados a objetos se proponen para satisfacer las necesidades de aplicaciones más complejas. Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos está orientado a objetos y almacenan y recuperan objetos en los que se almacena estado y comportamiento. Su origen se debe a que en los modelos clásicos de datos existen problemas para representar cierta información, puesto que aunque permiten representar gran cantidad de datos, las operaciones que se pueden realizar con ellos son bastante simples. Las clases utilizadas en un determinado lenguaje de programación orientado a objetos son las mismas clases que serán utilizadas en una BDOO; de tal manera, que no es necesaria una transformación del modelo de objetos para ser utilizado por un SGBDOO. De forma contraria, el modelo relacional requiere abstraerse lo suficiente como para adaptar los objetos del mundo real a tablas. Las bases de datos orientadas a objetos surgen para evitar los problemas que surgen al tratar de representar cierta información, aprovechar las ventajas del 4

paradigma orientado a objetos en el campo de las bases de datos y para evitar transformaciones entre modelos de datos (usar el mismo modelo de objetos).

5

Conceptos Básicos BD: Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase. Los objetos pueden ser transitorios o persistentes. Los objetos transitorios existen mientras vive el programa de aplicación que los ha creado. Estos objetos se usan tanto como almacenamiento temporal como para dar apoyo al programa de aplicación que se está ejecutando. Los objetos persistentes son aquellos que se almacenan en la base de datos. BDOO: Una Base de Datos Orientada a Objetos es una base de datos donde las entidades son las clases, los elementos de datos son objetos y las relaciones se mantienen por medio inclusión lógica. Teniendo en cuenta este concepto, las base de datos orientada a objetos están diseñadas para el manejo de datos de un sistema que ha sido modelada, diseñada e implementada como un conjunto de objetos relacionados entre sí. En fin, una BDOO es una colección persistente y compatible de objetos definida por un modelo de datos orientado a objetos. Modelo OO: Un modelo de datos que captura la semántica de los objetos soportados en la programación orientada a objetos. 6

SGBDOO: El gestor de una base de datos orientada a objetos. El paradigma orientado a objetos se define como un conjunto de principios para realizar el modelado, diseño, desarrollo e implementación basado de estructuras conceptuales conocidas como objetos. Las bases de datos orientadas a objetos están diseñadas trabajar con aplicaciones desarrollados orientada a los negocios, que son un conjunto de objetos que interactúan entre sí. Identidad En el modelo relacional: Identidad definida por el usuario (clave) Modelo O.O.: Cada objeto mutable tiene un identificador (OID). • El OID se puede usar como un puntero al objeto. • El usuario no tiene que preocuparse de generar los ids. Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. Herencia: Las clases o tipos heredan de sus ancestros. Herencia simple: 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 o algunos de los métodos. Herencia múltiple. Cuando una clase hereda de mas de una superclase se tiene herencia múltiple. Ventajas de la herencia:. •

Ayuda al modelado porque proporciona una descripción concisa y precisa del mundo.



Ayuda a compartir especificaciones e implementaciones en las aplicaciones

Tipos de herencia a destacar en los sistemas de gestión de bases de datos: 7

• Herencia de sustitución: en cualquier lugar donde podamos tener un objeto de tipo podemos sustituirlo por un objeto de tipo t si t hereda de t’ (este tipo de herencia se basa en la similitud del comportamiento). • Herencia de inclusión: corresponde a la noción de clasificación y se basa en la estructura del objeto, no en las operaciones. Afirma que t es subtipo de t’ si cada objeto de tipo t es también un objeto de tipo • Herencia de restricción: es un subcaso de la herencia de inclusión. Un tipo tes un subtipo de si está formado por todos los objetos de t que satisfacen una restricción dada • Herencia de especialización: un tipo t es un subtipo de un tipo t’ si los objetos del tipo t son objetos del tipo t’ que contienen información más específica. Herencia en BDOO: En teoría, una base de datos orientada a objetos debe soportar dos tipos de herencia: la relación “es un” y la relación “extiende”. La relación “es un”, también se conoce como generalización–especialización, crea una jerarquía donde las subclases son tipos específicos de las superclases. Con la relación “extiende”, sin embargo, una clase expande su superclase en lugar de estrecharla en un tipo más específico. Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema. 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 8

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. Sobrecarga de métodos: una de las características de las clases es que pueden tener métodos sobrecargados, que son métodos que tienen el mismo nombre pero que necesitan distintos datos para operar. Interfaces: Alguno lenguajes orientados a objetos no soportan la herencia múltiple. En lugar de eso, permiten que una clase se derive de una sola clase pero permiten que la clase implemente múltiples interfaces. Una interfaz es una especificación para una clase sin instrucciones en los métodos. Cada clase que implemente la interfaz proporcionará las instrucciones para cada método de la misma. Una interfaz puede contener atributos y métodos, o bien solo uno de ellos. Mapeo de Objetos: Es un método que une los conceptos de objetos, de lenguaje de consultas (SQL) y base de datos, creando una base de datos de objetos virtuales. Mapear los objetos, hace que el software sea más robusto ya que reduce las líneas de código programado, por lo que reduce la carga de trabajo de los programadores y asegura que los errores en el desarrollo sea mínimo. Polimorfismo: En general, las subclases heredan

los métodos de sus

superclases y los utilizan como si fueran suyos. Sin embargo, en algunas ocasiones no es posible escribir un método genérico que pueda ser usado por todas las subclases. Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción 9

que genera. Abstracción: consiste en captar las características esenciales de un objeto, así como su comportamiento. Ejemplo. ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc. Ocultamiento:

Es

la

capacidad

de

ocultar

los

detalles

internos

del

comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema. El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase. Encapsulamiento:

Consiste

en

unir

en

la

Clase

las

características

y

comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace. Lenguaje de definición de objetos ODL: 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.

10

El lenguaje de manipulación de objetos OML: Un principio básico para el diseño de OML es que la sintaxis utilizada para crear, borrar, identificar, referenciar, obtener / modificar los valores de las propiedades e invocar operaciones sobre objetos persistentes debe ser no muy diferente de la utilizada para los objetos con periodos de vida más cortos. Una única expresión debe poder mezclar libremente referencias a objetos transitorios y persistentes. Sin embargo, en este estándar, las colas y la consistencia de transacciones se aplican sólo a los objetos persistentes. Lenguaje de consulta: Un lenguaje de consulta es un lenguaje informático usado para hacer consultas en bases de datos y sistemas de información. Los lenguajes de consulta pueden ser clasificados de acuerdo a si son lenguajes de consulta de bases de datos o lenguajes de consulta de recuperación de información. Algunos ejemplos son: .QL es un lenguaje de consulta propietario orientado a objetos para consultar bases de datos relacionales. OQL es un lenguaje de consulta de objetos; OCL (Object Constraint Language - lenguaje de restricciones de objetos). Pese a su nombre, OCL es también un lenguaje de consulta de objetos y un estándar OMG. Lenguaje de Consulta de Objetos (OQL): OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas de modo eficiente sobre bases de datos orientadas a objetos. OQL no posee primitivas para modificar el estado de los objetos ya que las modificaciones se pueden realizar mediante los métodos que

estos

poseen.

La

sintaxis

básica

de

OQL

es

una

estructura

SELECT...FROM...WHERE..., como en SQL. Por ejemplo, la siguiente expresión obtiene los nombres de los departamentos de la escuela de ‘Ingeniería’: SELECT D. Nombre FROM d in departamentos WHERE D. Escuela = `Ingenieria'; 11

Existen otras maneras de realizar consultas en las bases de datos orientadas a objetos que pueden llegar a resultar más sencillas que por intermedio del lenguaje OQL Basada en patrones: A la consulta se le da un objeto ‘patrón’, al cual se le dan las mismas características (dar valor a sus atributos) de los objetos que se están buscando. La consulta devuelve el conjunto de objetos que tienen dichas características. Basadas en API: A través métodos de clases especiales, se especifican de forma programática las restricciones que deben cumplir los datos a consultar. Consultas nativas: Se crean nuevas clases en las cuales se programan los condicionales que se usarán durante la consulta.

12

Surgimiento del Modelo Orientado a Objetos El origen de las BDOO se encuentra básicamente en las siguientes razones: La existencia de problemas para representar cierta información y modelar ciertos aspectos del ‘mundo real’, puesto que los modelos clásicos permiten representar gran cantidad de datos, pero las operaciones y representaciones que se pueden realizar sobre ellos son bastante simples. El paso del modelo de objetos al modelo relacional genera dificultades que en el caso de las BDOO no surgen ya que el modelo es el mismo. Por lo tanto, las bases de datos orientadas a objetos surgen básicamente para tratar de paliar las deficiencias de los modelos anteriores y para proporcionar eficiencia y sencillez a las aplicaciones. Los SGBDOO son creados gracias a la falta de capacidad semántica del modelo relacional con el propósito de atender nuevos tipos de aplicaciones. •

Diseño y fabricación en ingeniería



Bases de datos gráficas y de imágenes



Bases de datos científicas



Sistemas de información geográficas



Bases de datos multimedia



Accesos uniforme a sistemas de múltiples bases de datos

Otro motivo para la creación de las bases de datos orientadas a objetos es el creciente uso de los lenguajes orientados a objetos para el desarrollo de aplicaciones. Las bases de datos orientadas a objetos surgen con la finalidad de superar estas deficiencias de los modelos anteriores y proporcionar eficiencia y sencillez a las aplicaciones. 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).

13

El objeto del Modelo OO es reducir la impedancia entre las nuevas capas de aplicación (Objetos) y el almacenamiento persistente de los datos (Relacional) Características obligatorias de orientación a objetos: 1) Deben soportarse objetos complejos 2) Deben soportarse mecanismos de identidad de los objetos 3) Debe soportarse la encapsulación 4) Deben soportarse los tipos o clases 5) Los tipos o clases deben ser capaces de heredar de sus ancestros 6) Debe soportarse el enlace dinámico 7) El DML debe ser computacionalmente complejo 8) El conjunto de todos los tipos de datos debe ser ampliable Características obligatorias de SGBD: 9) Debe proporcionarse persistencia a los datos 10) El SGBD debe ser capaz de gestionar bases de datos de muy gran tamaño 11) El SGBD debe soportar a usuarios concurrentes 12) El SGBD debe ser capaz de recuperarse de fallos hardware y software 13) El SGBD debe proporcionar una forma simple de consultar los datos. Características opcionales: 1) Herencia múltiple 2) Comprobación de tipos e inferencia de tipos 3) Sistema de base de datos distribuido 4) Soporte de versiones Sistema de gestión de base de datos OO La información que administra una base de datos orientadas a objetos se representa a través de objetos a mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, OBJECT DATABASE MANAGEMENT SYSTEM). Los diversos Sistemas de Gestión de Base de Datos Orientadas a Objetos utilizan 14

diversos lenguajes de programación: SGBDOO --> Lenguaje de Programación ORION --> LISP GemStone --> Extensión de SmallTalk O2 --> C Vbase/Ontos --> C++ Versant --> C++ Object Store --> C++ Funcionalidades: El modelo de datos orientado a objetos es una extensión del paradigma de programación orientado a objetos. Persistencia: Es la capacidad de manipular los datos, los cuales se encuentran almacenados en una base de datos, directamente utilizando un lenguaje de programación orientado a objetos. A través de la persistencia, la manipulación de objetos se realiza directamente por el lenguaje de programación, de la misma manera que en la memoria, sin persistencia de objetos. Esto se logra mediante el almacenamiento en el caché de la memoria. Los objetos entidad que se utilizan en los programas orientados a objetos son análogos a las entidades que se utilizan en las bases de datos orientadas a objetos: los objetos del programa desaparecen cuando el programa termina su ejecución, mientras que los objetos de la base de datos permanecen. A esto se le denomina persistencia. Concurrencia: Permite a los usuarios acceder al SMBDOO en una aplicación. Los mecanismos de control de concurrencia incluye mecanismos de recuperación durante fallos. Modos de control de concurrencia son: •

Pesimista: Obliga a una transacción a esperar a que se resuelva el conflicto para actualizar los datos.



Optimista: Deja correr la transacción y resuelve éste al final del commit, emplea usando TimeStamp y copias de la transacción.



Mixto: Combina diferentes controles de concurrencia a diferentes objetos y 15

tipos de datas en una misma transacción. Recuperación: Es el proceso de aplicar consistencia a los datos después de que una transacción ha abortado por fallas de hardware o de comunicación. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación se especifica en dos partes: 1. La interfaz que define la operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). 2. La implementación (o método) de la operación. REGLAS DE ORO PARA QUE UNA BD SEA OO

l

Relaciones: La principal propiedad para cualquier modelo de datos, es la representación de las relaciones que encontramos entre los componentes del modelo. Las bases de datos relacionales representan las relaciones mediante las claves ajenas. Las bases de datos orientadas a objetos implementan sus relaciones incluyendo en cada objeto los identificadores de los objetos con los que se relaciona. Un identificador de objeto es un atributo interno que posee cada objeto. Ni los programadores, ni los usuarios que realizan consultas de forma interactiva, ven o manipulan estos identificadores directamente. Los identificadores de los objetos 16

los asigna el SGBD y es el único que los utiliza. Integridad de las Relaciones:Para que las relaciones funcionen en una base de datos orientada a objetos pura, los identificadores de los objetos deben corresponderse en ambos extremos de la relación. Ejemplo, la clase Aparejador tiene un atributo de tipo conjunto llamado supervisa. Del mismo modo, la clase Obra tiene un atributo llamado es supervisada. Para garantizar la integridad de esta relación, un SGBD orientado a objetos puro deberá permitir que el diseñador de la base de datos pueda especificar donde debe aparecer el identificador del objeto inverso Tipos de Relación: Las relaciones en un modelo de datos orientado a objetos pueden ser de dos tipos: a. Relación interobjetos: Vínculo Atributo Clase b. Relación de herencia de jerarquía de clases Relación InterObjetos: Vínculo Atributo Clase Una relación atributo-clase o relación interobjeto, se crea cuando el atributo de un determinado objeto hace referencia hacia otro objeto que puede ser de la misma clase (recursividad) u otro objeto de clase diferente. Existen dos tipos de relaciones interobjeto que vamos a estudiar a continuación: a. Relaciones 1:M b. Relaciones M:N Relaciones 1:M: Para representar una relación 1:M a. En la clase “muchos” defina un atributo para almacenar el identificador del objeto (clave primaria) de la clase “uno”. b. En la clase “uno” defina un atributo para almacenar el conjunto de valores, que representa los identificadores de los “muchos” objetos que está relacionado. Empleado

Area

IdEmp Nombre Apellido FechaNac Area -> 1

idArea Nombre Empleado ->m

17

Esta relación está basada en la regla: en un área trabaja uno a muchos empleados Relaciones M:N La relación M:N es la relación definida como “parte de un todo”. En esta relación, una clase (clase A)está compuesta de muchos identificadores de otra clase (clase B). Y de la misma forma, cada clase (clase B) está compuesta de muchos identificadores de otra clase (clase A). Articulo

Proveedor

IdArt Descripcion Medida PreUni Proveedor -> M

idProv Nombre Direccion Articulo -> M

Esta relación está basada en la regla: un proveedor produce uno a muchos artículos, un artículo es producido por uno a muchos proveedores . Para transformar el planteamiento realizado en la regla de negocio anterior, se tendrá que definir una clase que conecte tanto a Articulo como a Proveedor y guardar los atributos asociados. Art_Provee Uni_Medida Precio Proveedor -> M Articulo -> M

18

Ventajas y Desventajas Las debilidades y limitaciones de los SGBDR son: •

Pobre representación de las entidades del ‘mundo real’.



Sobrecarga y poca riqueza semánticas.



Soporte inadecuado para las restricciones de integridad y empresariales



Estructura de datos homogénea



Operaciones limitadas



Dificultades para gestionar las consultas recursivas



Desadaptación de impedancias



Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado acceso navegacional.



No ofrecen soporte para tipos definidos por el usuario (sólo dominios)

Mientras que las necesidades de las aplicaciones actuales con respecto a las bases de datos son: •

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

Debido a las limitaciones anteriormente expuestas, el uso de BDOO es más 19

ventajoso si se presenta en alguno de los siguientes escenarios: •

Un gran número de tipos de datos diferentes



Un gran número de relaciones entre los objetos



Objetos con comportamientos complejos

Se puede encontrar este tipo de complejidad acerca de tipos de datos, relaciones entre objetos y comportamiento de los objetos principalmente en aplicaciones de ingeniería, manufacturación, simulaciones, automatización de oficina y en numerosos sistemas de información. No obstante, las BDOO no están restringidas a estas áreas. Ya que al ofrecer la misma funcionalidad que su precursoras relacionales, el resto de campos de aplicación tiene la posibilidad de aprovechar completamente la potencia que las BDOO ofrecen para modelar situaciones del mundo real. Aunque los SGBDOO pueden proporcionar soluciones apropiadas para muchos tipos de aplicaciones avanzadas de bases de datos, también tienen sus desventajas. Las ventajas de un SGBDOO son: 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: •

un objeto permite encapsular tanto un estado como un comportamiento



un objeto puede almacenar todas las relaciones que tenga con otros objetos



los objetos pueden agruparse para formar objetos complejos (herencia).

Ampliabilidad. Esto se debe a: •

Se pueden construir nuevos tipos de datos a partir de los ya existentes.



Agrupación de propiedades comunes de diversas clases e incluirlas en una superclase, lo que reduce la redundancia.

Reusabilidad de clases, lo que repercute en una mayor facilidad de mantenimiento y un menor tiempo de desarrollo. 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 20

que SQL utiliza el acceso asociativo. El acceso navegacional es más adecuado para gestionar operaciones como los despieces, consultas recursivas, etc. 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. 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 mejor que los SGBDOO en las aplicaciones tradicionales de bases de datos como el procesamiento de transacciones en línea (OLTP). Los inconvenientes de un SGBDOO son: 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. Carencia de experiencia. Todavía no se dispone del nivel de experiencia del que se dispone para los sistemas tradicionales. Carencia de estándares. Existe una carencia de estándares general para los SGBDOO. 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. La

optimización

de

consultas

compromete

la

encapsulación.

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, 21

esto compromete el concepto de encapsulación. El modelo de objetos aún no tiene una teoría matemática coherente que le sirva de base.

22

Diseño Diferencias entre el diseño conceptual de una BOO y una BDR Una de las diferencias principales reside en la forma en la que se tratan las relaciones. En BDOO las relaciones se suelen establecer mediante propiedades de relación o atributos de referencia que incluyen OID (identificadores de objetos) de los objetos relacionados: •

Pueden considerarse referencias OID a los objetos relacionados.



Se permiten tanto las referencias únicas como las colecciones de referencias.



Las referencias de una relación binaria pueden declararse en una única dirección, o en ambas direcciones.

En BDR las relaciones entre las tuplas (registros) se especifican mediante atributos con valores coincidentes: •

Pueden considerarse referencias de valores y se especifican mediante claves externas: ◦ Que son valores de atributos de clave primaria repetidos en tuplas de la relación que le hace referencia.

• Otra

Estas referencias están limitadas a tener un único diferencia

entre

el

diseño

de

BDOO

y

BDR

es

el

modo

de abordar la herencia: •

En

una

BDOO,

estas

estructuras

se

incorporan

al

modelo

y

la

correspondencia se consigue mediante la utilización de los constructores de herencia. •

En el diseño relacional hay varias opciones ya que no existe ningún elemento predefinido para la herencia en el modelo relacional básico.

Otra diferencia importante es que en el diseño de BDO es necesario especificar las

operaciones

al

comienzo

del

diseño

ya

que

forman

parte

de

las

especificaciones de las clases. Esto puede retrasarse en el diseño de una BDR 23

dado que ello no es estrictamente necesario hasta la fase de implementación.

24

Estándares de Persistencia ODMG: el estándar de facto para modelos de objetos. ODMG es un grupo de representantes de la industria de bases de datos el cual fue concebido en el verano de 1991 con el objetivo de definir estándares para los SGBDOO. Uno de sus estándares, el cual lleva el mismo nombre del grupo (ODMG), es el del modelo para la semántica de los objetos de una base de datos. El modelo de objetos ODMG es un superconjunto del modelo de objetos de OMG, que permite portar tanto

los

diseños

como

las

implementaciones

entre

diversos

sistemas

compatibles. La versión del estándar ODMG 3.0, propone los siguientes componentes principales de la arquitectura ODMG para un SGBDOO: •

Modelo de objetos



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



Lenguaje de consulta de objetos (OQL, Object Query Language)



Conexión con los lenguajes C++, Smalltalk y Java (al menos)

El modelo de

objetos

ODMG permite que tanto

los

diseños

como las

implementaciones, sean portables entre los sistemas que lo soportan. ODL es un lenguaje para definir la especificación de los tipos de objetos para sistemas compatibles con ODMG. ODL es el equivalente de DDL (Data Definition Languaje o 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. Su principal objetivo es el de facilitar la portabilidad de los esquemas entre sistemas compatibles al mismo tiempo que proporciona interoperabilidad entre distintos SGBD. La sintaxis de ODL extiende el lenguaje de definición de interfaces (IDL) de la arquitectura CORBA (Common Object Request Broker Architecture). OQL es un lenguaje declarativo del tipo de SQL que permite realizar consultas 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 superconjunto de la sentencia SELECT. OQL no posee primitivas para modificar el estado de los objetos, ya que éstas se 25

deben realizar a través de los métodos que dichos objetos poseen. La sintaxis básica de OQL es una estructura SELECT...FROM...WHERE..., como en SQL.

26

Conclusiones Diferencia entre el modelo de objetos y el modelo relacional SGBD Relacionales Los datos residen en la base de datos y los procesos se encuentran en las aplicaciones desarrolladas mediante el lenguaje de datos asociado al SGBD(SQL) inmerso en un lenguaje de programación. Desarrollo bajo Sistemas Relacionales: •

Modelo conceptual de datos — modelo lógico



Eficientes para aplicaciones tradicionales de negocios.

SGBD Orientados a objetos Gestionan objetos en los cuales están encapsulados los datos y las operaciones que actúan sobre ellos. Desarrollo bajo SGBDOO: •

Un único modelo subyacente, implementado en el SGBBOO, al que pueden acceder directamente las aplicaciones.



Intentan satisfacer necesidades de aplicaciones más complejas.



Característica clave: poder que dan al diseñador de la base de datos tanto para

especificar

la

estructura

de

los

objetos

complejos

como

las

operaciones que se pueden aplicar a estos objetos. En conclusión, el mundo de las OODB es un mundo todavía en pleno desarrollo, pero que teniendo en cuenta las ventajas que ofrece respecto a otros modelos anteriores, constituye el futuro de las bases de datos.

27

Bibliografía •

Modelos Emergentes de Bases de Datos. Visitado el 02/04/2016. Disponible en: https://santacruzramos.wikispaces.com/Modelos+emergentes+de+bases+d e+datos



Modelos Emergentes de Bases de Datos. Visitado el 02/04/2016. Disponible en: https://gusmc.wikispaces.com/Unidad+1+Modelos+Emergentes+de+Bases +de+Datos



Modelos Emergentes de Bases de Datos. Visitado el 03/04/2016. Disponible en: https://topicos34.wikispaces.com/UNIDAD+1+Modelos+emergentes+de+ba ses+de+datos.



Patricia Hernandez Rodríguez, Jesús Abundis Manzanares (2012). Modelos Emergentes de B.D. Visitado el 03/04/2016. Disponible en: http://es.slideshare.net/chuchooabundism/modelos-emergentes-de-basesde-datos?from_action=save



Merche Marqués (2002). Bases de datos orientadas a objetos. Visitado el 03/04/2016. Disponible en: http://www3.uji.es/~mmarques/e16/teoria/cap2.pdf.



Lenguajes de Consulta Orientados a Objetos. Visitado el 02/04/2016. Disponible en: http://www3.uji.es/~mmarques/e16/trabajos/t_jr_meneu.pdf



Bases

de

Datos

Orientadas

a

Objetos.

Visitado el 09/04/2016.

Disponible en: http://exa.unne.edu.ar/depar/areas/informatica/dad/DAD/Presentaciones/Ba ses_de_Datos_Orientadas_a_Objetos.pdf •

Edwar Andrés Ruiz Medina, Andrés Felipe Montoya Ríos. Visitado el 09/04/2016. Disponible en: http://es.slideshare.net/montoya118/base-dedatos-orientada-a-objetos-10781998 28



José Ramón Ríos Viqueira. Sistemas De Bases De Datos Basados en Objetos. Visitado el 09/04/2016. Disponible en: http://docencia.lbd.udc.es/bd3/teoria/t1/bdoo.pdf



Demián Gutierrez (2011). Bases de Datos Orientadas a Objeto. Visitado el 09/04/2016. Disponible en: http://www.codecompiling.net/files/slides/BD_clase_08_OODB.pdf



C. J. Date (2011).Introducción a los Sistemas de Bases De Datos. Visitado el 09/04/2016. Disponible en: https://unefazuliasistemas.files.wordpress.com/2011/04/introducion-a-lossistemas-de-bases-de-datos-cj-date.pdf



Clara Martín Sastre Bases de Datos Orientadas a Objeto y el estándar ODMG. Visitado el 10/04/2016. Disponible en: http://www.xtec.cat/~iguixa/materialsGenerics/DAMDAW_M03_UF6_NF1_USA L_BDOO.pdf



Alejandro Alberca Manzaneque. Bases de datos Orientadas a Objetos y Bases de Datos Objeto-Relacionales. Visitado el 10/04/2016. Disponible en:

https://basededatos2010.wikispaces.com/file/view/BD+O-

O+ventajas+y+desventajas.pdf •

Dámaso López Aragón (2013). Base de Datos: Enfoque Orientado a Objetos . Visitado el 10/04/2016. Disponible en: https://my.laureate.net/faculty/webinars/Documents/2013Agosto_Base %20de%20Datos%20Enfoque%20Orientado%20Objetos.pdf -->



David M. Kroenke. Procesamiento de bases de datos. Fundamentos, diseño e implementación. 8va edición. Visitado el 10/04/2016. Disponible en:

https://independent.academia.edu/procesamiento-de-bases-de-datos-

fundamen.pdf

29

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.