You are on page 1of 18

Temario

I. BD Orientadas a Objetos
Tema 1. Bases de Datos Orientadas a Objetos
Tema 2. El modelo de clases de UML
Ejercicios de modelado conceptual OO
Tema 3. El modelo objeto-relacional
Prcticas de BDOR en Oracle
Tema 4. Diseo de BDOR
Ejercicios de diseo de BD (objeto-)relacionales con UML

II. BD Activas
Tema 5. Bases de Datos Activas
Tema 6. Disparadores en Oracle
Prcticas de Disparadores en Oracle

III. BD Semiestructuradas
Tema 7. XML y las BD

Prcticas de XML con XML DB de Oracle

Diseo conceptual

Diseo lgico

Modelo E/R Extendido


Modelo de clases de UML

SQL-92 (BDR)
SQL:2003 (BDOR)
ODMG (BO)

Implementacin
Cdigo SQL (R o OR) para Oracle 10g
Cdigo para POET

Modelo de Clases UML

Bibliografa

Bases de Datos Objeto Relacionales. Marcos, E., Vela,


B. y Vara J.M., Dickinson, Septiembre 2005.
El Lenguaje de Modelado Unificado. G. Booch, J.
Rumbaugh, I. Jacobson. Addison Wesley, 1999.
Persistence Modeling in the UML.
Software Development, 1999.

S.W. Ambler.

ndice de Contenido

1. Diagrama de clases UML


1.1. Clases
1.2. Asociaciones

1.3. Generalizaciones
2. Mecanismos de extensin
2.1. Restricciones
2.2. Estereotipos para el diseo de BD
3. Ejemplo

2. Mecanismos de extensin

Mecanismos de extensin de UML


Permiten adecuar la semntica de los elementos de modelos
particulares
Extienden las posibilidades de anotacin
Estereotipos: palabras claves que alteran el
significado o funcionalidad de un elemento.
<<persistent>>
Valor etiquetado: comentarios que permiten aadir
informacin al elemento. {versin=3.1}
Restriccin: limitan la funcionalidad de un
elemento. {edad>18}

2.1. Restricciones

2. Mecanismos de extensin

Restricciones:
{restriccin}

OCL

Restricciones sobre asociaciones


Empleado
Recibe

{or}

{subconjunto}

Imparte
Pertenece

Curso

Curso

Empleado

Dirige

Departamento

{ordenado}

Alumnos

2.1. Restricciones

2. Mecanismos de extensin

Restricciones sobre generalizaciones


Persona
{overlapping, incomplete}

Docente

Alumno

Persona
{overlapping, complete}

Empleado

Alumno

parcial y solapada

total y solapada

Empleado

Persona

{disjoint, incomplete}

Analista

Vendedor

parcial y exclusiva

{disjoint, complete}

Hombre

Mujer

total y exclusiva

2.1. Restricciones

2. Mecanismos de extensin

Restricciones sobre generalizaciones


Clases abstractas

Icono {raz}
origen: Punto
mostrar()
obtenerID: Integer

IconoRectangular
altura: Integer
anchura: Integer

{root}:sin padres

operacin abstracta

IconoArbitrario
borde: ColeccinDeLneas

Botn
mostrar()

BotnOK {hoja}
mostrar()

{leaf}: sin hijos

2. Mecanismos de extensin

2.2. Estereotipos

Estereotipos:
Permiten crear nuevos tipos de bloques de construccin
a partir de los existentes, pero que sean especficos a
un problema:
interface
type
actor
exception
signal
process
thread
metaclass
etc.

2.2. Estereotipos

2. Mecanismos de extensin

Estereotipos para el diseo de BD Objeto Relacionales:


Elemento BD

Elemento UML

Estereotipo

Base de datos

Componente

<<Database>>

Esquema

Paquete

<<Schema>>

Tablespace

Componente

<<Tablespace>>

Tabla

Clase

<<Table>>

Vista
ndice

Clase
Clase

<<View>>
<<Index>>

Columna

Atributos

<<Column>>

Clave Primaria

Atributos

<<PK>>

Clave Ajena

Atributos

<<FK>>

