sin título de diapositiva - inicio | kybelebd-2009-2010]tema2-modeloer.pdf · elementos del modelo...

32
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 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

Upload: dodien

Post on 18-Oct-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

TemarioI. 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 OraclePrácticas de Disparadores en Oracle

III. BD Semiestructuradas

Tema 7. XML y las BD

Prácticas de XML con XML DB de Oracle

Page 2: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Diseño conceptual

Modelo E/R Extendido

Modelo de clases de UML

Diseño lógico

SQL-92 (BDR)

SQL:2003 (BDOR)

ODMG (BO)

Implementación

Código SQL (R o OR) para Oracle 10g

Código para POET

Page 3: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo E/R Extendido

Page 4: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

• Tecnología y Diseño de Bases de Datos. Piattini, M.,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.

Bibliografía

Page 5: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Nivel Modelo Lenguaje

ConceptualObjetos

Estructurado

UML

E/R

Lógico

(Estándar)

Objeto-Relacional

RelacionalSQL:92

Grafo relacional

UML+extensión relacional

SQL:2003

UML+extensión OR

Lógico

(Específico)

Objeto-Relacional

Producto

Relacional

Producto SQL producto

SQL producto

UML+extensión producto

Diseño de BD (Objeto) - Relacionales

Page 6: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Entidad – Interrelación

Modelo Entidad-Interrelación (E/R)

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.

Page 7: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Entidad – Interrelación Extendido

Elementos del Modelo E/R

Entidad

Denominamos entidad a la abstracción que permite

representar aquellos objetos del mundo real que

comparten una serie de características comunes.

EMPLEADO

Interrelación

Asociación o correspondencia entre entidades. Puede haber más de una

interrelación entre dos entidades.

DEPARTAMENTO EMPLEADOPertenece

Page 8: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Elementos del Modelo E/R

Grado: Número de entidades que participan en una interrelación

LIBRO

AUTOR

Escribe

TEMA

Consta

Interrelación binaria: Grado 2 Interrelación reflexiva: Grado1

Elementos de una Interrelación:

Modelo Entidad – Interrelación Extendido

Page 9: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Elementos del Modelo E/R

Elementos de una Interrelación:

Cardinalidad Máxima o Tipo de Correspondencia: Número máximo

de ocurrencias de cada entidad que pueden intervenir en la

interrelación que se está tratando.

1:1 – 1:N – N:M

Papel o “rol”: Función que cada una de las entidades

realiza en la interrelación

PROYECTO Dirige

1:1

EMPLEADO

Es_cordinado_por

Coordina

Modelo Entidad – Interrelación Extendido

Page 10: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Elementos del Modelo E/R

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_

departamentoNombre_

departamento

Modelo Entidad – Interrelación Extendido

Page 11: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Entidad – Interrelación Extendido

Atributo compuesto, es

aquel que se define sobre

más de un dominio.

Atributo multivaluado,

es aquel que puede tomar

varios valores.

Año

MesEMPLEADO

Día

Fecha_nac

Teléfono

EMPLEADO

DNI

Nombre_emp

Fecha_nac

Atributo Identificador Principal (AIP):

identifican unívocamente cada una de las

ocurrencias de la entidad

DNIEMPLEADO

DNIEMPLEADO

Page 12: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Entidad – Interrelación Extendido

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)

Generalización/Especialización

(1,1)

Es_un

(0,1) (0,1)

ANALISTA PROGRAMADOR

EMPLEADO SUPERTIPO

SUBTIPOS

Elementos del Modelo E/R

Page 13: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Entidad – Interrelación Extendido

N:M

cod-dpto.

dni

fecha cod-proy

DEPARTAMENTO

Tiene

EMPLEADO Trabaja PROYECTO

1:N

Ejemplo de esquema en el Modelo E/R

Page 14: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Modelo Relacional

A finales de los años sesenta Codd introdujo la teoría de las relaciones en

el campo de las bases de datos.

Elementos del Modelo Relacional

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.

Page 15: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Grado: Es el número de atributos de la relación (columnas de la tabla).

Cardinalidad: Es el número de tuplas de una relación (filas de la tabla).

Características de una relación

• 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 sólo puede haber un valor.

• El orden de los atributos no es significativo.

Modelo Relacional

Page 16: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

EMPLEADO (cod-emp, nombre,domicilio, fecha-nac…)

PROYECTO( cod-proy, nombre-p, …)

ASIGNACION (cod-emp, cod-proy, …)

Ejemplo de relación 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

Page 17: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Transformación de un Esquema E/R

a un Esquema Relacional

Convertir el esquema conceptual en un esquema lógico global en el Modelo

Relacional.

Objetivo :

•Aplicando adecuadamente las reglas de transformación se obtiene un

esquema lógico global (relacional) normalizado.

•Del esquema lógico global se obtendrá el esquema interno. Este esquema,

por motivos de rendimiento y optimización puede ser desnormalizado.

Diseño de BD Relacionales

Page 18: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

ENTIDAD

AIP

Atributo

Atributo multivaluado

INTERRELACIÓN

N:M

1:N

1:1

con atributos

Modelo E/R Modelo Relacional

TABLA

Clave Primaria

Columna

Tabla

Tabla

Propagación de clave a la entidad con cardinalidad máxima n

