tema 3.1: introducción. etapas del diseño...

25
Tema III: Tema III: Transformación del Transformación del esquema conceptual al relacional esquema conceptual al relacional 3.1 Introducción. Etapas del diseño lógico Diseño lógico estándar Diseño lógico específico 3.2 Transformación elementos básicos 3.3 Reglas concernientes a las extensiones del modelo E/R Transformación de dependencias en identificación y en existencia Transformación de interrelaciones exclusivas Transformación de tipos y subtipos Transformación de la dimensión temporal Transformación de atributos derivados Transformación de interrelaciones de grado superior a dos -2 © LABDA Tema III: Transformación del esquema conceptual al relacional Tema 3.1: Tema 3.1: Introducción. Introducción. Etapas del diseño Lógico Etapas del diseño Lógico Estructura de Datos E/R Recordando

Upload: buidat

Post on 03-Oct-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

1

Tema III:Tema III: Transformación del Transformación del esquema conceptual al relacional esquema conceptual al relacional

3.1 Introducción. Etapas del diseño lógicoDiseño lógico estándarDiseño lógico específico

3.2 Transformación elementos básicos

3.3 Reglas concernientes a las extensiones del modelo E/RTransformación de dependencias en identificación y en existenciaTransformación de interrelaciones exclusivasTransformación de tipos y subtiposTransformación de la dimensión temporalTransformación de atributos derivadosTransformación de interrelaciones de grado superior a dos

- 2© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.1: Tema 3.1: Introducción. Introducción. Etapas del diseño LógicoEtapas del diseño Lógico

Estructura de Datos

E/R

Recordando

2

- 3© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.1: Tema 3.1: Introducción. Introducción. Etapas del diseño LógicoEtapas del diseño Lógico

A) Diseño lógico estándar

Ø Elaboración del Esquema Lógico Estándar que se apoya en el modelo lógico estándar -Relacional, Codasyl, Jerárquico-

Ø El Esquema Lógico Estándar se describirá utilizando el lenguaje estándar, si existe, del modelo de datos correspondiente (v.g. el SQL92)

B) Diseño lógico específico

Ø Con el Esquema Lógico Estándar, y teniendo en cuenta el modelo lógico específico propio del SGBD, se elabora el esquema lógico específico, que será descrito en el lenguaje del producto comercial que estemos utilizando (p. e. Oracle)

- 4© LABDA Tema III: Transformación del esquema conceptual al relacional

REQUISITOS DE LOS

PROCESOS YEL ENTORNO

ESQUEMA CONCEPTUAL

ESQUEMA ESQUEMA LÓGICO

ESTANDAR

ESQUEMA ESQUEMA LÓGICO

ESPECÍFICO

Diseñológico

ESPECIFICACIONESPARA LOS PROCESOSESPECIFICACIONES

PARA LOS PROCESOS

MODELOLÓGICO

ESTANDAR

ESPECÍFICO

MODELOLÓGICO

ESPECÍFICO

ENTRADAS

Tema 3.1: Tema 3.1: Introducción. Introducción. Etapas del diseño LógicoEtapas del diseño Lógico

* Imagen inspirada en [5], página 345

3

- 5© LABDA Tema III: Transformación del esquema conceptual al relacional

diagramaE/R

grafoRelacional

Script SQL

Modelo Conceptual

Modelo Lógico (estándar)

Modelo Lógico (específico)

Tema 3.1: Tema 3.1: Introducción. Introducción. Etapas del diseño LógicoEtapas del diseño Lógico

- 6© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

tipo_nombre

PERSONA

confía

• Los dominios en E/R se mantienen como dominios en Relacional

• Las entidades en E/R se traducen enrelaciones del modelo Relacional

• Las interrelaciones en E/R se traducen en- relaciones del modelo Relacional- propagación de claves (clave ajena) *

Nota *: aunque una clave ajena parece recoger menos semántica que una relación E/R, esta semántica se complementa con la que aporta la restricción referencial.

