gimnasio

Temario I. BD Orientadas a Objetos Tema 1. Bases de Datos Orientadas a Objetos Tema 2. El modelo de clases de UML Ejerci

Views 256 Downloads 9 File size 998KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 www.kybele.urjc.es

Base de Datos @KYBELE

Diseño lógico

Diseño conceptual

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

Modelo E/R Extendido Modelo de clases de UML

ODMG (BO)

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

www.kybele.urjc.es

Base de Datos @KYBELE

Modelo E/R Extendido

Bibliografía Complementaria

 Tecnología y Diseño 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. www.kybele.urjc.es

Base de Datos @KYBELE

Diseño de BD (Objeto) - Relacionales

Nivel Conceptual Lógico (Estándar)

Lógico (Específico)

Modelo

Lenguaje

Estructurado

E/R

Objetos

UML

Relacional

SQL:92 Grafo relacional UML+extensión relacional

Objeto-Relacional

SQL:2003 UML+extensión OR

Relacional Producto

SQL producto

Objeto-Relacional Producto

SQL producto UML+extensión producto

www.kybele.urjc.es

Base de Datos @KYBELE

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.

www.kybele.urjc.es

Base de Datos @KYBELE

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

Pertenece

www.kybele.urjc.es

EMPLEADO

Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R Elementos de una Interrelación: Grado: Número de entidades que participan en una interrelación

Interrelación binaria: Grado 2 LIBRO

Interrelación reflexiva: Grado1 TEMA

Escribe

Consta

AUTOR

www.kybele.urjc.es

Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido 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

Coordina

EMPLEADO

Dirige

Es_cordinado_por 1:1

www.kybele.urjc.es

Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido 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_ departamento

www.kybele.urjc.es

Nombre_ departamento Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido Atributo compuesto, es aquel que se define sobre más de un dominio.

EMPLEADO

Día

EMPLEADO

Mes Fecha_nac

Fecha_nac

Nombre_emp DNI

Año

Atributo multivaluado, es aquel que puede tomar varios valores.

Teléfono

Atributo Identificador Principal (AIP): identifican unívocamente cada una de las ocurrencias de la entidad EMPLEADO EMPLEADO www.kybele.urjc.es

DNI DNI Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido Elementos del Modelo E/R 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 www.kybele.urjc.es

SUBTIPOS Base de Datos @KYBELE

Modelo Entidad – Interrelación Extendido

Ejemplo de esquema en el Modelo E/R DEPARTAMENTO

cod-dpto.

1:N

dni

Tiene fecha

EMPLEADO

Trabaja

cod-proy

PROYECTO

N:M

www.kybele.urjc.es

Base de Datos @KYBELE

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.

www.kybele.urjc.es

Base de Datos @KYBELE

Modelo Relacional

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.

www.kybele.urjc.es

Base de Datos @KYBELE

Modelo Relacional

Ejemplo de relación entre tablas N:M EMPLEADO (cod-emp, nombre,domicilio, fecha-nac…) PROYECTO( cod-proy, nombre-p, …)

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

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

www.kybele.urjc.es

Base de Datos @KYBELE

Diseño de BD Relacionales

Transformación de un Esquema E/R a un Esquema Relacional Objetivo :

Convertir el esquema conceptual en un esquema lógico global en el Modelo Relacional. •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. www.kybele.urjc.es

Base de Datos @KYBELE

Diseño de BD Relacionales Modelo E/R

Modelo Relacional TABLA

ENTIDAD

Clave Primaria Columna Tabla

AIP Atributo Atributo multivaluado

INTERRELACIÓN N:M

Tabla

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

1:N

1:1 con atributos

Propagación de clave de la entidad con cardinalidad mínima 0 Tabla o propagar atributo junto a la clave

www.kybele.urjc.es

Base de Datos @KYBELE

Diseño de BD Relacionales Modelo E/R

Modelo Relacional

GENERALIZACIÓN

Opción a: una sola tabla Documento (código, titulo, idioma,... tipo)

Opción b: tres tablas Documento (código, titulo, idioma,...)

Documento

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

Libro

Libro (código, ...)

Opción c: dos tablas Artículo (código, titulo, idioma,...) Libro (código, titulo, idioma,...)

www.kybele.urjc.es

Base de Datos @KYBELE

Diseño de BD Relacionales Estereotipos para BD Relacionales

Elemento BD

Elemento UML

Estereotipo

Tabla

Clase



Vista

Clase

Clave Primaria

Atributo

Clave Ajena

Atributo

Restricción de No Nulidad

Atributo

Restricción de Unicidad

Atributo

Referencia

Asociación

www.kybele.urjc.es

Base de Datos @KYBELE

Ejemplo CONCEPTUAL: ESTRUCTURADO-E/R Cod_pro

DNI

EMPLEADO

fecha

(1,n)

Trabaja

(0,n)

PROYECTO

N:M

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

www.kybele.urjc.es

Base de Datos @KYBELE

Ejemplo CONCEPTUAL: ESTRUCTURADO-E/R Cod_pro

DNI

EMPLEADO

fecha

(1,n)

Trabaja