Propagación de clave de la entidad con cardinalidad mínima 0

Tabla o propagar atributo junto a la clave

Diseño de BD Relacionales

Page 19: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Documento

LibroArtículo

Opción a: una sola tabla

Documento (código, titulo, idioma,... tipo)

Opción b: tres tablas

Documento (código, titulo, idioma,...)

Artículo (código, ...) Libro (código, ...)

Opción c: dos tablas

Artículo (código, titulo, idioma,...)

Libro (código, titulo, idioma,...)

GENERALIZACIÓN

Modelo E/R Modelo Relacional

Diseño de BD Relacionales

Page 20: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Elemento BD Elemento UML Estereotipo

Tabla Clase <<table>>

Vista Clase <<view>>

Clave Primaria Atributo <<PK>>

Clave Ajena Atributo <<FK>>

Restricción de No Nulidad Atributo <<NN>>

Restricción de Unicidad Atributo <<UNIQUE>>

Referencia Asociación <<referentes>>

Estereotipos para BD Relacionales

Diseño de BD Relacionales

Page 21: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

EMPLEADO PROYECTOTrabaja

N:M

Cod_profechaDNI

CONCEPTUAL: ESTRUCTURADO-E/R

(1,n) (0,n)

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

Ejemplo

Page 22: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

EMPLEADO PROYECTOTrabaja

N:M

Cod_profechaDNI

CONCEPTUAL: ESTRUCTURADO-E/R

(1,n) (0,n)

EMPLEADO (DNI, .......)

TRABAJA (DNI, Cod_pro, fecha)

PROYECTO (Cod_pro, .......)

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

Ejemplo

Page 23: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

EMPLEADO PROYECTOTrabaja

N:M

Cod_profechaDNI

CONCEPTUAL: ESTRUCTURADO-E/R

(1,n) (0,n)

CONCEPTUAL: OO-UML

Ejemplo

Page 24: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

EMPLEADO PROYECTOTrabaja

N:M

Cod_profechaDNI

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

Page 25: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

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

LÓGICO ESTÁNDAR: RELACIONAL-UML

<<references>>

EMPLEADO (DNI, .......)

TRABAJA (DNI, Cod_pro, fecha)

PROYECTO (Cod_pro, .......)

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

Ejemplo

Page 26: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

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.)

Enunciado 4

Page 27: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Enunciado 4: Gimnasio a)

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)

Preparación

FechaHora

N_sala

N_pista

Código

Dni_m

Cód_clas

N_socio Ubicac

EstadoUbicación

TipoMetros

CONCEPTUAL: ESTRUCTURADO-E/R

Page 28: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

CONCEPTUAL: OO-UML

MONITOR

<<persistent>>

<<PK>>Dni_m

Nombre

Teléfono

Titulación

Experiencia

<<AM>>Preparación

CLASE

<<persistent>>

<PK>>Cod_clas

Descripcion

dia/hora

SALA

<<persistent>>

<<PK>>N_sala

Ubicación

Tipo

Metros

APARATO

<<persistent>>

<<PK>>Código

Descripcion

Conservacion

SOCIO

<<persistent>>

<<PK>>N_socio

Nombre

Dirección

Teléfono

Profesión

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)

Page 29: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

Metrosubicac tipon_salaSALA

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_mcod_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 Solución

Page 30: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

Metrosubicac tipon_salaSALA

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_mcod_clas

ASISTE

n_socio cod_clas

n_pista fecha hora

PREPARACION dni_m descrip

n_socio

MONITOR dni_m nombre tlf_m titulac exper

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

2 Solución

Page 31: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

LÓGICO ESTÁNDAR: RELACIONAL-UML

MONITOR

<<table>>

<<PK>>Dni_m

Nombre

Teléfono

Titulación

Experiencia

CLASE

<<table>>

<PK>>Cod_clas

Descr

Dia_hora

N_sala

<<FK>> N_sala: SALA

<<FK>> {Descr, Dni_m}: PREPARACIÓN

SALA<<table>>

<PK>>N_sala

Ubicación

Tipo

Metros

APARATO

<<table>>

<<PK>>Código

Descripcion

Estado

N_sala

<<FK>> N_sala: SALA

SOCIO

<<table>>

<<PK>>N_socio

Nombre

Dirección

Teléfono

Profesión

datos_bancarios

SQUASH

<<table>>

<<PK>>N_pista

Ubicac

Estado

PREPARACIÓN

<<table>>

Dni_m

Preparación

<<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: CLASERESERVA

<<table>>

N_socio

N_pista

Fecha

Hora

<<PK>> {N_pista, Fecha, Hora}

<<FK>> N_socio: SOCIO

<<FK>> N_pista: SAQUASH

<<references>>

<<references>> <<references>>

<<references>>

Page 32: Sin título de diapositiva - Inicio | KybeleBD-2009-2010]Tema2-ModeloER.pdf · Elementos del Modelo Relacional Relación Es la estructura básica del modelo relacional. Se representa

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

también su tamaño y ubicación.

• Las clases sólo se imparten en salas sin aparatos. Las salas con

aparatos siguen clasificándose en sala de cardio, general, etc.

4. c) El gimnasio “siempre en forma” del ejercicio 4 elimina la

restricción de que una clase sólo se imparten en salas sin aparatos.

Enunciado 4