4

- 7© LABDA Tema III: Transformación del esquema conceptual al relacional

PERSONA

Los ATRIBUTOS de una entidad serán atributos de la relación correspondiente, con ciertas salvedades:

• Los atributos ‘no obligatorios’ serán marcados como atributos opcionales (*)

• Un atributo multivaluado origina una nueva relación quecontiene dicho atributo y la clave primaria de la entidad(que será clave ajena sobre la relación a la que esta dé lugar).La clave de esta relación será todo el esquema de relación.

• Los atributos identificadores principalesserán marcados como clave primaria

• Los atributos identificadores alternativosserán marcados como claves alternativas

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

- 8© LABDA Tema III: Transformación del esquema conceptual al relacional

Se traducen en una relación.

• Esta relación contendrá las claves de las relaciones asociadas, que en conjunto serán clave de la nueva relación.

• También incluirá los atributos de la interrelación original.

• Las opciones de borrado y modificación dependerán del cada casoparticular (si bien, en general, se escogerá en ambas la opción cascada)

PERSONA PELÍCULAha visto ha visto

N:M

DNI Títuloveces

directornombre

apellidos

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones N:M

5

- 9© LABDA Tema III: Transformación del esquema conceptual al relacional

ha_visto (DNI, Título, veces)Persona (DNI, Nombre, Apellidos,...)

DC / UC Película (Título, Director,...)

DC / UC

Ejemplo:

PERSONA PELÍCULAha visto ha visto

N:M

DNI Títuloveces

directornombre

apellidos

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones N:M

- 10© LABDA Tema III: Transformación del esquema conceptual al relacional

Dos posibilidades:

• Propagar la clave de la entidad que interviene con cardinalidad 1(en la relación correspondiente a la otra entidad aparecerá esta clave comoclave ajena; junto a ella, irán los atributos de la interrelación si los hubiera)

• Transformarla en una nueva relaciónDicha relación tendría como atributos las claves de ambas entidades (y losatributos propios de la interrelación). Su clave sería la clave de la entidadque interviene en la interrelación con N ocurrencias).

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

6

- 11© LABDA Tema III: Transformación del esquema conceptual al relacional

Persona (DNI, Nombre, Apellidos,...)

Factura (Nº_factura, DNI, importe,...)

Ejemplo: propagar clave

PERSONA FACTURApaga

1:N

DNI Nº_facturafecha

importenombre

apellidos

D? / UC

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

- 12© LABDA Tema III: Transformación del esquema conceptual al relacional

paga (Nº_factura, DNI, fecha)Persona (DNI, Nombre, Apellidos,...)

DC / UCFactura (Nº_factura, importe,...)

D? / UC

Ejemplo: crear nueva relación

PERSONA FACTURApaga

1:N

DNI Nº_facturafecha

importenombre

apellidos

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

7

- 13© LABDA Tema III: Transformación del esquema conceptual al relacional

¿Qué hacer con las cardinalidades mínimas ‘cero’?

• (0,1): la entidad que interviene con una ocurrencia es opcional(pueden existir ocurrencias de la otra entidad no relacionadas).

Resultado: - si se propaga, la clave ajena propagada será opcional (*)(habrá ocurrencias de la otra entidad cuya clave ajena sea NULL)

- si se crea una nueva relación, habrá identificadores de la entidadopcional que no aparezcan en ninguna ocurrencia de esta relación. (no hay que hacer nada)

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos(0,1) (0,n)

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

- 14© LABDA Tema III: Transformación del esquema conceptual al relacional

• (0,n): la entidad que interviene con varias ocurrencias es opcional.(pueden existir ocurrencias de la otra entidad no relacionadas).

Resultado: no hay que tomar ninguna medida especial- si se propaga, habrá ocurrencias de la clave de identificación propagada que no aparezcan en ninguna tupla de la otra relación.

