Está en la página 1de 32

Base de Datos @KYBELE www.kybele.urjc.

es
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
Base de Datos @KYBELE www.kybele.urjc.es
Diseo conceptual
Modelo E/R Extendido
Modelo de clases de UML
Diseo lgico
SQL-92 (BDR)
SQL:2003 (BDOR)
ODMG (BO)
Implementacin
Cdigo SQL (R o OR) para Oracle 10g
Cdigo para POET
Modelo E/R Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Tecnologa y Diseo de Bases de Datos. Piattini, M.G.,
Marcos, E., Calero, C., Vela, B. Ra-Ma, 2006.
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. S.W. Ambler. Software
Development, 1999.
Bibliografa Complementaria
Base de Datos @KYBELE www.kybele.urjc.es
Nivel
Modelo Lenguaje
Conceptual
Objetos
Estructurado
UML
E/R
Lgico
(Estndar)
Objeto-Relacional
Relacional
SQL:92
Grafo relacional
UML+extensin relacional
SQL:2003
UML+extensin OR
Lgico
(Especfico)
Objeto-Relacional
Producto
Relacional
Producto
SQL producto
SQL producto
UML+extensin producto
Diseo de BD (Objeto) - Relacionales
Base de Datos @KYBELE www.kybele.urjc.es
Modelo Entidad Interrelacin
Modelo Entidad-Interrelacin (E/R)
El modelo E/R fue propuesto por Peter P.Chen en dos artculos (1976 y 1977).
Objetivo:
Establecer una visin global de los datos de una
organizacin o de un sistema de informacin, en un nivel
de abstraccin prximo al usuario e independiente de las
caractersticas del equipo donde despus se vaya a
instrumentar el sistema.
Base de Datos @KYBELE www.kybele.urjc.es
Elementos del Modelo E/R
Entidad
Denominamos entidad a la abstraccin que
permite representar aquellos objetos del mundo
real que comparten una serie de caractersticas
comunes.
EMPLEADO
Interrelacin
Asociacin o correspondencia entre entidades. Puede haber ms de una
interrelacin entre dos entidades.
DEPARTAMENTO
EMPLEADO
Pertenece
Modelo Entidad Interrelacin Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Elementos del Modelo E/R
Grado: Nmero de entidades que participan en una interrelacin
LIBRO
AUTOR
Escribe
TEMA
Consta
Interrelacin binaria: Grado 2
Interrelacin reflexiva: Grado1
Elementos de una Interrelacin:
Modelo Entidad Interrelacin Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Elementos de una Interrelacin:
Cardinalidad Mxima o Tipo de Correspondencia: Nmero mximo de
ocurrencias de cada entidad que pueden intervenir en la
interrelacin que se est tratando.
1:1 1:N N:M
Papel o rol: Funcin que cada una de las entidades realiza
en la interrelacin
PROYECTO Dirige
1:1
EMPLEADO
Es_cordinado_por
Coordina
Modelo Entidad Interrelacin Extendido
Elementos del Modelo E/R
Base de Datos @KYBELE www.kybele.urjc.es
Dominio y Valor
Las distintas propiedades o caractersticas de una entidad o de una interrelacin
toman valores para cada ejemplar de stas.
El conjunto de posibles valores que puede tomar una cierta caracterstica se
denomina dominio.
Puede definirse por intensin (tipo de dato) o por extensin (declarando el valor).
Atributo
Cada una de las propiedades, caractersticas o unidades de informacin bsicas de
una entidad o de una interrelacin. Los atributos toman valores de un dominio.
Nombre_
departamento
Nombre_
departamento
Elementos del Modelo E/R
Modelo Entidad Interrelacin Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Atributo compuesto, es
aquel que se define sobre
ms de un dominio.
Atributo multivaluado,
es aquel que puede
tomar varios valores.
Ao
Mes EMPLEADO
Da
Fecha_nac
Telfono
EMPLEADO
DNI
Nombre_emp
Fecha_nac
Atributo Identificador Principal (AIP):
identifican unvocamente cada una de
las ocurrencias de la entidad
DNI
EMPLEADO
DNI
EMPLEADO
Modelo Entidad Interrelacin Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Se considera como un caso especial de asociacin entre varias entidades
(subtipos) y una entidad ms general (supertipo) cuyas caractersticas son
comunes a todos los subtipos.
La asociacin que se establece entre los subtipos y el supertipo corresponde
a la nocin de es_un (IS_A, en ingls)
Generalizacin/Especializacin
(1,1)
Es_un
(0,1)
(0,1)
ANALISTA PROGRAMADOR
EMPLEADO
SUPERTIPO
SUBTIPOS
Modelo Entidad Interrelacin Extendido
Elementos del Modelo E/R
Base de Datos @KYBELE www.kybele.urjc.es
N:M
cod-dpto.
dni
fecha
cod-proy
DEPARTAMENTO
Tiene
EMPLEADO Trabaja PROYECTO
1:N
Ejemplo de esquema en el Modelo E/R
Modelo Entidad Interrelacin Extendido
Base de Datos @KYBELE www.kybele.urjc.es
Modelo Relacional
A finales de los aos sesenta Codd introdujo la teora de las relaciones en el
campo de las bases de datos.
Elementos del Modelo Relacional
Relacin
Es la estructura bsica del modelo relacional. Se representa mediante una tabla.
Atributo
Representa las propiedades de la relacin. Se representa mediante una columna.
Dominio
Es el conjunto vlido de valores que toma un atributo.
Tupla
Es una ocurrencia de la relacin. Se representa mediante una fila.
Base de Datos @KYBELE www.kybele.urjc.es
Grado: Es el nmero de atributos de la relacin (columnas de la tabla).
Cardinalidad: Es el nmero de tuplas de una relacin (filas de la tabla).
Caractersticas de una relacin
No puede haber tuplas duplicadas.
El orden de las tuplas es irrelevante.
La tabla es plana, es decir, en el cruce de un
atributo y una tupla slo puede haber un valor.
El orden de los atributos no es significativo.
Modelo Relacional
Base de Datos @KYBELE www.kybele.urjc.es
EMPLEADO (cod-emp, nombre,domicilio, fecha-nac)
PROYECTO( cod-proy, nombre-p, )
ASIGNACION (cod-emp, cod-proy, )
Ejemplo de relacin entre tablas N:M
cod-emp, cod-proy es una clave primaria compuesta y sus atributos: cod-emp y
cod-proy son claves ajenas de EMPLEADO y de PROYECTO, respectivamente.
Modelo Relacional
Base de Datos @KYBELE www.kybele.urjc.es
Transformacin de un Esquema E/R
a un Esquema Relacional
Convertir el esquema conceptual en un esquema lgico global en el Modelo
Relacional.
Objetivo :
Aplicando adecuadamente las reglas de transformacin se obtiene un
esquema lgico global (relacional) normalizado.
Del esquema lgico global se obtendr el esquema interno. Este
esquema, por motivos de rendimiento y optimizacin puede ser
desnormalizado.
Diseo de BD Relacionales
Base de Datos @KYBELE www.kybele.urjc.es
ENTIDAD
AIP
Atributo
Atributo multivaluado
INTERRELACIN
N:M
1:N
1:1
con atributos
Modelo E/R Modelo Relacional
TABLA
Clave Primaria
Columna
Tabla
Tabla
Propagacin de clave a la
entidad con cardinalidad
mxima n
Propagacin de clave de la
entidad con
cardinalidad mnima 0
Tabla o propagar atributo
junto a la clave
Diseo de BD Relacionales
Base de Datos @KYBELE www.kybele.urjc.es
Documento
Libro Artculo
Opcin a: una sola tabla
Documento (cdigo, titulo, idioma,... tipo)
Opcin b: tres tablas
Documento (cdigo, titulo, idioma,...)
Artculo (cdigo, ...) Libro (cdigo, ...)
Opcin c: dos tablas
Artculo (cdigo, titulo, idioma,...)
Libro (cdigo, titulo, idioma,...)
GENERALIZACIN
Modelo E/R Modelo Relacional
Diseo de BD Relacionales
Base de Datos @KYBELE www.kybele.urjc.es
Elemento BD Elemento UML Estereotipo
Tabla Clase <<table>>
Vista Clase <<view>>
Clave Primaria Atributo <<PK>>
Clave Ajena Atributo <<FK>>
Restriccin de No Nulidad Atributo <<NN>>
Restriccin de Unicidad Atributo <<UNIQUE>>
Referencia Asociacin <<referentes>>
Estereotipos para BD Relacionales
Diseo de BD Relacionales
Base de Datos @KYBELE www.kybele.urjc.es
EMPLEADO PROYECTO
Trabaja
N:M
Cod_pro
fecha
DNI
CONCEPTUAL: ESTRUCTURADO-E/R
(1,n)
(0,n)
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
Ejemplo
EMPLEADO PROYECTO
Trabaja
N:M
Cod_pro
fecha
DNI
CONCEPTUAL: ESTRUCTURADO-E/R
(1,n)
(0,n)
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
Base de Datos @KYBELE www.kybele.urjc.es
EMPLEADO PROYECTO
Trabaja
N:M
Cod_pro
fecha
DNI
(1,n)
(0,n)
EMPLEADO (DNI, .......)
TRABAJA (DNI, Cod_pro, fecha)
PROYECTO (Cod_pro, .......)
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
CONCEPTUAL: ESTRUCTURADO-E/R
Ejemplo
Base de Datos @KYBELE www.kybele.urjc.es
EMPLEADO PROYECTO
Trabaja
N:M
Cod_pro
fecha
DNI
CONCEPTUAL: ESTRUCTURADO-E/R
(1,n)
(0,n)
CONCEPTUAL: OO-UML
Ejemplo
Base de Datos @KYBELE www.kybele.urjc.es
EMPLEADO PROYECTO
Trabaja
N:M
Cod_pro
fecha
DNI
CONCEPTUAL: ESTRUCTURADO-E/R
(1,n)
(0,n)
CONCEPTUAL: OO-UML
EMPLEADO
<<persistent>>
<<PK>>DNI
PROYECTO
<<persistent>>
<PK>>Cod_pro
Trabaja
<<NN>>fecha
*
1..*
Ejemplo
Base de Datos @KYBELE www.kybele.urjc.es
TRABAJA
<<table>>
DNI
Cod_pro
<<NN>>fecha
<<PK>> {DNI,Cod_Pro}
<<FK>> DNI: EMPLEADO
<<FK>>Cod_pro: PROYECTO
<<references>>
EMPLEADO
<<table>>
<<PK>>DNI
PROYECTO
<<table>>
<PK>>Cod_pro
LGICO ESTNDAR: RELACIONAL-UML
<<references>>
EMPLEADO (DNI, .......)
TRABAJA (DNI, Cod_pro, fecha)
PROYECTO (Cod_pro, .......)
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
Ejemplo
Base de Datos @KYBELE www.kybele.urjc.es
En el gimnasio Siempre en forma se quiere implantar una base de datos para llevar el control de los
socios, recursos utilizados, etc. Las especificaciones que nos han dado son las siguientes:
Existen varias salas, de las cuales se quiere guardar informacin como, los metros cuadrados
que ocupa, ubicacin y el tipo de sala (cardio, general, muscular). Cada sala se identifica por
un nmero de sala.
Hay salas que tienen aparatos y salas que no. En las salas se pueden o no impartir clases.
De cada aparato se quiere tener almacenado su cdigo, descripcin y estado de
conservacin. Cada aparato est asignado a una nica sala.
Tambin se quiere mantener informacin relacionada con las clases que se imparten
(descripcin y da/hora en la que se imparten); cada clase se identifica por un cdigo de clase.
Cada clase tiene asignada una sala y es impartida por un slo monitor.
De cada monitor se quiere conocer el DNI, nombre, telfono, si tienen o no titulacin,
experiencia profesional, as como las clases que pueden impartir (preparacin como monitor
de aerobic, step, streching, etc).
De cada socio se quiere conocer el nmero de socio, nombre, direccin, telfono, profesin y
datos bancarios, as como las clases a las que asiste.
El gimnasio dispone tambin de pistas de squash, de las que se quiere conocer el nmero de
pista, ubicacin y estado. Las pistas de squash pueden ser utilizadas por socios para lo que
proporciona un servicio de reservas de pistas (en una fecha y a una hora.)
Enunciado 4
Base de Datos @KYBELE www.kybele.urjc.es
SOCIO
MONITOR APARATO
CLASE SALA
SQUASH
Imparte
Asiste
Tiene_asign
Tiene
Reserva
(1,1)
(1,n)
(0,n)
(0,n)
(0,n) (1,1)
(1,n) (0,n)
(1,1)
(0,n)
Preparacin
Fecha Hora
N_sala
N_pista
Cdigo
Dni_m
Cd_clas
N_socio
Ubicac
Estado
Ubicacin
Tipo
Metros
CONCEPTUAL: ESTRUCTURADO-E/R
Enunciado 4 Gimnasio a)
Base de Datos @KYBELE www.kybele.urjc.es
CONCEPTUAL: OO-UML
MONITOR
<<persistent>>
<<PK>>Dni_m
Nombre
Telfono
Titulacin
Experiencia
<<AM>>Preparacin
CLASE
<<persistent>>
<PK>>Cod_clas
Descripcion
dia/hora
SALA
<<persistent>>
<<PK>>N_sala
Ubicacin
Tipo
Metros
APARATO
<<persistent>>
<<PK>>Cdigo
Descripcion
Conservacion
SOCIO
<<persistent>>
<<PK>>N_socio
Nombre
Direccin
Telfono
Profesin
datos_bancarios
SQUASH
<<persistent>>
<<PK>>N_pista
Ubicac
Estado
Hora
Fecha
1..*
0..*
0..*
1
0..* 1
0..* 1
1..*
0..*
Imparte
Asiste
Tiene_Asig
Tiene
Reserva
Enunciado 4 Gimnasio a)
Base de Datos @KYBELE www.kybele.urjc.es
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
Metros ubicac tipo n_sala
SALA
CLASE
APARATO
codigo descrip estado n_sala
SOCIO
RESERVA (***)
SQUASH n_pista ubica estado
n_socio nombre tlf_s direcc profes d_bancar
descrip dia_hora n_sala(**) dni_m cod_clas
ASISTE
n_socio cod_clas
n_pista fecha hora
PREPARACION
dni_m descrip
n_socio
MONITOR
dni_m nombre tlf_m titulac exper
1
Solucin
Base de Datos @KYBELE www.kybele.urjc.es
Metros ubicac tipo n_sala
SALA
CLASE
APARATO
codigo descrip estado n_sala
SOCIO
RESERVA (***)
SQUASH n_pista ubica estado
n_socio nombre tlf_s direcc profes d_bancar
descrip dia_hora n_sala(**) dni_m cod_clas
ASISTE
n_socio cod_clas
n_pista fecha hora
PREPARACION
dni_m descrip
n_socio
MONITOR
dni_m nombre tlf_m titulac exper
LGICO ESTNDAR: RELACIONAL-GRAFO RELACIONAL
2
Solucin
Base de Datos @KYBELE www.kybele.urjc.es
LGICO ESTNDAR: RELACIONAL-UML
MONITOR
<<table>>
<<PK>>Dni_m
Nombre
Telfono
Titulacin
Experiencia
CLASE
<<table>>
<PK>>Cod_clas
Descr
Dia_hora
N_sala
<<FK>> N_sala: SALA
<<FK>> {Descr, Dni_m}: PREPARACIN
SALA
<<table>>
<PK>>N_sala
Ubicacin
Tipo
Metros
APARATO
<<table>>
<<PK>>Cdigo
Descripcion
Estado
N_sala
<<FK>> N_sala: SALA
SOCIO
<<table>>
<<PK>>N_socio
Nombre
Direccin
Telfono
Profesin
datos_bancarios
SQUASH
<<table>>
<<PK>>N_pista
Ubicac
Estado
PREPARACIN
<<table>>
Dni_m
Preparacin
<<PK>> {Dni_m, Preparacion}
<<FK>> Dni_m: MONITOR
<<references>>
<<references>>
<<references>>
<<references>>
ASISTE
<<table>>
N_socio
Cod_clas
<<PK>> {N_socio, cod_clas}
<<FK>> N_socio: SOCIO
<<FK>> Cod_clas: CLASE
RESERVA
<<table>>
N_socio
N_pista
Fecha
Hora
<<PK>> {N_pista, Fecha, Hora}
<<FK>> N_socio: SOCIO
<<FK>> N_pista: SAQUASH
<<references>>
<<references>>
<<references>>
<<references>>
Base de Datos @KYBELE www.kybele.urjc.es
4. b) El gimnasio siempre en forma del ejercicio 4 impone las
siguientes restricciones :
Las pistas de Squash se consideran salas y se desea conocer
tambin su tamao y ubicacin.
Las clases slo se imparten en salas sin aparatos. Las salas con
aparatos siguen clasificndose en sala de cardio, general, etc.
4. c) El gimnasio siempre en forma del ejercicio 4 elimina la
restriccin de que una clase slo se imparten en salas sin aparatos.
Enunciado 4

También podría gustarte