Está en la página 1de 62

Base de datos para

aplicaciones
UNIDAD IV. Bases de Datos
Orientadas a Objetos
Resultado de Aprendizaje
 Elaborará un informe basado en un
ejercicio práctico que contenga:
 Diseño de una base de datos orientada a
objetos basado en EERR-OO.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 Los modelos de bases de datos
tradicionales han sido capaces de
satisfacer con éxito las necesidades,
en cuanto a bases de datos, de las
aplicaciones de gestión tradicionales.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 Sin embargo, presentan algunas
deficiencias cuando se trata de
aplicaciones más complejas o
sofisticadas como, por ejemplo, el
diseño y fabricación en ingeniería
(CAD/CAM, CIM), los experimentos
científicos, los sistemas de
información geográfica o los sistemas
multimedia.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 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 más
compleja, se necesitan nuevos tipos
de datos para almacenar imágenes y
textos, y hace falta definir
operaciones no estándar, específicas
para cada aplicación
MC Ricardo Israel Roque Covarrubias
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.
MC Ricardo Israel Roque Covarrubias
Bases de datos Orientadas a
Objetos
 Los objetos han entrado en el mundo
de las bases de datos de formas:
 SGBD híbridos u objeto–relacionales: son
SGBD relacionales que permiten
almacenar
 SGBD orientados a objetos puros: son
SGBD basados completamente en el
modelo orientado a objetos.

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional
 Los fabricantes de los SGBD
relacionales también se han dado
cuenta de las nuevas necesidades en
el modelado de datos, por lo que las
nuevas versiones de sus sistemas
incorporan muchos de los rasgos
propuestos para las bases de datos
orientadas a objetos, como ha
ocurrido con Informix y Oracle.

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional
 El modo en que los objetos han
entrado en el mundo de las bases de
datos relaciónales es en forma de
dominios, actuando como el tipo de
datos de una columna.

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional
 Implicaciones del hecho de utilizar una
clase como un dominio:
 Si se utiliza una clase como dominio de
una columna, en cada fila esa columna
sólo puede contener un objeto de la clase
(se sigue manteniendo la restricción del
modelo relacional de contener valores
atómicos en la intersección de cada fila
con cada columna).

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional
 Implicaciones (continuación):
 Es posible almacenar procedimientos en
las relaciones porque un objeto está
enlazado con el código de los procesos
que sabe realizar (los métodos de su
clase).

MC Ricardo Israel Roque Covarrubias


Bases de datos Objeto-
Relacional
 Ya que un sistema objeto-relacional
es un sistema relacional que permite
almacenar objetos en sus tablas, la
base de datos sigue sujeta a las
restricciones que se aplican a todas
las bases de datos relaciónales y
conserva la capacidad de utilizar
operaciones de concatenación (join)
para implementar las relaciones “al
vuelo”.
MC Ricardo Israel Roque Covarrubias
Bases de datos orientadas a
objetos
 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.
MC Ricardo Israel Roque Covarrubias
Bases de datos orientadas a
objetos
 Un SGBDOO es un SGBD que
almacena objetos y por tanto posee
todas las ventajas de la orientación a
objetos
 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++.
MC Ricardo Israel Roque Covarrubias
Bases de datos Orientadas a
Objetos
 Durante los últimos años se han
creado muchos prototipos
experimentales de sistemas de bases
de datos orientadas a objetos y
también muchos sistemas
comerciales.
 Conforme estos fueron apareciendo,
surgió la necesidad de establecer un
modelo estándar y un lenguaje.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 Esto ha dado lugar al modelo
relacional extendido y a los sistemas
que lo implementan se les denomina
sistemas objeto–relacionales. La
nueva versión de SQL, SQL:1999,
incluye algunas de las características
de la orientación a objetos.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 Para ello, los fabricantes de los SGBD
orientadas a objetos formaron un
grupo denominado ODMG (Object
Database Management Group), que
propuso el estándar ODMG–93 y que
ha ido evolucionando hasta el ODMG
3.0.

MC Ricardo Israel Roque Covarrubias


Bases de datos Orientadas a
Objetos
 Ventajas del uso de estándares:
 Proporciona portabilidad
 Interoperabilidad
 Permiten que los usuarios puedan
comparar entre distintos sistemas
comerciales, dependiendo de qué partes
del estándar proporcionan.

MC Ricardo Israel Roque Covarrubias


El estándar ODMG
 Un grupo de representantes de la
