viernes, 13 de marzo de 2015

Bases de datos orientadas a objetos (BDOO)
¿Qué es O.O.?





En esos mundos OO, el conocimiento se descentraliza en todos los objetos que lo componen, cada objeto sabe hacer lo suyo y no le interesa saber cómo el vecino hace su trabajo, pero sabe que lo hace y qué es lo que puede hacer. Como bien lo definió Dan Ingalls de Smalltalk con las siguientes palabras:
"La orientación a objetos proporciona una solución que conduce a un Universo de Objetos 'bien educados' que se piden de manera cortés, concederse mutuamente sus deseos".
¿Por qué O.O.?
La meta es dejar la etapa en la que la construcción del software es una labor de artesanos, y pasar a la etapa en la que se pueda tener fábricas de software, con gran capacidad de reutilización de código y con metodología eficientes y efectivas que se apliquen al proceso de producción.
¿Qué es una BDOO?
A finales de los 80's aparecieron las primeras BDOO, es una base de datos inteligente. Soporta el paradigma orientado a objetos almacenando datos y métodos, y no sólo datos. Está diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos. Evita el acceso a los datos; esto es mediante los métodos almacenados en ella. Es más segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador.
Un Modelo Conceptual Unificado
Las técnicas OO utilizan los mismos modelos conceptuales para el análisis, diseño y construcción. La tecnología de las BDOO da un paso más hacia la unificación, el modelo conceptual de la base de datos OO es igual al del resto del mundo OO, en lugar de utilizar tablas por relación independientes como SQL.
El uso del mismo modelo conceptual para todos los aspectos del desarrollo simplifica éste, particularmente con las herramientas CASE OO; mejora la comunicación entre usuarios, analistas y programadores, además de que reduce las posibilidades de error.
Para ver las figuras faltantes haga click en el menú superior "Bajar Trabajo"
(Figura No.2)
El desarrollo tradicional tiene cuatro modelos conceptuales
Arquitectura de Una BDOO
En la siguiente (TablaNo1) se muestran algunos de los principales productos de BDOO y sus vendedores.
Los primeros se diseñaron como una extensión de los lenguajes de programación como Smalltalk ó C++. El LMD ( lenguaje para el manipulación de datos; también conocido como DML) y el LDD (lenguaje para la definición de los datos; también conocido como DDL) construían un lenguaje OO común.
El diseño de las BDOO actuales debe aprovechar al máximo él CASE e incorporar métodos creados con cualquier técnica poderosa, incluyendo enunciados declarativos, generadores de códigos e inferencias con base en reglas.
Para ver la tabla faltante haga click en el menú superior "Bajar Trabajo"
(Tabla No.1) (Figura No.3)
Seis Productos de BDOO y sus Proveedores.
Algunas características son independientes de la arquitectura fundamental de una BDOO pero son comunes a la mayoría de ellas:
* Versiones.- La mayoría de los sistemas de bases de datos sólo permiten que exista una representación de un ente de la base de datos dentro de esta. Las versiones permiten que las representaciones alternas existan en forma simultánea.
* Transacciones compartidas.- Las transacciones compartidas soportan grupos de usuarios en estaciones de trabajo, los cuales desean coordinar sus esfuerzos en tiempo real, los usuarios pueden compartir los resultados intermedios de una base de datos. La transacción compartida permite que varias personas intervengan en una sola transacción
Desarrollo con Bases de Datos OO
Las BDOO se desarrollan al describir en primer lugar los tipos de objetos importantes del dominio de aquellos tipos de objetos. Estos tipos de objetos determinan las clases que conformarán la definición de la BDOO.
Por ejemplo: Una base de datos diseñada para almacenar la geometría de ciertas partes mecánicas incluiría clases como CILINDRO, ESFERA Y CUBO. El comportamiento de CILINDRO podría incluir información relativa a sus dimensiones, volumen área superficial:
Clase de CILINDRO{
ALTURA FLOTANTE ();
RADIO FLOTANTE ();
VOLUMEN FLOTANTE ();
AREA DE SUPERFICIE FLOTANTE ();
Se puede llegar a definiciones similares para el cubo y la esfera. En la definición anterior, ALTURA,RADIO y ÁREA representan los mensajes que se pueden enviar a un objeto CILINDRO .
La Implantación se lleva a cabo en el mismo lenguaje, escribiendo funciones correspondientes a las solicitudes OO:
CILINDRO::ALTURA () {RETORNA CILINDRO_ALTURA;}
CILINDRO::VOLUMEN () {RETORNA PI*RADIO ()*ALTURA ();}
En este caso, la Altura se almacena como un elemento de los datos, mientras que volume se calcula mediante la fórmula apropiada. Observe que la implantación interna de volume utiliza solicitudes para obtener altura y radio. Sin embargo, el aspecto más importante es la sencillez y uniformidad que experimentan los usuarios de CILINDRO. Sólo necesitan conocer la forma de enviar una solicitud y las solicitudes disponibles.
Tres Enfoques de Construcción de Bases de Datos OO
Las BDOO se pueden construir mediante alguno de los tres enfoques siguientes:
El Primero.- se puede utilizar el código actual altamente complejo de los sistemas de administración de las bases de datos, de modo que una BDOO se implante más rápido sin tener que iniciar de cero. Las técnicas orientadas a objetos se pueden utilizar como medios para el diseño sencillo de sistemas complejos. Los sistemas se construyen a partir de componentes ya probados con un formato definido para las solicitudes de las operaciones del componente.
* El Segundo: considera a la BDOO como una extensión de la tecnología de las bases de datos por relación. De este modo, las herramientas, técnicas, y vasta experiencia de la tecnología por relación se utilizan para construir un nuevo SABD. Se pueden añadir apuntadores a las tablas de relación para ligarlas con objetos binarios de gran tamaño (BLOB). La base de datos también debe proporcionar a las aplicaciones clientes un acceso aleatorio y por partes a grandes objetos, con el fin de que sólo sea necesario recuperar a través de la red la parte solicitada de los datos.
* El Tercero: reflexiona sobre la arquitectura de los sistemas de bases de datos y produce una nueva arquitectura optimizada, que cumple las necesidades de la tecnología OO. Las compañías como Versant, Objectivity, Itasca, etc. Utilizan esté enfoque y afirman que la tecnología de relación es un subconjunto de una capacidad más general. Además que las BDOO no de relación son aproximadamente dos veces más rápidas que las bases de datos por relación para almacenar y recuperar la información compleja. Por lo tanto, son esenciales en aplicaciones como CAD y permitirían que un depósito CASE fuera una facilidad de tiempo real en vez de una facilidad por lotes.
La Arquitectura de Versant está designada al soporte Cliente/Servidor con acercamiento a la computación distribuida; cualquier aplicación de Cliente el servidor la procesa, usa las EDT y las máquinas servidoras que pueden cooperar en una BD distribuida de Versant. Las BD pueden estar levantadas como un sistema m-Cliente/n-Servidor.
Un servidor en el medio ambiental de Versant es una máquina que está corriendo los procesos del servidor, esta soporta accesos concurrentes por usuarios múltiples de una o más BD. Un cliente es un proceso de aplicación este tiene acceso a espacios de trabajo de BD persistentes privadas y en adición puede accesar diversas BD sobre servidores concurrentes con otras aplicaciones de cliente.


LAS BASES DE DATOS ORIENTADAS A OBJETOS

Las bases de datos orientadas a objetos se crearon para tratar de satisfacer las necesidades de estas nuevas aplicaciones. La orientación a objetos ofrece flexibilidad para manejar algunos de estos requisitos y no está limitada por los tipos de datos y los lenguajes de consulta de los sistemas de bases de datos tradicionales. 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.
BDOO.jpeg



Los modelos de bases de datos tradicionales (relacional, red y jerárquico) han sido capaces de satisfacer con éxito las necesidades, en cuanto a bases de datos, de las aplicaciones de gestión tradicionales. Estas presentan algunas deficiencias cuando se trata de aplicaciones más complejas o sofisticadas.

Ejemplo:
  • El diseño y fabricación en ingeniería (CAD/CAM, CIM)
  • Los experimentos científicos
  • Los sistemas de información geográfica
  • Los sistemas multimedia.

Los requerimientos y las características de estas nuevas aplicaciones difieren en gran medida de las típicas aplicaciones de gestión:

La estructura de los objetos es:
  • Compleja
  • Las transacciones son de larga duración
  • Se necesitan nuevos tipos de datos para almacenar imágenes y textos
  • Hace falta definir operaciones no estándar y especificas para cada aplicación.

Las BDOO se crearon para tratar de satisfacer las necesidades de estas nuevas aplicaciones. La orientación a objetos ofrece flexibilidad y no está limitada por los tipos de datos.

Características clave de la BDOO

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.

Las BD se han convertido en piezas fundamentales de muchos sistemas de información y las bases de datos tradicionales son difíciles de utilizar cuando las aplicaciones que acceden a ellas están escritas en un lenguaje de programación orientado a objetos como C++, Smalltalk o Java.

Las bases de datos orientadas a objetos se han diseñado para que se puedan integrar directamente con aplicaciones desarrolladas con lenguajes orientados a objetos.

El modelo relacional extendido y los sistemas se les denomina sistemas objeto–relacionales.

La nueva versión de SQL, SQL:19991, incluye algunas de las características de la orientación a objetos.

Los fabricantes de los SGBD orientadas a objetos formaron un grupo denominado ODMG (Object Database Management Group),

Propuso:

El estándar ODMG–93 y que ha ido evolucionando hasta el ODMG 3.0.

Ventajas de los estándares
  • Proporcionan portabilidad
  • Permiten que una aplicación se pueda ejecutar sobre sistemas distintos con mínimas modificaciones.
  • Proporcionan interoperabilidad, permitiendo que una aplicación pueda acceder a varios sistemas diferentes.
  • Permiten que los usuarios puedan comparar entre distintos sistemas comerciales.











No hay comentarios:

Publicar un comentario