- si se crea una nueva relación, habrá identificadores de la entidadopcional que no aparezcan en ninguna ocurrencia de esta relación.

¿Qué hacer con las cardinalidades mínimas ‘cero’?

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos(0,1) (0,n)

8

- 15© LABDA Tema III: Transformación del esquema conceptual al relacional

• (1,1): la entidad interviene con una y solo una ocurrencia.Resultado:

- si se propaga, la clave ajena tomará siempre un valor (obligatoriedad).- si se crea una nueva relación, en ella debería haber una tupla porcada ocurrencia de la relación que interviene con N (pero esto no quedará garantizado a priori; habría una pérdida de semántica).

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos(1,1) (1,n)

Nota: estas pérdidas de semántica se suplirán con la inclusión de restricciones semánticas;en concreto, se añadirán aserciones que vigilen que estas condiciones se cumplen.

¿Qué hacer con las cardinalidades mínimas ‘uno?

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

- 16© LABDA Tema III: Transformación del esquema conceptual al relacional

• (1,n): la entidad interviene con una o varias ocurrencias.Resultado: no se toma ninguna medida especial (pérdida de semántica).

- si se propaga, toda valor de la clave propagada debería apareceren alguna ocurrencia de la otra relación (pero no se garantiza)

- si se crea una nueva relación, en ella debería haber al menos una tupla por cada ocurrencia de la relación que interviene con una ocurrencia (pero tampoco esto está garantizado a priori)

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos(1,1) (1,n)

¿Qué hacer con las cardinalidades mínimas ‘uno?

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

9

- 17© LABDA Tema III: Transformación del esquema conceptual al relacional

¿Cuál de las opciones es más conveniente?

• En general, es preferible propagar la clave

• Se creará una nueva relación si:a) la interrelación tiene caracterización propia (atributos propios) b) se prevé que la interrelación podría ser N:M en el futuro

c) la cardinalidad mínima de la interrelación para la entidad que propaga es 0 (opcional), y en la otra entidad el número de ocurrencias no relacionadas es elevado (la clave ajena sería NULL)

PERSONA FACTURApaga

1:N

DNI Nº_Facturafecha

importenombre

apellidos

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:N

- 18© LABDA Tema III: Transformación del esquema conceptual al relacional

Las soluciones aplicables son: a) crear una nueva relaciónb) propagar una de las claves c) propagar las claves de las dos entidades (mutuamente)d) fusionar ambas entidades (interrelacionadas) en una sola relación

PERSONA HISTORIALMÉDICO

tiene

1:1

DNI nº_historialfecha_apertura

localizaciónnombre

apellidos

Se puede considerar un caso particular de las anteriores, y por tanto las soluciones anteriores son válidas también en este caso.

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:1

10

- 19© LABDA Tema III: Transformación del esquema conceptual al relacional

Crear una nueva relación: (justificación similar al caso 1:n)

a) si las cardinalidades mínimas son cero (ambas), esto evitará valores nulos en las claves ajenas y mantendrá la simetría natural (entidades mantienen su independencia en relaciones separadas)

b) si la interrelación tiene caracterización propia (atributos) o

c) si se prevé que posteriormente puedan variarse las cardinalidades

EMPLEADO ORDENADORutilizautiliza

1:1

DNI nº_seriehorariomemoria

nombre

apellidos(0,1)(0,1)

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:1

- 20© LABDA Tema III: Transformación del esquema conceptual al relacional

Ejemplo: (crear una nueva relación)

utiliza (nº_serie, DNI, horario)Empleado (DNI, Nombre, Apellidos,...)

DC / UCOrdenador (nº_serie, memoria,...)

DC / UC

Nota: observar la pérdida de eficiencia, ya que muchos consultas implican combinar dos relaciones, e incluso hay consultas que implican combinar las tres relaciones.

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:1

EMPLEADO ORDENADORutilizautiliza

1:1

