Está en la página 1de 22

c  

   c


1. INTRODUCCIÓN

En este tema hablaremos de la evolución de los diferentes tipos de Bases de


Datos y como surgieron las Bases de Datos Orientadas a Objetos(BDOO).Las
BDOO almacenan y manipulan información que puede ser digitalizada
(representada) por objetos, proporcionan una estructura flexible con acceso ágil,
rápido, con gran capacidad de modificación.

El tema central a tratar en este trabajo es ³El Diseño de Base de Datos


Orientadas a Objetos´. Como veremos a continuación las BDOO representan el
siguiente paso en la evolución de las Bases de Datos para soportar el análisis,
diseño y programación Orientada a Objetos. Estás permiten el desarrollo y
mantenimiento de aplicaciones complejas ya que se puede utilizar un mismo
modelo conceptual y así aplicarlo al análisis, diseño y programación, esto reduce
el problema entre los diferentes modelos a través de todo el ciclo de vida, con un
costo significativamente menor.

Como cualquier base de datos programable, una base de datos orientada a


objetos (BDOO) da un ambiente para el desarrollo de aplicaciones con un depósito
persistente listo para su explotación.

          



c      c


D. OBJETIVO

ë Ê    
  
 
    
   
       

  


La base de datos está constituida por objetos, que pueden ser de muy diversos
tipos, y sobre los cuales se encuentran definidas unas operaciones. Las bases
de datos orientadas a objetos pueden manejar información binaria (como objetos
multimedia) de una forma eficiente. Su limitación suele residir en su
especialización, ya que suelen estar diseñadas para un tipo particular de objetos
(por ejemplo, una base de datos para un programa de CAD).

          



c      c


3. MARCO TEÓRICO

En una base de datos orientada a objetos, la información se representa 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, Un ODBMS hace que los objetos de la base
de datos aparezcan como objetos de un lenguaje de programación en uno o más
lenguajes de programación a los que dé soporte. Un ODBMS extiende los
lenguajes con datos persistentes de forma transparente, control de concurrencia,
recuperación de datos, consultas asociativas y otras capacidades.

El tema de Base de Datos Orientadas a Objetos es muy amplio ya que


debemos analizar este tema desde el punto inicial el cuales es que una Base de
Datos. Y este conlleva analizar cada uno de los puntos como es: que es un Objeto
en Base de Datos, cuáles son sus estructuras y constructores; métodos y
persistencias en las Base de Datos Orientadas a Objetos; la jerarquía de clases y
herencia; cuales son las relaciones anidadas e identificar los objetos complejos en
una Base de Datos.

Como último tema y centro de este trabajo, analizaremos y explicaremos


cuales son las técnicas de diseño de una base de datos orientada a objetos.

          



c      c


CAPÍTULO 1. BASE DE DATOS ORIENTADAS A OBJETOS


(BDOO)

Los orígenes del término orientados a objetos (abreviado OO) se remontan a los
lenguajes de programación orientadas a objetos. Los lenguajes de programación
OO tienen sus raíces en el lenguaje SIMULA 67, propuesto a finales de la década
de 1960. En Simula, el concepto de clase agrupa la estructura de datos interna de
un objeto en una declaración de clase, es decir, introduce en el lenguaje Algol los
conceptos de objeto y de clase. Como Algol, Simula es un lenguaje fuertemente
tipado para entornos compilados. Sin embargo, el primer lenguaje que popularizó
la aproximación a objetos fue Smalltalk (1976); este puede considerarse una
síntesis de años del lenguaje Lisp, que ofrece una gran flexibilidad gracias a la
interpretación, y de Simula, añadiendo el concepto de metaclase. Smalltalk ha
podido responder a las necesidades de flexibilidad presentadas por el desarrollo
de entornos de programación gráficos, favoreciendo la rápida creación de
prototipos de interfaces de usuarios amigables. Fue utilizado con éxito en la
primera estación gráfica de Xerox para (el antecesor de Macintosh).

Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer


las necesidades de las aplicaciones más complejas. El enfoque orientado a
objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin
estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los
sistemas de bases de datos tradicionales.
Como cualquier Bases de Datos programables, una Base de Datos Orientada a
Objetos (BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un
depósito persistente listo para su explotación. Una BDOO almacena y manipula
información que puede ser digitalizada (presentada) como objetos, además

          



c      c


proporciona un acceso ágil y permite una gran capacidad de manipulación.

1.1 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".

1.D 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.

1.3 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.

          



c      c


1.4 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.

1.5 Objeto
Objeto es cualquier cosa real ó abstracta acerca de la cual almacenamos datos y
los métodos que controlan dichos datos. Por ejem. En una empresa EMPLEADO
se aplica a los objetos que son personas empleadas por alguna organización
alguna INSTANCIA podría ser Juan Pérez, María Sánchez etc.

1.5.1 Clase
Clase es una implantación de un tipo de objetos. Especifica una estructura de
datos y los métodos operativos permisibles que se aplican a cada uno de sus
objetos.

1.5.D Herencia
Herencia es 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 ó algunos de los métodos. En las BDOO los datos están encapsulados y
se dice que estos son activos más que pasivos; debido a que por ejemplo; La
clase mayor detecta si tiene un hijo (objeto) más o uno menos, es por esto que se
dice que están activos ya que cuentan los hijos u objetos que tiene.

          



c      c


1.5.3 Jerarquía
Jerarquía es una clasificación u ordenación de abstracciones. En una base de
datos existen objetos que responden a los mismos mensajes, utilizan los mismos
métodos y tienen variables del mismo nombre y tipo. Sería inútil definir cada uno
de estos objetos por separado por lo tanto se agrupan los objetos similares para
que formen una clase, a cada uno de estos objetos se le llama instancia de su
clase. Todos los objetos de su clase comparten una definición común, aunque
difieran en los valores asignados a las variables.

Así que básicamente las bases de datos orientados a objetos tienen la finalidad
de agrupar aquellos elementos que sean semejantes en las entidades para formar
un clase, dejando por separado aquellas que no lo son en otra clase.

Por ejemplo: Retomemos la relación alumno-cursa-materia agregándole la


entidad maestro; donde los atributos considerados para cada uno son alumno:
Nombre, Dirección, Teléfono, Especialidad, Semestre, Grupo; Maestro: Nombre,
Dirección, Teléfono, Número económico, Plaza, RFC; Materia: Nombre, Créditos,
Clave.

Los atributos de nombre, dirección y teléfono se repiten en la entidad alumno y


maestro, así que podemos agrupar estos elementos para formar la clase Persona
con dichos campos. Quedando por separado en alumno: Especialidad, semestre,
Grupo. Y en maestro: Número económico, Plaza y RFC; la materia no entra en la
agrupación (Clase persona) ya que la clase específica los datos de solo personas,
así que queda como clase materia.

1.5.4 Objetos complejos


Los Objetos Complejos están construidos mediante algunos más simples ó
mediante la aplicación de constructores a ellos. Los Objetos más simples son
objetos como: Integer, Carácter, String de Bytes de cualquier longitud, booleanos

          



c      c


ó punto flotante y algunos pueden ser de tipo atómico. Hay varios constructores de
objetos complejos como son: Listas y arreglos.

1.6 CARACTERÍSTICAS DE BDOO

En 1989 se hizo el Manifiesto de los sistemas de base de datos orientados a


objetos el cual propuso trece características obligatorias para un SGBDOO y
cuatro opcionales. Las trece características obligatorias estaban basadas en dos
criterios: debía tratarse de un sistema orientado a objetos y un SGBD.

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

          



c      c


4) Soporte de versiones

1.7 VENTAJAS DE BDOO

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

          



c      c


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).

1.8 DESVENTAJAS DE BDOO

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

          



c      c


de los objetos, para poder acceder a la base de datos de manera eficiente.
Sin embargo, 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.

          



c      c


CAPÍTULO D. TÉCNICAS DE DISEÑO ORIENTADAS A OBJETOS

El paradigma de la orientación a objetos ha logrado una gran difusión en el área


de análisis de sistemas de información. Han sido propuestas diversas técnicas de
Análisis Orientado a Objetos (AOO), muchas de ellas ya documentadas en la
forma de libros. Para el lector no familiarizado con esta área le es tremendamente
difícil distinguir, de entre la gran variedad de propuestas, cuáles son los aspectos
efectivamente relevantes y diferenciadores de cada propuesta. Para permitir una
comparación entre las técnicas de AOO es necesario establecer un sistema de
clasificación que destaque propiedades comunes de las diferentes técnicas.

D.1 El modelo Entidad-Relación

Se trata de una técnica de diseño de base de datos gráfica, que nos muestra
información relativa a los datos y la relación existente entre ellos. Sus
características principales son:

$ Reflejan tan sólo la existencia de los datos sin expresar lo que se hace con