Atributo multivaluado

Atributos

<<MA>>

Atributo derivado

Atributos

<<DA>>

Atributo Compuesto

Atributos

<<CA>>

Restriccin de no nulidad
Restriccin de unicidad

Atributos
Atributos

<<NOT NULL>>
<<UNIQUE>>

Disparador
Restriccin

Restriccin
Restriccin

<<Trigger>>
<<Check>>

Procedimiento Almacenado

Clase

<<Stored Procedure>>

Icono

3. Ejemplo
Un estudio de arquitectura desea crear una base de datos para
gestionar sus proyectos. Nos dan las siguientes especificaciones:
Cada proyecto tiene un cdigo y un nombre. Un proyecto tiene uno y solo un jefe de
proyecto y un jefe de proyecto slo puede estar involucrado en un proyecto o en ninguno.
De cada jefe de proyecto se desean recoger sus datos personales (cdigo, nombre,
direccin y telfono). Un jefe de proyecto se identifica por un cdigo. No hay dos nombres
de jefe de proyecto con el mismo nombre.
Un proyecto se compone de una serie de planos, pero stos se quieren guardar de modo
independiente al proyecto. Es decir, si en un momento dado se dejara de trabajar en un
proyecto, se desea mantener la informacin de los planos asociados.
De los planos se desea guardar su nmero de identificacin, la fecha de entrega, los
arquitectos que trabajan en l y un dibujo del plano general con informacin acerca del
nmero de figuras que contiene.
Los planos tienen figuras. De cada figura se desea conocer, el identificador, el nombre, el
color, el rea y el permetro. Adems, de los polgonos se desea conocer el nmero de
lneas que tienen, adems de las lneas que lo forman. El permetro se desea que sea un
mtodo diferido; el rea se desea implementarlo como genrico para cualquier tipo de
figura, pero adems se desea un mtodo especfico para el clculo del permetro de los
polgonos.
De cada lneas que forma parte de un polgono se desea conocer el punto de origen y el de
fin (segn sus coordenadas, X e Y), as como la longitud. Cada lnea tiene un identificador
que permite diferenciarlo del resto. La longitud de la lnea se puede calcular a partir de sus
puntos origen y final.

3. Ejemplo
JefeProyecto
<<persistent>>
<<PK>> Cod_JefeProyecto
<<AK>> Nombre
<<CA>> Direccion: {Tipo_Via, Nombre_Via, 1
Poblacion, CP, Provincia}
Telefono

Proyecto
<<persistent>>

dirige

<<PK>> Cod_Proyecto
0..1 Nombre

1..*
Figura
Figura
<<persistent>>
<<PK>> Figura_Id
Cod_Figura
Nombre
<<AK>> Nombre
Color

Plano
<<persistent>>
<<PK>> Cod_Plano
Fecha_Entrega
1..1 <<MA>> Arquitectos
Dibujo_Plano
<<DA>> Num_Figuras

tiene
1..*

Linea
<<persistent>>

Poligono
<<persistent>>
Num_Lineas

1..*

<<PK>> Id_Linea
<<DA>> Longitud
<<MA>><<CA>> Puntos: {Coord_X, CoordY}

2. Mecanismos de extensin

2.2. Estereotipos

Estereotipos para SQL:2003


Tipo Estructurado <<udt>>
Clase del Metamodelo: Clase
Icono: Ninguno

Tabla Tipada (tt)


Clase del Metamodelo: Clase
Icono: Ninguno

Tipo de objeto <<ot>> (udt+tt)


Clase del Metamodelo: Clase
Icono:

Compone <<composes>>
Clase del Metamodelo: Asociacin
Icono: None

<<udt>>

<<persistent>>

Tipo ROW <<row>>


Clase del Metamodelo: Atributo
Icono:

Tipo REF <<ref>>


Clase del Metamodelo: Atributo
Icono:

ARRAY <<array>>
Clase del Metamodelo: Atributo
Icono:

MULTISET <<Multiset>>
Clase del Metamodelo: Atributo
Icono: Ninguno

Mtodo Redefinido <<overriding>>


Clase del Metamodelo: Mtodo
Icono: Ninguno
Restricciones: Ninguna

