Beruflich Dokumente
Kultur Dokumente
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
Prácticas de BDOR en Oracle
Tema 4. Diseño de BDOR
Ejercicios de diseño de BD (objeto-)relacionales con UML
II. BD Activas
Tema 5. Bases de Datos Activas
Tema 6. Disparadores en Oracle
Prácticas de Disparadores en Oracle
III. BD Semiestructuradas
Tema 7. XML y las BD
Prácticas de XML con XML DB de Oracle
www.kybele.urjc.es Base de Datos @KYBELE
Diseño conceptual Diseño lógico
Modelo E/R Extendido SQL-92 (BDR)
Modelo de clases de UML SQL:2003 (BDOR)
ODMG (BO)
Implementación
Código SQL (R o OR) para Oracle 10g
Código para POET
Lógico Relacional
(Específico) Producto SQL producto
El modelo E/R fue propuesto por Peter P.Chen en dos artículos (1976 y 1977).
Objetivo:
Establecer una visión global de los datos de una
organización o de un sistema de información, en un nivel
de abstracción próximo al usuario e independiente de las
características del equipo donde después se vaya a
instrumentar el sistema.
Entidad
Denominamos entidad a la abstracción que EMPLEADO
permite representar aquellos objetos del mundo
real que comparten una serie de características
comunes.
Interrelación
Asociación o correspondencia entre entidades. Puede haber más de una
interrelación entre dos entidades.
Escribe
Consta
AUTOR
Coordina EMPLEADO
PROYECTO Dirige
Es_cordinado_por
1:1
Dominio y Valor
Las distintas propiedades o características de una entidad o de una interrelación
toman valores para cada ejemplar de éstas.
El conjunto de posibles valores que puede tomar una cierta característica se
denomina dominio.
Puede definirse por intensión (tipo de dato) o por extensión (declarando el valor).
Atributo
Cada una de las propiedades, características o unidades de información básicas de
una entidad o de una interrelación. Los atributos toman valores de un dominio.
Nombre_ Nombre_
departamento departamento
EMPLEADO DNI
www.kybele.urjc.es Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido
Generalización/Especialización
Se considera como un caso especial de asociación entre varias entidades
(subtipos) y una entidad más general (supertipo) cuyas características son
comunes a todos los subtipos.
La asociación que se establece entre los subtipos y el supertipo corresponde
a la noción de es_un (IS_A, en inglés)
EMPLEADO SUPERTIPO
(1,1)
Es_un
(0,1) (0,1)
ANALISTA PROGRAMADOR SUBTIPOS
www.kybele.urjc.es Base de Datos @KYBELE
Modelo Entidad – Interrelación Extendido
cod-dpto. DEPARTAMENTO
1:N
Tiene
fecha cod-proy
N:M
Relación
Es la estructura básica del modelo relacional. Se representa mediante una tabla.
Atributo
Representa las propiedades de la relación. Se representa mediante una columna.
Dominio
Es el conjunto válido de valores que toma un atributo.
Tupla
Es una ocurrencia de la relación. Se representa mediante una fila.
Objetivo :
Convertir el esquema conceptual en un esquema lógico global en el Modelo
Relacional.
ENTIDAD TABLA
AIP Clave Primaria
Atributo Columna
Atributo multivaluado Tabla
INTERRELACIÓN
N:M Tabla
Propagación de clave a la
1:N entidad con cardinalidad
máxima n
1:1 Propagación de clave de la
entidad con
con atributos cardinalidad mínima 0
Tabla o propagar atributo
junto a la clave
GENERALIZACIÓN
Opción a: una sola tabla
Documento (código, titulo, idioma,... tipo)
CONCEPTUAL: ESTRUCTURADO-E/R
Cod_pro
DNI fecha
CONCEPTUAL: ESTRUCTURADO-E/R
Cod_pro
DNI fecha
CONCEPTUAL: ESTRUCTURADO-E/R
Cod_pro
DNI fecha
CONCEPTUAL: OO-UML
CONCEPTUAL: ESTRUCTURADO-E/R
Cod_pro
DNI fecha
CONCEPTUAL: OO-UML
EMPLEADO PROYECTO
<<persistent>> <<persistent>>
1..* *
<<PK>>DNI <PK>>Cod_pro
Trabaja
<<NN>>fecha
EMPLEADO PROYECTO
<<table>> <<table>>
<<PK>>DNI TRABAJA <PK>>Cod_pro
<<table>>
DNI
Cod_pro
<<NN>>fecha
<<references>>
<<references>>
<<PK>> {DNI,Cod_Pro}
<<FK>> DNI: EMPLEADO
<<FK>>Cod_pro: PROYECTO
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 información como, los metros cuadrados
que ocupa, ubicación y el tipo de sala (cardio, general, muscular). Cada sala se identifica por
un número 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 código, descripción y estado de
conservación. Cada aparato está asignado a una única sala.
• También se quiere mantener información relacionada con las clases que se imparten
(descripción y día/hora en la que se imparten); cada clase se identifica por un código de clase.
Cada clase tiene asignada una sala y es impartida por un sólo monitor.
• De cada monitor se quiere conocer el DNI, nombre, teléfono, si tienen o no titulación,
experiencia profesional, así como las clases que pueden impartir (preparación como monitor
de aerobic, step, streching, etc).
• De cada socio se quiere conocer el número de socio, nombre, dirección, teléfono, profesión y
datos bancarios, así como las clases a las que asiste.
• El gimnasio dispone también de pistas de squash, de las que se quiere conocer el número de
pista, ubicación 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.)
CONCEPTUAL: ESTRUCTURADO-E/R
(0,n) Metros
Tipo
(1,1)
(0,n) (1,1)
CLASE Tiene_asign SALA
(0,n) N_sala
Cód_clas
Ubicación
Estado
Asiste
N_socio N_pista Ubicac
Hora Fecha
(1,n)
(1,n) (0,n)
SOCIO Reserva SQUASH
CONCEPTUAL: OO-UML
MONITOR SALA
<<persistent>> CLASE
<<persistent>> <<persistent>>
<<PK>>Dni_m Imparte
<PK>>Cod_clas 0..* 1 <<PK>>N_sala
Nombre
Descripcion Ubicación
Teléfono
1 0..* dia/hora Tiene_Asig Tipo
Titulación
Metros
Experiencia
<<AM>>Preparación
0..*
Asiste 1
Tiene
1..*
0..*
SOCIO
<<persistent>> APARATO
SQUASH Reserva <<persistent>>
<<PK>>N_socio
<<persistent>> 0..* 1..* Nombre <<PK>>Código
Dirección Descripcion
<<PK>>N_pista
Teléfono Conservacion
Ubicac
Estado Hora Profesión
Fecha datos_bancarios
Solución APARATO
ASISTE SOCIO
n_socio cod_clas n_socio nombre tlf_s direcc profes d_bancar
Solución APARATO
ASISTE SOCIO
n_socio cod_clas n_socio nombre tlf_s direcc profes d_bancar