ellos.
$ Es independiente de las bases de datos y de los sistemas operativos (por lo

que puede ser implementado en cualquier base de datos).


$ Está abierto a la evolución del sistema.

$ Incluye todos los datos que se estudian sin tener en cuenta las aplicaciones

que se van a tratar.


$ No tienen en cuenta las restricciones de espacio y almacenamiento del

sistema.

          



c      c


Ejemplo del modelo Entidad-Relación

D.1.1 Conceptos del Modelo Entidad-Relación

Entidades Son objetos concretos o abstractos que presentan interés para


el sistema y sobre los que se recoge información que será representada en
un sistema de bases de datos. Por ejemplo, clientes, proveedores y
facturas serían entidades en el entorno de una empresa.
Atributos Es una unidad básica e indivisible de información acerca de una
entidad o una relación. Por ejemplo la entidad proveedor tendrá los
atributos nombre, domicilio, población, CIF.
Dominios Es el conjunto de valores que puede tomar cada atributo. Por
ejemplo el dominio del atributo población, será la relación de todas las
poblaciones del ámbito de actuación de nuestra empresa.
Tablas Es la forma de estructurar los datos en filas o registros y columnas o
atributos.

          



c      c


Relación Es la asociación que se efectúa entre entidades. Por ejemplo la
relación entre las entidades facturas emitidas y clientes.
Tablas relacionales Son tablas que cumplen los siguientes requisitos:
m Cada fila debe ser única, es decir no pueden existir filas duplicadas.
m Cada columna debe ser única
m Los valores de las columnas deben pertenecer al dominio de cada atributo
m Debe tener un solo tipo de fila, cuyo formato está definido por el esquema
de tabla o la relación.
m El valor de la columna para cada fila debe ser único.
m No puede contener columnas duplicadas.

D.1.D Claves
En una tabla relacional a veces es necesario poder determinar una tupla (registro)
concreta, lo cual es posible mediante la clave. Se debe elegir la clave entre los
atributos, de forma que no puedan existir valores duplicados (la clave puede
contener uno o más atributos).

D.1.3 Operaciones sobre Tablas

Todas las operaciones que podamos realizar sobre las tablas, vistas o elementos
de ellas, están integradas en el SGDBR (Sistema Gestor de Bases de Datos
Relacional) como rutinas. Ejemplos de operaciones son:

ë Selección: Obtiene un subconjunto de filas de la tabla o vista, que cumplen


una determinada condición.
ë Proyección: Obtiene un subconjunto de columnas de todas las filas de la tabla.
ë Unión: Realizamos la unión de varias tablas, cuyo resultado será el conjunto de
todas las filas de las tablas origen. Las columnas respectivas de dichas tablas
deben ser iguales entre sí.
ë Diferencia: Inversa a la anterior, devuelve las filas que estén en una tabla y no
pertenezcan a una segunda tabla. Deben por tanto ser iguales también las
columnas respectivas entre sí.

          



c      c


ë Producto cartesiano: El resultado será una fila por cada combinación entre
cada fila de una tabla y todas las de la otra. Los valores de ambas filas se
conectarán.
ë Intersección: Obtiene aquellas filas que sean idénticas en ambas tablas.
ë Join: Es la operación de unir filas de dos tablas a través de algún campo
común (normalmente la clave), dando como resultado filas con la suma de
columnas de amblas tablas cuando se cumpla la condición del Join a través del
campo (o campos) relacionados.

          



c      c


CASO PRÁCTICO DE DISEÑO DE BASE DE DATOS ORIENTADAS


A OBJETOS

1. DISEÑO DE BASE DE DATOS

Sistema de Base de Datos: Pretende satisfacer las necesidades de información de


diferentes usuarios, sobre un conjunto de datos comunes a todos ellos.

Ejemplo: Base de Datos de gestión de un banco. Se pretende satisfacer las


siguientes necesidades de
información:

ë Presidente
¿Cuántas cuentas corrientes tenemos?
¿Cuántas cuentas de ahorro?
¿Cuántos clientes tiene el banco?
¿Cuánto dinero tenemos en las cuentas
corrientes?
ë Jefe de Departamento de Contabilidad
Cada cliente ha de recibir el saldo de su cuenta
Cada cliente ha de recibir los movimientos que genera su cuenta
ë Jefe de Departamento de Préstamos
Informe de los pagos mensuales realizados por cada préstamo