(0,n)

PROYECTO

N:M

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

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

PROYECTO (Cod_pro, .......) TRABAJA (DNI, Cod_pro, fecha)

www.kybele.urjc.es

Base de Datos @KYBELE

Ejemplo CONCEPTUAL: ESTRUCTURADO-E/R

Cod_pro

DNI

EMPLEADO

fecha

(1,n)

Trabaja

(0,n)

PROYECTO

N:M

CONCEPTUAL: OO-UML

www.kybele.urjc.es

Base de Datos @KYBELE

Ejemplo CONCEPTUAL: ESTRUCTURADO-E/R Cod_pro

DNI

fecha

EMPLEADO

Trabaja

(1,n)

(0,n)

PROYECTO

N:M

CONCEPTUAL: OO-UML PROYECTO

EMPLEADO

DNI

*

1..*

>Cod_pro

Trabaja fecha

www.kybele.urjc.es

Base de Datos @KYBELE

Ejemplo LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

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

PROYECTO (Cod_pro, .......) TRABAJA (DNI, Cod_pro, fecha)

LÓGICO ESTÁNDAR: RELACIONAL-UML PROYECTO


EMPLEADO
DNI

TRABAJA
DNI Cod_pro fecha

>Cod_pro

{DNI,Cod_Pro} DNI: EMPLEADO Cod_pro: PROYECTO

www.kybele.urjc.es

Base de Datos @KYBELE

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

www.kybele.urjc.es

Base de Datos @KYBELE

Enunciado 4 – Gimnasio a) CONCEPTUAL: ESTRUCTURADO-E/R

MONITOR (1,1)

APARATO

Preparación

(0,n)

Dni_m Código

Imparte

Tiene

(0,n)

Tipo

Metros (1,1)

(0,n)

CLASE (0,n)

Cód_clas

(1,1)

SALA

Tiene_asign N_sala Ubicación

Asiste N_socio

Hora

Fecha

Estado

N_pista Ubicac

(1,n) (1,n)

SOCIO

(0,n)

Reserva

www.kybele.urjc.es

SQUASH

Base de Datos @KYBELE

Enunciado 4 – Gimnasio a) CONCEPTUAL: OO-UML MONITOR

Dni_m Nombre Teléfono Titulación Experiencia Preparación

Imparte

1

>Cod_clas Descripcion 0..* dia/hora

1..*

SOCIO

N_pista Ubicac Estado

0..* Tiene_Asig

1

N_sala Ubicación Tipo Metros

0..* Asiste

SQUASH

SALA

CLASE

Reserva 0..*

1..* Hora Fecha

N_socio Nombre Dirección Teléfono Profesión datos_bancarios

www.kybele.urjc.es

1 Tiene 0..*

APARATO

Código Descripcion Conservacion

Base de Datos @KYBELE

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL 1 Solución

n_sala ubicac tipo

SALA

Metros

APARATO codigo

descrip estado

dni_m nombre tlf_m titulac exper

MONITOR

PREPARACION

CLASE

n_sala

dni_m descrip

cod_clas descrip

dni_m

dia_hora n_sala(**)

SOCIO

ASISTE n_socio

cod_clas

n_socio nombre tlf_s direcc profes d_bancar

RESERVA (***) n_socio n_pista

SQUASH

fecha

hora

n_pista ubica estado

www.kybele.urjc.es

Base de Datos @KYBELE

LÓGICO ESTÁNDAR: RELACIONAL-GRAFO RELACIONAL

2 Solución

SALA

n_sala ubicac tipo

Metros

APARATO codigo

descrip estado

dni_m nombre tlf_m titulac exper

MONITOR

PREPARACION

CLASE

n_sala

dni_m descrip

cod_clas descrip

dni_m

dia_hora n_sala(**)

SOCIO

ASISTE n_socio

cod_clas

n_socio nombre tlf_s direcc

RESERVA (***) n_socio n_pista

SQUASH

fecha

profes

d_bancar

hora

n_pista ubica estado

www.kybele.urjc.es

Base de Datos @KYBELE

LÓGICO ESTÁNDAR: RELACIONAL-UML MONITOR


PREPARACIÓN


Dni_m Nombre Teléfono Titulación Experiencia

Dni_m Preparación {Dni_m, Preparacion} Dni_m: MONITOR

APARATO
Código Descripcion Estado N_sala N_sala: SALA



CLASE


ASISTE
N_socio Cod_clas {N_socio, cod_clas} N_socio: SOCIO Cod_clas: CLASE

SALA
>N_sala Ubicación Tipo Metros

>Cod_clas Descr Dia_hora N_sala N_sala: SALA {Descr, Dni_m}: PREPARACIÓN

RESERVA


SOCIO
N_socio Nombre Dirección Teléfono Profesión datos_bancarios



N_socio N_pista Fecha Hora

{N_pista, Fecha, Hora} N_socio: SOCIO N_pista: SAQUASH www.kybele.urjc.es

SQUASH
N_pista Ubicac Estado

Base de Datos @KYBELE

Enunciado 4

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.

www.kybele.urjc.es

Base de Datos @KYBELE