Mtodo Diferido <<deferred>>


Clase del Metamodelo: Mtodo
Icono: Ninguno

2. Mecanismos de extensin

2.2. Estereotipos

Estereotipos para Oracle10g


Tipo Estructurado <<udt>>
Clase del Metamodelo: Clase
Icono: Ninguno

Tabla Tipada (tt)


Clase del Metamodelo: Clase
Icono: Ninguno

Tipo de Objeto <<ot>> (udt+tt)


Clase del Metamodelo: Clase
Icono:
<<udt>>

<<persistent>>

Compone <<composes>>
Clase del Metamodelo: Asociacin
Icono: None

Tipo REF <<ref>>


Clase del Metamodelo: Atributo
Icono:

VARRAY <<varray>>
Clase del Metamodelo: Atributo/Clase
Icono:

Nested Table <<nt>>


Clase del Metamodelo: Clase
Icono:

Enunciado 1
La cadena de Video-Clubs Glob-Gusters ha decidido, para mejorar su
servicio, emplear una base de datos para almacenar la informacin
referente a las pelculas que ofrece en alquiler. Esta informacin es la
siguiente:
Una pelcula se caracteriza por su ttulo, nacionalidad, productora y
fecha (p.e., Quo Vadis, Estados Unidos, M.G.M., 1955).
En una pelcula pueden participar varios actores (nombre,
nacionalidad, sexo) algunos de ellos como actores principales.
Una pelcula est dirigida por un director (nombre, nacionalidad).
De cada pelcula se dispone de uno o varios ejemplares diferenciados
por un nmero de ejemplar y caracterizados por su estado de
conservacin.
Un ejemplar se puede encontrar alquilado a algn cliente (DNI,
nombre, direccin, telfono). Se desea almacenar la fecha de
comienzo del alquiler y la de devolucin.
Cada socio puede tener alquilados, en un momento dado, 4
ejemplares como mximo.
Un socio tiene que ser avalado por otro socio que responda de l en
caso de tener problemas en el alquiler.

Enunciado 10
Se desea crear una BD de recetas de cocina con los siguientes requisitos:
Cada receta tiene un identificador, adems de un nombre y una
descripcin. SE debe guardar tambin los ingredientes de los que consta
adems de la cantidad necesaria para cada uno de ellos.
Las recetas se publican en libros de cocina. Cada libro se identifica por un
ISBN. No puede haber dos libros con el mismo ttulo. Adems, se desea
conocer la fecha de edicin del libro.
De cada cocinero se desea conocer su nombre, su cdigo de
identificacin as como su nacionalidad. No puede haber dos cocineros
con el mismo nombre.
Un cocinero puede escribir libros de recetas. De stos cocineros se desea
conocer, adems de los datos anteriormente descritos, el nmero de libros
escritos. Un libro puede ser escrito por un mximo de cinco autores y un
autor puede escribir varios libros. Un cocinero no tiene que ser
necesariamente autor de libros.
Tambin hay cocineros que inventan recetas. Un cocinero puede o no ser
creador de recetas y en caso de serlo puede haber creado varias. Cada
receta corresponde a un slo creador.
Un cocinero que sea autor tambin puede ser creador de recetas y
viceversa.

Enunciado 2
La empresa de formacin X, desea llevar un control informatizado de
los cursos que imparte as como de lo profesores que participan en
dichos cursos. Para ello, nos han dado las siguientes especificaciones:
Cada curso, del que se desea conocer el ttulo, el nmero de
horas y el tema o los temas que trata, se identifica por un cdigo
de cuso.
Cada curso puede tener una serie de cursos cuyo realizacin
previa es obligatoria (prerrequisito) o recomendada.
Cada curso se puede impartir una o varias veces, en diferentes
fechas y en cada edicin del mismo pueden participar diferentes
empleados.
Los empleados, de los que se desea conocer su cdigo de
empleado, nombre, DNI y fecha de antiguedad en la empresa,
pueden impartir y recibir cursos pero con la restriccin de que en
una mismo edicin de un curso no pueden participar como
profesores y como alumnos.

You might also like