Está en la página 1de 33

Tema 1

Bases de Datos
Orientadas a Objetos
Bases de Datos III INF-411
INTRODUCCION.
 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 esta limitada por los tipos de datos y
los lenguajes de consulta de los sistemas
de bases de datos tradicionales.
INTRODUCCION.
 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.
CONCEPTOS DE ORIENTACIÓN
A OBJETOS

 Base de datos orientada a objetos


(BDOO): una colección persistente y
compatible de objetos definida por un
modelo de datos orientado a objetos.

 Modelo de datos orientado a objetos:


Un modelo de datos que captura la
semántica de los objetos soportados en la
programación orientada a objetos.
CONCEPTOS DE ORIENTACIÓN
A OBJETOS
 El modelo orientado a objetos también
soporta relaciones de muchos a muchos,
siendo el primer modelo que lo permite.
Aun así se debe ser muy cuidadoso
cuando se diseñan estas relaciones para
evitar perdidas de información.
 La naturaleza navegacional de las bases
de datos orientadas a objetos implica que
las consultas deben seguir relaciones
predefinidas y que no pueden insertarse
nuevas relaciones “al vuelo”.
ORIGEN DE LA BASE DE DATOS
ORIENTADA A OBJETOS
 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.
RELACION ENTRE BDR Y
BDOO.
 Tecnología Relacional
• Orientada al uso de funciones
• Centrada en los datos
 Tecnología de Objetos

• Orientada a Objetos
• Centrada en servicios
RELACION ENTRE BDR Y
BDOO.
Tecnología Relacional
 Los datos constituyen un ente propio
y van completamente separados de
las funciones que los manejan.
 De hecho uno puede existir
perfectamente sin la existencia del
otro.
 Esto crea una complejidad añadida a
la hora de manejar esos datos.
Las Debilidades y Limitaciones de los
SGBDR
 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)


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


Las Necesidades de las Aplicaciones
Actuales con Respecto a las Bases de
Datos son:
 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
RELACION ENTRE BDR Y
BDOO.
Tecnología de Objetos

 Los datos coexisten junto a los


procesos que los tratan.
 Estas entidades son los Objetos

 Simplifica el tratamiento de los datos


El Paradigma Relacional
 Los datos son independientes de las
entidades que los procesan
 Dichos datos deben ser almacenados en
bases de datos relacionales compuestas
principalmente de Tablas, Filas (registros),
y Campos.
 Dichos datos deben mantener una relación
coherente entre ellos (Relación impuesta
por la Base de datos).
El Paradigma Relacional
 ¿Qué pasa si queremos almacenar
Objetos creados por un lenguaje
orientado a Objetos en una base de
datos Relacional?
 En este instante se produce lo que
vamos a llamar la Inadaptación de
Impedancia (Entre Objetos y Datos
Relacionales)
El Paradigma Relacional
El Paradigma Relacional
Solución Adoptada
 ¿Qué pasa si queremos almacenar
Objetos creados por un lenguaje
orientado a Objetos en una base de
datos Relacional?
 La solución comúnmente aceptada
pasa por lo que llamaremos Mapeo
Objeto - Relacional
El Paradigma Relacional
Solución Adoptada
Características de las Bases de
Datos Orientadas a Objetos
 Los objetos son abstracciones del mundo real o
entidades del sistema que se administran entre ellas
mismas.
 Los objetos son independientes y encapsulan el
estado y la representación de información.
 La funcionalidad del sistema se expresa en términos
de servicios de los objetos.
 Las áreas de datos compartidas son eliminadas. Los
objetos se comunican mediante paso de parámetros.
 Los objetos pueden estar distribuidos y pueden
ejecutarse en forma secuencial o en paralelo.
Características de las Bases de
Datos Orientadas a Objetos
 Objetos: cada entidad del mundo real se modela
como un objeto.

 La forma de identificar objetos es mediante un


identificador de objetos (OID, Object Identifier),
único para cada objeto. Generalmente este
identificador no es accesible ni modificable para el
usuario (modo de aumentar la integridad de
entidades y la integridad referencial). Los OID son
independientes del contenido. Es decir, si un objeto
cambia los valores de atributos, sigue siendo el
mismo objeto con el mismo OID. Si dos objetos
tienen el mismo estado pero diferentes OID, son
equivalentes pero tienen identidades diferentes.
Características de las Bases de
Datos Orientadas a Objetos
 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. La mayoría de los SGBDOO permite el
acceso directo a los atributos incluyendo operaciones
definidas por el propio SGBDOO las cuales leen y
modifican los atributos para evitar que el usuario
tenga que implementar una cantidad considerable de
métodos cuyo único propósito sea el de leer y escribir
los atributos de un objeto. Generalmente, los
SGBDOO permiten al usuario especificar qué
atributos y métodos son visibles en la interfaz del
objeto y pueden invocarse desde afuera.
Características de las Bases de
Datos Orientadas a Objetos
 Otros conceptos utilizados de la misma manera que en la