Para poder satisfacer estas necesidades hay que realizar un diseño de Base de
Datos.

          



c      c


D. FASES DE DISEÑO DE UNA BASE DE DATOS

u 


  
  u

       


   
  ! "


#     $  #


%       $&

#  )  ! *)


%
 u
  u  

# #  )

 %#& '( % 


     )&
 !  ")
u


"
*

 ! + 

u"u
* 


  
%#   )&

"(  #'

          



c      c


Ê 
     
   

FASES

1.- Captación y análisis de requerimientos


Caracterizar de forma completa las necesidades de los usuarios de la BB.DD.,
tanto en los datos como en las operaciones a realizar con los datos.

Entrevistas con los futuros usuarios de la BB.DD. para captar las necesidades.

Resultado:

ë REQUISITOS DE DATOS: Necesidades de datos.


Especificación de la información que se quiere guardar.
ë REQUISITOS FUNCIONALES: Necesidades de manipulación de datos.
Especificación de las operaciones a realizar con los datos.

D.- Diseño conceptual de la BB.DD.


Una vez encontrado el modelo abstracto que se quiere utilizar, el diseñador aplica
los conceptos de este modelo para traducir los requisitos de datos del usuario al
modelo abstracto, formando el esquema conceptual de la BB.DD.

Validar el esquema conceptual sobre las transacciones especificadas en los


requisitos funcionales (consultas, actualizaciones, borrados).

          



c      c


ESQUEMA DE BB.DD.

; Estructura lógica y semántica para registrar un conjunto de hechos de una

realidad concreta.
; Esquema obtenido a partir de del modelo conceptual de BB.DD. elegido.

MODELO ABSTRACTO DE DATOS (MAD)

Descripción que posibilita la creación de esquemas conceptuales de BB.DD.


utilizadas para aplicaciones concretas.

*No confundir Modelo Abstracto de Datos con Tipo Abstracto de Datos

TIPOS DE MAD

1. Modelo Binario-Semántico
2. Modelo Entidad-Relación (Chen)
3. Modelo Semántico de Datos (Hammer)
4. Modelo de Datos funcional

          



c      c


5. Modelo Orientado a Objetos

El MAD más extendido es sin duda el método Chen (es el que veremos en este
curso), sin embargo las nuevas necesidades de globalización están haciendo
tender los nuevos diseños de BB.DD. hacia el Modelo Orientado a objetos o
también conocido como Entidad- Relación extendido. Este, es una combinación
del método Chen y de conceptos de POO (programación orientada a objetos), es
decir:

La generalización
El polimorfismo

En resumen, con este modelo, lo que buscamos es estudiar el comportamiento de


los datos, no de las estructuras además de formas de manipular esos datos y no
los de las estructuras.

          



c      c


4. CONCLUSIÓN

Las bases de datos orientadas a objetos se diseñan para trabajar bien en


conjunción con lenguajes de programación orientados a objetos como Java, C#,
Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que
estos lenguajes de programación. Los ODBMS son una buena elección para
aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos
de dato complejos.

Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor


rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y
tienen una integración transparente con el programa escrito en un lenguaje de
programación orientado a objetos, al almacenar exactamente el modelo de objeto
usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Hoy en día existen diversas técnicas propuestas de análisis de sistemas


con orientación a objetos. Estas diferentes técnicas poseen diferentes historias
(algunas se originan a partir de técnicas de diseño computacional orientado a
objetos, otras surgieron autónomamente como técnicas de análisis, independiente
de la forma de implementación) y diferentes enfoques (énfasis en el modelado de
datos o el énfasis en el modelado de procesos, por ejemplo). Para permitir la
comparación entre diferentes técnicas de análisis, en este trabajo se presentan
diversos criterios que permiten distinguir y clasificar las técnicas. Con base en
estos criterios, técnicas representativas de las diferentes clases son brevemente
evaluadas, así como también el análisis orientado a objetos como técnica de
modelado.

          



c      c


5. BIBLIOGRAFÍA

ë Principles of Component Design 1518A Microsoft Autorized academic


trining program
ë Fundamentos del diseño y la programación orientada a objetos Sergio M
Fernández Sastre, editorial McGraw Hill
ë Ingeniería de software, Sommerville I, editorial Addison-Wesley
ë Object-Oriented Programming, Coad P . Editorial Yourdon Press.
ë Apuntes de cátedra Programación 3 lenguae C++ Universidad Nacional de
la Matanza.

          

También podría gustarte