industria de las bases de datos
formaron el ODMG (Object Database
Management Group) con el propósito
de definir estándares para los SGBD
orientados a objetos.

MC Ricardo Israel Roque Covarrubias


El estándar ODMG
 Los principales componentes de la
arquitectura ODMG para un SGBD
orientado a objetos son los
siguientes:
 Modelo de objetos.
 Lenguaje de definición de objetos (ODL).
 Lenguaje de consulta de objetos (OQL).
 Conexión con los lenguajes C++,
Smalltalk y Java.

MC Ricardo Israel Roque Covarrubias


Modelo de Objetos
 El modelo de objetos ODMG permite
que tanto los diseños, como las
implementaciones, sean portables
entre los sistemas que lo soportan.

MC Ricardo Israel Roque Covarrubias


Modelo de Objetos
 Dispone de las siguientes primitivas
de modelado:
 Los componentes básicos de una BDOO
son los objetos y los literales.
 Un objeto es una instancia auto
contenida de una entidad de interés del
mundo real.
 Un literal es un valor específico.
 Los objetos y los literales se categorizan
en tipos.
MC Ricardo Israel Roque Covarrubias
Modelo de Objetos
 Dispone de las siguientes primitivas
de modelado:
 Cuando un tipo tiene comportamientos,
todos los objetos de ese tipo comparten
los mismos comportamientos (herencia).
 Una base de datos es un conjunto de
objetos almacenados que se gestionan
de modo que puedan ser accedidos por
múltiples usuarios y aplicaciones.

MC Ricardo Israel Roque Covarrubias


Modelo de Objetos
 Dispone de las siguientes primitivas
de modelado:
 La definición de una base de datos está
contenida en un esquema que se ha
creado mediante el lenguaje de
definición de objetos ODL (Object
Definition Language)

MC Ricardo Israel Roque Covarrubias


Modelo de Objetos
 Un objeto se describe con 4
características:
 Identificador de objeto (OID) único en el
sistema
 Pueden recibir opcionalmente un nombre
único, para hacer referencia al objeto
desde un programa
 Tiempo de vida: objeto persistente u
objeto transitorio
 Estructura: objeto atómico u objeto de
colección
MC Ricardo Israel Roque Covarrubias
Modelo de Objetos
 Los tipos de objetos y literales se
descomponen en:
 Atómicos (tipos de datos básicos: long,
short, unsigned long, float, double,
boolean, char, string y enum)
 Estructurados : son los que se crean
mediante el constructor de tuplas Struct
 Colección : conjunto de objetos o
valores

MC Ricardo Israel Roque Covarrubias


Modelo de Objetos
 Los objetos colección identificados
por el estándar son los siguientes:
 Set<tipo> : es un grupo desordenado
de objetos del mismo tipo. No se
permiten duplicados.
 Bag<tipo> : es un grupo desordenado
de objetos del mismo tipo. Se permiten
duplicados.
 List<tipo> : es un grupo ordenado de
objetos del mismo tipo. Se permiten
duplicados.
MC Ricardo Israel Roque Covarrubias
Modelo de Objetos
 Los objetos colección identificados
por el estándar son los siguientes:
 Array<tipo> : es un grupo ordenado de
objetos del mismo tipo que se pueden
acceder por su posición.
 Dictionary<clave,valor> : es como un
índice.

MC Ricardo Israel Roque Covarrubias


Lenguaje Modelado a
Objetos (ODL)
 El ODL está diseñado para soportar
constructores semánticos de ODMG y
no depende de ningún lenguaje de
programación específico
 Se pueden utilizar vínculos específicos
para transformar los constructores de
ODL en elementos de un LPOO como
C++, SMALLTALK o JAVA

MC Ricardo Israel Roque Covarrubias


Lenguaje de Consulta a
Objetos (OQL)
 Lenguaje consulta objetos propuesto
para el ODMG.
 Diseñado para operar
C++,SMALLTALK y JAVA.
 Una consulta insertada en uno de
estos lenguajes de programación
puede obtener como resultado
objetos que coinciden con el sistema
de tipos de dicho lenguaje.
MC Ricardo Israel Roque Covarrubias
Lenguaje de Consulta a
Objetos (OQL)
 Sigue estructura
SELECT d.nombred
FROM d in departamentos
WHERE d.escuela=‘Ingenieria’;
 Una consulta no tiene que seguir la
estructura select..from..where…