POO son:

– Clases

– Herencia simple, múltiple y repetida.

– Polimorfismo de operación, de inclusión y


paramétrico; ligadura tardía (late binding);
sobrecarga (overloading) y suplantación o anulación
(overriding).

– Objetos Complejos.
Estructura del Diseño Orientado a
Objetos
Ventajas del Diseño Orientado a
Objetos.-
 Fácil de mantener, los objetos
representan entidades auto-
contenidas.
 Los objetos son componentes
reutilizables.
 Para algunos sistemas, puede haber
un mapeo obvio entre las entidades
del mundo real y los objetos del
sistema.
Desarrollo Orientado a Objetos.-
 El análisis, diseño y programación orientada a
objetos están relacionados pero son diferentes.
 El análisis orientado a objetos concierne al
desarrollo del modelo de objetos del dominio
de la aplicación.
 El Diseño Orientado a Objetos trata del
desarrollo del modelo del sistema orientado a
objetos para implementar los requerimientos.
 La programación orientada a objetos trata de
la realización del Diseño Orientado a Objetos
utilizando algún lenguaje de programación
orientada a objetos como C++.
Métodos de Diseño Orientado a
Objetos.
 Algunos métodos que fueron originalmente
basados en funciones (método de Yourdon) han
sido adaptadas al diseño orientado a objetos.
Otros métodos como el método de Booch han
sido específicamente desarrolladas
específicamente para el Diseño Orientado a
Objetos
 El Diseño Orientado a Objetos es un método de
diseño desarrollado para soportar la
programación en Ada.
 JSD (Jackson system development) tiene una
cierta orientación a objetos pero no contiene
información sobre estados entidad
Método de Diseño Orientado a Objetos

 La identificación de objetos, sus


atributos y servicios.
 La organización de objetos dentro de
una jerarquía.
 La construcción de descripciones
dinámicas de objetos que muestran
como se usan los servicios.
 La especificación de interfaces de
objetos.
Objetos, Clases y Herencia
 Los objetos son entidades en un sistema
de software que representan instancias de
entidades del mundo real.
 Las clases objetos son templates para
objetos. Pueden usarse para crear
objetos.
 Las clases objetos pueden heredar
atributos y servicios de otras clases
objetos.
Objetos
Un objeto es una entidad que tiene un estado y un
conjunto definido de operaciones que operan sobre
este estado. El estado se representa mediante un
conjunto de atributos del objeto. Las operaciones
asociadas con el objeto proveen servicios a otros
objetos (clientes) que requieren estos servicios
cuando necesitan realizar alguna actividad de
cómputo. Los objetos se crean de acuerdo a una
definición de la clase objeto. La definición de la clase
objeto sirve como template para los objetos. Esta
incluye las declaraciones de todos los atributos y
servicios los cuales deben estar asociados con un
objeto de esta clase.
Herencia
 Los objetos son miembros de clases que
define tipos de atributos y operaciones.
 Las clases pueden organizarse en
jerarquías de clases donde una clase se
deriva de una clase existente (super-clase).
 Una sub-clase hereda los atributos y
operaciones de su super-clases y puede
añadir nuevos métodos o atributos propios.
Ventajas de la Herencia
 Es un mecanismo de abstracción que
debe ser usado para clasificar
entidades.
 Es un mecanismo de reuso a los
niveles de diseño y programación.
 La gráfica de herencias es una fuente
de conocimiento organizacional sobre
dominios y sistemas.
Problemas con la Herencia
 Las clases objeto no están auto-
contenidas. No pueden entenderse sin su
referencia a su super-clase.
 Los diseñadores tienen la tendencia de
reusar la gráfica de herencias creada
durante el análisis. Pueden causar alguna
ineficiencia.
 La gráfica de herencias del análisis, diseño
e implementación tienen distintas
funciones y deben mantenerse separadas.
CLASE
 Es 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. Todos
los objetos creados a partir de la misma clase
comparten los mismos procedimientos para sus
métodos, también tienen los mismos tipos para
sus datos, pero los valores pueden diferir.
 Una clase también es un tipo de datos. De hecho
una clase es una implementación de lo que se
conoce como un tipo abstracto de datos. El que
una clase sea también un tipo de datos significa
que una clase se puede utilizar como tipo de datos
de un atributo.
Tipos de Clases.
 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).
 Las clases entidad son las que se utilizan
para crear objetos que manejan datos
(por ejemplo, clases para personas,
objetos tangibles o eventos).
 Las clases interfase 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).

También podría gustarte