DNI nº_seriehorariomemoria

nombre

apellidos(0,1)(0,1)

11

- 21© LABDA Tema III: Transformación del esquema conceptual al relacional

Propagar una clave: (justificación similar a la anterior)

• si una de las cardinalidades mínimas es cero y la otra no (será 1,1), conviene propagar la clave de esta última (la obligatoria).

EMPLEADO SUCURSALdirigedirige

1:1

DNI nº_sucursalfecha_iniciodirección

nombre

apellidos(0,1)(1,1)

Empleado (DNI, Nombre, Apellidos,...)

Sucursal (nº_sucursal, DNI_director, dirección,...)DNA / UC

Ejemplo:

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:1

- 22© LABDA Tema III: Transformación del esquema conceptual al relacional

Propagar una clave:

• Inconvenientes:

• se pierde la simetría

• consultas a la información de la entidad que interviene con (1,1) suponencombinación natural (por ejemplo, empleados que no dirigen sucursal)

• Ventajas:

• no pierde semántica (sobre la cardinalidad mínima 1)• se evitan valores nulos

• algunas consultas no precisan combinación de relaciones

• NOTA:observar que la opción de borrado debe ser restringido o en cascada

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Interrelaciones 1:1

12

- 23© LABDA Tema III: Transformación del esquema conceptual al relacional

Interrelaciones con atributos:

• si se crea una nueva relación, esos atributos se incluyen en esta relación.

• si se propaga una clave, los atributos acompañan a la clave.

• si se propagan ambas claves, los atributos se incluyen en una de las entidades interralacionadas.

• si se fusionan en una relación, esta también contendrá esos atributos.

Interrelaciones con un atributo multivaluado:

• la interrelación habrá de transformarse en una relación, y su clave deberá contener ese atributo (además de la clave de una de las entidades o las dos)

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

- 24© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

POSEE(Cod_persona, cod_casa, participación_% )

PERSONA (Cod_persona, .........)

CASA (Cod_casa, .........)

PERSONA CASA

Cod_persona

(0,N)

Posee

N:M (0,N)

Cod_casa

%

Ejemplo Interrelación con atributo

13

- 25© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.2: Tema 3.2: Transformación Transformación Elementos BásicosElementos Básicos

Ejemplo Interrelación con atributos multivaluados

presta presta (1,N) (0,N)

N:M

Fecha_i. Fecha_f

EJEMPLAR_DVD PERSONA

Cod_Ejemplar Cod_Persona

EJEMPLAR _DVD( Cod ejem, título, ...

PERSONA( Cod )

PRESTA ( Cod_ejem, cod_pers., Fecha_i, Fecha_f )

)

_persona, nombre, apellidos, ...)

PRESTA ( Cod_ejem, cod )

- 26© LABDA Tema III: Transformación del esquema conceptual al relacional

5.3.1 Dependencias en Existencia/Identificación5.3.2 Interrelaciones Exclusivas5.3.2 Generalizaciones5.3.4 Dimensión Temporal5.3.5Atributos Derivados5.3.6 Interrelaciones de grado superior a 2

Tema 3.3: Tema 3.3: Transformación Transformación de las extensiones del E/Rde las extensiones del E/R

14

- 27© LABDA Tema III: Transformación del esquema conceptual al relacional

Se transforman de la misma forma que las interrelaciones 1:N

Tema 3.3.1: Tema 3.3.1: Dependencias en Dependencias en Existencia/IdentificaciónExistencia/Identificación

DVD EJEMPLARtiene

1:N

Cod_dvdN_orden

ID

(1,1) (0,n)

Cod_Ejemplar

DVD (Cod_dvd, …)

EJEMPLAR (Cod_dvd, N_orden, …)

M E/RM R

¿Restricciones de Integridad?

DC/UC

- 28© LABDA Tema III: Transformación del esquema conceptual al relacional