MC Ricardo Israel Roque Covarrubias


Relaciones
 Las bases de datos orientadas a
objetos implementan sus relaciones
incluyendo en cada objeto los
identificadores de los objetos con los
que se relaciona.

MC Ricardo Israel Roque Covarrubias


Relaciones
 Hay dos aspectos importantes a
destacar sobre este método de
representar las relaciones entre
datos:
 Para que el mecanismo funcione, el
identificador del objeto no debe cambiar
mientras este forme parte de la base de
datos.

MC Ricardo Israel Roque Covarrubias


Relaciones
 Las únicas relaciones que se pueden
utilizar para consultar la base de datos
son aquellas que se han predefinido
almacenando en atributos los
identificadores de los objetos
relacionados.
 El modelo orientado a objetos
permite los atributos multivaluados,
agregaciones a las que se denomina
conjuntos (sets) o bolsas (bags).
MC Ricardo Israel Roque Covarrubias
Relaciones
 Ya que el paradigma orientado a
objetos soporta la herencia, una base
de datos orientada a objetos también
puede utilizar la relación “es un”
entre objetos (especialización).

MC Ricardo Israel Roque Covarrubias


Relaciones
 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”.
 449 106 80 46
 José luis

MC Ricardo Israel Roque Covarrubias


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.

MC Ricardo Israel Roque Covarrubias


Integridad de las relaciones
define object type Empleado
tuple[ nombre: string,
dni: string,
fecha_nac: Fecha,
sexo: char,
depto: Departamento inverse
Departamento:empleados]

MC Ricardo Israel Roque Covarrubias


Integridad de las relaciones
define object type Departamento
tuple[ nombred: string,
numerod: integer,
dirigido: tuple[ gerente: Empleado,
fecha_inic: Fecha],
sedes: set(string),
empleados:set(Empleado) inverse
Empleado:depto]

MC Ricardo Israel Roque Covarrubias


Modelado de BDOO
 UML usa diagramas de clases para
el diseño de BD.
 En los diagramas de clases, además
de atributos y relaciones, también se
incluyen operaciones sobre objetos.
 Dichas operaciones pueden servir
para especificar requisitos funcionales
durante el diseño de la BD.
Clase, Atributo y Tipo de Atributo

Las operaciones son de interés en las BD Orientadas a


Objetos o para el diseño de los programas de aplicación.
Atributos compuestos
Atributos claves

 En una clase no es necesario tener


ningún atributo clave, puesto que los
objetos tienen su propio identificador.
 El problema surge al transformar los
diagramas modelos concretos de BD,
como el relacional.
Asociación
Multiplicidad

 Equivalente a la notación (mín, máx)


de E/R.
 – Notación mín..max, donde en lugar
de N se usa *
 – Los mín..máx se colocan en los
extremos inversos a donde se colocan
los (mín, máx) en E/R
Multiplicidad

 – Hay dos multiplicidades que se pueden


escribir de un modo especial:
Clases, Asociación y roles
Relaciones recursivas

En las relaciones recursivas, las multiplicidades se colocan


respecto a los nombres de rol, de modo inverso a como se
hace en E/R
Agregación y Composición
Notas y Restricciones
Atributo derivado y asociación derivada

• Los atributos derivados se representan con un símbolo “/” al


principio del nombre.
• La fórmula, o explicación, que indica cómo se obtiene el
elemento puede ponerse opcionalmente en forma de
restricción ( {...} )
Atributo derivado y asociación derivada

• También puede haber asociaciones derivadas. Son asociaciones


redundantes (se obtienen a partir de otras)
• En el ejemplo se ha puesto el símbolo “/” delante del nombre de
asociación
• Al lado se ha puesto la restricción que debe cumplir la
asociación /Trabaja
Multiplicidad de un atributo

• Las multiplicidades más comunes de un atributo son: 1 (un valor


exactamente) y 0..1 (vacío o un valor).
• La multiplicidad * significa que el atributo puede contener, cero valores
(vacío), o un número indefinido de valores.
 Otra forma de representar en los
diagramas de clases de UML atributos con
múltiples valores (multivaluados en E/R)
es la siguiente:
Representación de un tipo de entidad
débil
Subclase y Superclase

• Cada subclase representa a un subconjunto de los objetos de


empleado.
• La relación entre una clase y cualquiera de sus subclases se
llama relación is-a (es un)
Herencia
Discriminador
Especialización/generalización disjunta
o solapada

También podría gustarte