Tema 3.3.2: Tema 3.3.2: Interrelaciones Interrelaciones ExclusivasExclusivas

ACTAS_CONGRESO(Cod_A., …)

REVISTA(Cod_Rv, …)

ARTICULO(Cod_articulo, …, Cod_Rv, Cod_Actas)

M E/RM R

ARTÍCULO

apareceaparece

publicapublica

ACTASCONGRESO

REVISTA(1,n)(0,1)

(1,n)(0,1)

DC/UC

DC/UC¿QUÉ FALTA?

CHECKCHECK ((Cod_Rv IS NULL AND Cod_Ac IS NOT NULL)

OR(Cod_Rv IS NOT NULL AND Cod_Ac IS NULL))

15

- 29© LABDA Tema III: Transformación del esquema conceptual al relacional

w El Modelo Relacional no dispone de instrumentos que permitan representar tipos y subtipos.

w Se definen distintos métodos de transformación, dependiendo de los objetivos perseguidos:n Información semántica representada en el modelon Eficiencia de acceso a los datos

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

TIPO

SUBTIPO 1 SUBTIPO 2

- 30© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 1Utilizar una única relación para representar un tipo y todos sus subtipos, añadiendo un atributo que indique el tipo de entidad al que se hace referencia.Puede hacerse cuando: n los atributos de los subtipos son similaresn las interrelaciones que involucran a los subtipos son las mismas (o

no existen)

Será necesario implementar las restricciones semánticas necesarias a través de CHECKS o DISPARADORES.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

16

- 31© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 1Según los parámetros de la jerarquía, ¿qué restricciones hay que definir?Solapamiento

Sí ? El atributo discriminante puede tomar varios valores combinados.

No ? Verificar que sólo los atributos adecuados al subtipo toman valores.

TotalidadSí (Total) ? El atributo discriminante no puede tomar valores nulos.No (Parcial) ? El atributo discriminante debe admitir valores nulos.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

- 32© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 1. Ejemplo, jerarquía parcial con solapamiento

PERSONA (DNI, nombre, dirección, tipo*, sueldo*, teléfono*, Curso*, Nota_media*)

¿Totalidad?

El tipo admite valores nulos

M E/R

M R

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

PERSONA

es_unes_un

ESTUDIANTE

(1,1)

(0,1) (0,1)

EMPLEADO

TIPO

DNI nombre dirección

sueldotfno Curso Nota_media

17

- 33© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 1. Ejemplo, Restricción exclusividadCheck (( Tipo= ‘Emp’

AND curso IS NULLAND nota_media IS NULLAND sueldo IS NOT NULLAND tfno IS NOT NULL

OR( Tipo = ‘Est’

AND sueldo IS NULLAND tfno IS NULLAND curso IS NOT NULLAND nota_media IS NOT NULL ))

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

- 34© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 2Utilizar una relación para representar al supertipo y tantas relaciones como subtipos haya. Como antes habrá que añadir un atributo que indique el tipo de entidad al que se hace referencia.Puede hacerse cuando: n los subtipos tienen atributos dispares y/o interrelaciones

diferentesn Incorporar mayor semántica en el grafo relacional

Será necesario implementar las restricciones semánticas necesarias a través de CHECKS o DISPARADORES.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

18

- 35© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 2Según los parámetros de la jerarquía, ¿qué restricciones hay que definir?Solapamiento

Sí ? El atributo discriminante puede tomar varios valores combinados.No ? Verificar que sólo aparecen entradas en la relación del subtipo

correspondiente.

TotalidadSí (Total) ? El atributo discriminante no puede tomar valores nulos y es

necesario verificar que hay entradas para todas las tuplas del tipo.No (Parcial) ? El atributo discriminante debe admitir valores nulos.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

- 36© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 2. Ejemplo, jerarquía parcial con solapamiento

PERSONA (DNI, nombre, dir, tipo*)

M E/R M R

EMPLEADO (DNI,sueldo, tfno)

ESTUD.(DNI,curso, nota_media)

DC/UC

DC/UC

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

PERSONA

es_un

ESTUDIANTE

(1,1)

(0,1) (0,1)

EMPLEADO

TIPO

DNI nombre dirección

sueldotfno Curso Nota_media

19

- 37© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 3Se emplea una relación para cada subtipo; cada una de ellas incluye los atributos comunes asociados al tipo.Puede hacerse cuando: n los subtipos tienen atributos dispares y/o interrelaciones

diferentesn La mayoría de los accesos a los datos de los subtipos involucran en

mayor medida a los atributos comunes ? Eficiencia

Será necesario implementar las restricciones semánticas necesarias a través de CHECKS o DISPARADORES.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

- 38© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 3Según los parámetros de la jerarquía, ¿qué restricciones hay que definir?Solapamiento

Sí ? Nada que controlar.No ? Verificar que sólo aparecen entradas en la relación del subtipo

correspondiente.

TotalidadSí (Total) ? Nada que controlar.No (Parcial) ? NO PUEDE UTILIZARSE ESTA TRANSFORMACIÓN

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

20

- 39© LABDA Tema III: Transformación del esquema conceptual al relacional

w Método 3. Ejemplo, jerarquía parcial con solapamiento

M R

EMP(DNI, nombre, dir, sueldo, tfno)

EST(DNI, nombre, dir, curso, nota_media)

M E/R

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

PERSONA

es_un

ESTUDIANTE

(1,1)

(0,1) (0,1)

EMPLEADO

TIPO

DNI nombre dirección

sueldotfno Curso Nota_media

- 40© LABDA Tema III: Transformación del esquema conceptual al relacional

EJEMPLOSw Una empresa de estudios forestales desea almacenar en una base de

datos información sobre sus empleados, que pueden ser administrativos u operarios de campo. Estos datos serán DNI, nombre, apellidos, fecha de contrato y fecha de baja. Además, para el caso de los operarios es necesario almacenar el coste por hora, así como el número de horas trabajadas.

w Los operarios de campo tienen la misión de tomar medidas sobre determinadas parcelas y los administrativos serán los encargados de grabar los datos de los formularios rellenados por los operarios de campo.

Tema 3.3.3: Tema 3.3.3: GeneralizacionesGeneralizaciones

21

- 41© LABDA Tema III: Transformación del esquema conceptual al relacional

Se emplean las reglas de transformación de atributos multivaluados.

M E/R

M R

N:M

PERSONA DVDprestapresta

DNI Cod_DVDf_inicio f_fin

(0,n)(0,n)

PERSONA (DNI, ……….) DVD (Cod_DVD, ……….)

PRESTA (DNI, Cod_DVD, f_inicio, f_fin, ……….)

DC/UC DC/UC

Tema 3.3.4: Tema 3.3.4: Dimensión TemporalDimensión Temporal

- 42© LABDA Tema III: Transformación del esquema conceptual al relacional

Atributos cuyo valor se obtiene a través de una expresión.

Será necesario incluir un disparador para el cálculo del atributo

M E/R

M R

DVD (Cod_DVD, Título, N_ejemplares)

N_ejemplaresD1

Tema 3.3.5: Tema 3.3.5: Atributos DerivadosAtributos Derivados

DVD EJEMPLAR_DVDtiene

1:N

Cod_DVDN_orden

ID

(1,1) (0,n)

Cod_Ejemplar

22

- 43© LABDA Tema III: Transformación del esquema conceptual al relacional

En el modelo E/R se permiten interrelaciones entre más de dos

entidades.INVESTIGADOR

habla

TEMA

CONFERENCIAN:M:P

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

- 44© LABDA Tema III: Transformación del esquema conceptual al relacional

Siempre que sea posible, este tipo de interrelaciones se representarán a través de varias interrelaciones binarias.

¿Semántica equivalente?

NO

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

INVESTIGADOR

investigainvestiga

TEMA abarcaabarca CONFERENCIA

participaparticipapublicapublica

(1,N)

(1,N)(1,N)

(1,N)

(1,N)

(1,N) (1,N)

(1,N)

(1,N)

23

- 45© LABDA Tema III: Transformación del esquema conceptual al relacional

Otro ejemplo:

¿Semántica equivalente?

SI

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

INVESTIGADOR

escribeescribe

ARTÍCULO acepta CONFERENCIA

participaparticipapublicapublica

(1,N)

(1,N)(1,1)

(1,N)

(1,N)

(1,N) (1,1)

(1,N)

(1,N)

- 46© LABDA Tema III: Transformación del esquema conceptual al relacional

¿Cómo se transforma al Modelo Relacional este tipo de interrelaciones?wRegla General:

A

I

C

B

C_A

C_B

Atrib.C_B

A ( C_A, ...........)

B ( C_B, .............)

C ( C_C, .............)

I (C_A, C_B, C_C, Atrib)

DC/UC

DC/UC

DC/UC

M E/R M R

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

24

- 47© LABDA Tema III: Transformación del esquema conceptual al relacional

wEs necesario un análisis más profundo teniendo en cuenta las cardinalidades de la interrelación.

wCaso 1. Cardinalidad máxima n y mínima 1 en todas las ramas de la interrelación:

Es aplicable la regla general.

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

- 48© LABDA Tema III: Transformación del esquema conceptual al relacional

w Caso 2. Cardinalidad máxima n y mínima 0 en una rama:

A ( C_A, ...........)

B ( C_B, .............)

C ( C_C, .............)

I (C_A, C_B, C_C, Atrib)

I1 (C_A, C_B)

DC/UC

DC/UC

DC/UC

M E/R M R

A

I

C

B

C_A

C_C

Atrib.

C_B

(0,n)

(1,n)

(1,n)

I1

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

(0,n)

(0,n)

25

- 49© LABDA Tema III: Transformación del esquema conceptual al relacional

w Caso 3. Cardinalidad máxima n en dos ramas y máxima 1 en la otra:

A ( C_A, ...........)

B ( C_B, .............)

C ( C_C, .............)

I (C_A, C_B, C_C, Atrib)

DC/UC

DC/UC

DC/UC

M E/R M R

A

I

C

B

C_A

C_C

Atrib.

C_B

(0,1)

(1,n)

(1,n)

Tema 3.3.6: Tema 3.3.6: Interrelaciones Interrelaciones TernariasTernarias

- 50

Bibliografía

© LABDA Tema III: Transformación del esquema conceptual al relacional

w BÁSICA:[1] D. Cuadra, E. Castro, A. Iglesias, P. Martínez, F.J. Calle, C. de Pablo, H. Al-Jumaily y L.

Moreno. Desarrollo de Bases de Datos: casos prácticos desde el análisis a la implementación. Capítulo 2. RA-MA. 2007.

[2] M. Piattini, E. Marcos, C. Calero y B. Vela. Tecnología y Diseño de Bases de Datos. Capítulos 6 y16. RA-MA 2006.

w RECOMENDADA:[3] A. Silberschatz, H. Korth & S. Sudarskhan. Fundamentos de Bases de Datos. 5ª Edición.

Capítulo 7. McGraw Hill. 2006.[4] R. Elmasri and S.B. Navathe. Fundamentos de Sistemas de Bases de Datos. Capítulo 3.

Addison Wesley. 2007.[5] A. de Miguel, M. Piattini y E. Marcos. Diseño de Bases de Datos Relacionales. Capítulo 3.

RA-MA. 1999.[6] A. de Miguel, P. Martínez, E. Castro, J.M. Cavero, D. Cuadra, A. Iglesias y C. Nieto.

Diseño de Bases de Datos: Problemas Resueltos. Capítulo 2. RA-MA. 1999.