Está en la página 1de 25

Tema III: Transformacin del

esquema conceptual al relacional


3.1 Introduccin. Etapas del diseo lgico
Diseo lgico estndar
Diseo lgico especfico
3.2 Transformacin elementos bsicos
3.3 Reglas concernientes a las extensiones del modelo E/R
Transformacin de dependencias en identificacin y en existencia
Transformacin de interrelaciones exclusivas
Transformacin de tipos y subtipos
Transformacin de la dimensin temporal
Transformacin de atributos derivados
Transformacin de interrelaciones de grado superior a dos

Tema 3.1: Introduccin.

Etapas del diseo Lgico

Recordando

Estructura
de Datos
E/R

LABDA Tema III: Transformacin del esquema conceptual al relacional

-2

Tema 3.1: Introduccin.

Etapas del diseo Lgico

A) Diseo lgico estndar


Elaboracin del Esquema Lgico Estndar que se apoya en el
modelo lgico estndar -Relacional, Codasyl, Jerrquico El Esquema Lgico Estndar se describir utilizando el lenguaje
estndar, si existe, del modelo de datos correspondiente (v.g. el
SQL92)
B) Diseo lgico especfico
Con el Esquema Lgico Estndar, y teniendo en cuenta el
modelo lgico especfico propio del SGBD, se elabora el
esquema lgico especfico, que ser descrito en el lenguaje del
producto comercial que estemos utilizando (p. e. Oracle)

LABDA Tema III: Transformacin del esquema conceptual al relacional

-3

Tema 3.1: Introduccin.

Etapas del diseo Lgico


ENTRADAS

ESQUEMA
CONCEPTUAL

REQUISITOS
DE LOS
PROCESOS Y
EL ENTORNO
MODELO
LGICO
ESTANDAR

Diseo
lgico

ESQUEMA
LGICO
ESTANDAR
MODELO
LGICO
ESPECFICO

ESPECIFICACIONES
PARA LOS PROCESOS

ESQUEMA
LGICO
ESPECFICO

* Imagen inspirada en [5], pgina 345


LABDA Tema III: Transformacin del esquema conceptual al relacional

-4

Tema 3.1: Introduccin.

Etapas del diseo Lgico

diagrama
E/R

Modelo Conceptual

grafo
Relacional

Modelo Lgico (estndar)

Script
SQL

Modelo Lgico (especfico)

LABDA Tema III: Transformacin del esquema conceptual al relacional

-5

Tema 3.2: Transformacin


Elementos Bsicos
tipo_nombre

PERSONA

confa

Los dominios en E/R se mantienen


como dominios en Relacional
Las entidades en E/R se traducen en
relaciones del modelo Relacional
Las interrelaciones en E/R se traducen en
- relaciones del modelo Relacional
- propagacin de claves (clave ajena) *

Nota *: aunque una clave ajena parece recoger menos semntica que una relacin E/R,
esta semntica se complementa con la que aporta la restriccin referencial.
LABDA Tema III: Transformacin del esquema conceptual al relacional

-6

Tema 3.2: Transformacin


Elementos Bsicos
Los ATRIBUTOS de una entidad sern atributos de la relacin
correspondiente, con ciertas salvedades:
Los atributos no obligatorios sern
marcados como atributos opcionales (*)
Los atributos identificadores principales
sern marcados como clave primaria
Los atributos identificadores alternativos
sern marcados como claves alternativas

PERSONA

Un atributo multivaluado origina una nueva relacin que


contiene dicho atributo y la clave primaria de la entidad
(que ser clave ajena sobre la relacin a la que esta d lugar).

La clave de esta relacin ser todo el esquema de relacin.


LABDA Tema III: Transformacin del esquema conceptual al relacional

-7

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones N:M
Se traducen en una relacin.
DNI
nombre
apellidos PERSONA

veces
ha visto

Ttulo
PELCULA

director

N:M

Esta relacin contendr las claves de las relaciones asociadas,


que en conjunto sern clave de la nueva relacin.
Tambin incluir los atributos de la interrelacin original.
Las opciones de borrado y modificacin dependern del cada caso
particular (si bien, en general, se escoger en ambas la opcin cascada)
LABDA Tema III: Transformacin del esquema conceptual al relacional

-8

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones N:M
Ejemplo:
DNI
nombre
apellidos PERSONA

veces
ha visto

Ttulo
director

PELCULA

N:M

DC / UC

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

ha_visto (DNI, Ttulo, veces)


DC / UC

Pelcula (Ttulo, Director,...)

LABDA Tema III: Transformacin del esquema conceptual al relacional

-9

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Dos posibilidades:
DNI
nombre
apellidos PERSONA

fecha
paga

N_Factura
FACTURA

importe

1:N

Propagar la clave de la entidad que interviene con cardinalidad 1


(en la relacin correspondiente a la otra entidad aparecer esta clave como
clave ajena; junto a ella, irn los atributos de la interrelacin si los hubiera)

Transformarla en una nueva relacin


Dicha relacin tendra como atributos las claves de ambas entidades (y los
atributos propios de la interrelacin). Su clave sera la clave de la entidad
que interviene en la interrelacin con N ocurrencias).
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 10

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Ejemplo: propagar clave
DNI

N_factura

fecha

nombre
apellidos PERSONA

FACTURA

paga

importe

1:N

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


D? / UC

Factura (N_factura, DNI, importe,...)


LABDA Tema III: Transformacin del esquema conceptual al relacional

- 11

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Ejemplo: crear nueva relacin
DNI

fecha

nombre
apellidos PERSONA

paga

N_factura
FACTURA

importe

1:N

D? / UC

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

paga (N_factura, DNI, fecha)


DC / UC

Factura (N_factura, importe,...)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 12

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Qu hacer con las cardinalidades mnimas cero?
DNI
apellidos PERSONA

N_Factura

fecha

nombre
(0,1)

paga

(0,n)

FACTURA

importe

1:N

(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 relacin, habr identificadores de la entidad
opcional que no aparezcan en ninguna ocurrencia de esta relacin.
(no hay que hacer nada)
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 13

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Qu hacer con las cardinalidades mnimas cero?
DNI
apellidos PERSONA

N_Factura

fecha

nombre
(0,1)

paga

(0,n)

FACTURA

importe

1:N

(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 identificacin
propagada que no aparezcan en ninguna tupla de la otra relacin.
- si se crea una nueva relacin, habr identificadores de la entidad
opcional que no aparezcan en ninguna ocurrencia de esta relacin.
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 14

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Qu hacer con las cardinalidades mnimas uno?
DNI
apellidos PERSONA

N_Factura

fecha

nombre
(1,1)

paga

(1,n)

FACTURA

importe

1:N

(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 relacin, en ella debera haber una tupla por
cada ocurrencia de la relacin que interviene con N (pero esto no
quedar garantizado a priori; habra una prdida de semntica).
Nota: estas prdidas de semntica se suplirn con la inclusin de restricciones semnticas;
en concreto, se aadirn aserciones que vigilen que estas condiciones se cumplen.
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 15

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Qu hacer con las cardinalidades mnimas uno?
DNI
apellidos PERSONA

N_Factura

fecha

nombre
(1,1)

paga

(1,n)

FACTURA

importe

1:N

(1,n): la entidad interviene con una o varias ocurrencias.


Resultado: no se toma ninguna medida especial (prdida de semntica).
- si se propaga, toda valor de la clave propagada debera aparecer
en alguna ocurrencia de la otra relacin (pero no se garantiza)
- si se crea una nueva relacin, en ella debera haber al menos una
tupla por cada ocurrencia de la relacin que interviene con una
ocurrencia (pero tampoco esto est garantizado a priori)
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 16

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:N
Cul de las opciones es ms conveniente?
DNI
nombre
apellidos PERSONA

fecha
paga

N_Factura
FACTURA

importe

1:N

En general, es preferible propagar la clave

Se crear una nueva relacin si:


a) la interrelacin tiene caracterizacin propia (atributos propios)
b) se prev que la interrelacin podra ser N:M en el futuro
c)

la cardinalidad mnima de la interrelacin para la entidad que


propaga es 0 (opcional), y en la otra entidad el nmero de
ocurrencias no relacionadas es elevado (la clave ajena sera NULL)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 17

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:1
Se puede considerar un caso particular de las anteriores, y por tanto
las soluciones anteriores son vlidas tambin en este caso.
DNI
nombre
apellidos PERSONA

fecha_apertura
tiene

1:1

n_historial
localizacin
HISTORIAL
MDICO

Las soluciones aplicables son:


a)
b)
c)
d)

crear una nueva relacin


propagar una de las claves
propagar las claves de las dos entidades (mutuamente)
fusionar ambas entidades (interrelacionadas) en una sola relacin

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 18

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:1
Crear una nueva relacin: (justificacin similar al caso 1:n)
a) si las cardinalidades mnimas son cero (ambas), esto evitar
valores nulos en las claves ajenas y mantendr la simetra
natural (entidades mantienen su independencia en relaciones
separadas)
b) si la interrelacin tiene caracterizacin propia (atributos) o
c) si se prev que posteriormente puedan variarse las
cardinalidades
nombre

DNI

horario
(0,1)

apellidos EMPLEADO

(0,1)

n_serie
memoria

ORDENADOR

utiliza
1:1

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 19

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:1
Ejemplo: (crear una nueva relacin)
nombre

DNI

horario
(0,1)

apellidos EMPLEADO

(0,1)
utiliza

n_serie
memoria

ORDENADOR

1:1

DC / UC

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

utiliza (n_serie, DNI, horario)


DC / UC

Ordenador (n_serie, memoria,...)

Nota: observar la prdida de eficiencia, ya que muchos consultas implican combinar dos
relaciones, e incluso hay consultas que implican combinar las tres relaciones.
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 20

10

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:1
Propagar una clave: (justificacin similar a la anterior)
si una de las cardinalidades mnimas es cero y la otra no (ser 1,1),
conviene propagar la clave de esta ltima (la obligatoria).

Ejemplo:
nombre

DNI

fecha_inicio
(1,1)

apellidos EMPLEADO

(0,1)
dirige

n_sucursal
direccin

SUCURSAL

1:1

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


DNA / UC

Sucursal (n_sucursal, DNI_director, direccin,...)


LABDA Tema III: Transformacin del esquema conceptual al relacional

- 21

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones 1:1
Propagar una clave:
Inconvenientes:
se pierde la simetra
consultas a la informacin de la entidad que interviene con (1,1) suponen
combinacin natural (por ejemplo, empleados que no dirigen sucursal)

Ventajas:
no pierde semntica (sobre la cardinalidad mnima 1)
se evitan valores nulos
algunas consultas no precisan combinacin de relaciones
NOTA: observar que la opcin de borrado debe ser restringido o en cascada
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 22

11

Tema 3.2: Transformacin


Elementos Bsicos
Interrelaciones con atributos:
si se crea una nueva relacin, esos atributos se incluyen en esta relacin.
si se propaga una clave, los atributos acompaan a la clave.
si se propagan ambas claves, los atributos se incluyen en una de las
entidades interralacionadas.
si se fusionan en una relacin, esta tambin contendr esos atributos.

Interrelaciones con un atributo multivaluado:


la interrelacin habr de transformarse en una relacin, y su clave
deber contener ese atributo (adems de la clave de una de las entidades
o las dos)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 23

Tema 3.2: Transformacin


Elementos Bsicos
Ejemplo Interrelacin con atributo
%
Cod_persona

Posee

(0,N)

N:M

PERSONA

Cod_casa
(0,N)
CASA

POSEE(Cod_persona, cod_casa, participacin_% )


PERSONA (Cod_persona, .........)
CASA (Cod_casa, .........)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 24

12

Tema 3.2: Transformacin


Elementos Bsicos
Ejemplo Interrelacin con atributos multivaluados
Cod_Ejemplar

EJEMPLAR_DVD

(1,N)

Fecha_i.

Fecha_f

presta

(0,N)

Cod_Persona
PERSONA

N:M

EJEMPLAR _DVD( Cod ejem, ttulo, ...)


PERSONA(Cod _persona, nombre, apellidos,
) ...)
PRESTA ( Cod_ejem, cod
cod_pers., Fecha_i, Fecha_f )
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 25

Tema 3.3: Transformacin


de las extensiones del E/R
5.3.1 Dependencias en Existencia/Identificacin
5.3.2 Interrelaciones Exclusivas
5.3.2 Generalizaciones
5.3.4 Dimensin Temporal
5.3.5Atributos Derivados
5.3.6 Interrelaciones de grado superior a 2
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 26

13

Tema 3.3.1: Dependencias en


Existencia/Identificacin
Se transforman de la misma forma que las interrelaciones 1:N
N_orden

Cod_dvd

Cod_Ejemplar
ID

DVD

tiene

(1,1)

EJEMPLAR

(0,n)

1:N

M E/R
MR
DVD (Cod_dvd, )

DC/UC
EJEMPLAR (Cod_dvd, N_orden, )

Restricciones
de Integridad?

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 27

Tema 3.3.2: Interrelaciones


Exclusivas
(0,1)
(1,n)

publica

REVISTA

ARTCULO
(1,n)

aparece

(0,1)

ACTAS
CONGRESO

M E/R
MR
QU FALTA?

CHECK

DC/UC
ACTAS_CONGRESO(Cod_A., )
DC/UC
REVISTA(Cod_Rv, )
ARTICULO(Cod_articulo, , Cod_Rv, Cod_Actas)
CHECK ((Cod_Rv IS NULL AND Cod_Ac IS NOT NULL)
OR
(Cod_Rv IS NOT NULL AND Cod_Ac IS NULL))

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 28

14

Tema 3.3.3: Generalizaciones


w El Modelo Relacional no dispone de instrumentos que
permitan representar tipos y subtipos.
w Se definen distintos mtodos de transformacin,
dependiendo de los objetivos perseguidos:
n
n

Informacin semntica representada en el modelo


Eficiencia de acceso a los datos
TIPO

SUBTIPO 1

SUBTIPO 2

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 29

Tema 3.3.3: Generalizaciones


w Mtodo 1
Utilizar una nica relacin para representar un tipo y todos
sus subtipos, aadiendo un atributo que indique el tipo de
entidad al que se hace referencia.
Puede hacerse cuando:
n
n

los atributos de los subtipos son similares


las interrelaciones que involucran a los subtipos son las mismas (o
no existen)

Ser necesario implementar las restricciones semnticas


necesarias a travs de CHECKS o DISPARADORES.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 30

15

Tema 3.3.3: Generalizaciones


w Mtodo 1
Segn los parmetros de la jerarqua, qu restricciones hay
que definir?
Solapamiento
S ? El atributo discriminante puede tomar varios valores
combinados.
No ? Verificar que slo los atributos adecuados al subtipo toman
valores.

Totalidad
S (Total) ? El atributo discriminante no puede tomar valores nulos.
No (Parcial) ? El atributo discriminante debe admitir valores nulos.
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 31

Tema 3.3.3: Generalizaciones


w Mtodo 1. Ejemplo, jerarqua parcial con solapamiento
nombre

DNI

direccin

PERSONA

Totalidad?

(1,1)

es_un
sueldo

M E/R

tfno

Curso
(0,1)

EMPLEADO

El tipo admite valores


nulos

TIPO
Nota_media

(0,1)

ESTUDIANTE

MR
PERSONA (DNI, nombre, direccin, tipo*, sueldo*, telfono*, Curso*, Nota_media*)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 32

16

Tema 3.3.3: Generalizaciones


w Mtodo 1. Ejemplo, Restriccin exclusividad
Check (( Tipo= Emp
AND curso IS NULL
AND nota_media IS NULL
AND sueldo IS NOT NULL
AND tfno IS NOT NULL
OR
( Tipo = Est
AND sueldo IS NULL
AND tfno IS NULL
AND curso IS NOT NULL
AND nota_media IS NOT NULL ))

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 33

Tema 3.3.3: Generalizaciones


w Mtodo 2
Utilizar una relacin para representar al supertipo y tantas
relaciones como subtipos haya. Como antes habr que
aadir 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


diferentes
Incorporar mayor semntica en el grafo relacional

Ser necesario implementar las restricciones semnticas


necesarias a travs de CHECKS o DISPARADORES.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 34

17

Tema 3.3.3: Generalizaciones


w Mtodo 2
Segn los parmetros de la jerarqua, qu restricciones hay
que definir?
Solapamiento
S ? El atributo discriminante puede tomar varios valores combinados.
No ? Verificar que slo aparecen entradas en la relacin del subtipo
correspondiente.

Totalidad
S (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.
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 35

Tema 3.3.3: Generalizaciones


w Mtodo 2. Ejemplo, jerarqua parcial con solapamiento
DNI

nombre

direccin

PERSONA (DNI, nombre, dir, tipo*)

PERSONA

DC/UC

EMPLEADO (DNI,sueldo, tfno)

(1,1)

DC/UC
es_un
sueldo

TIPO

tfno

Curso
(0,1)

EMPLEADO

ESTUD.(DNI,curso, nota_media)
Nota_media

(0,1)

ESTUDIANTE

M E/R

MR

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 36

18

Tema 3.3.3: Generalizaciones


w Mtodo 3
Se emplea una relacin 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


diferentes
La mayora de los accesos a los datos de los subtipos involucran en
mayor medida a los atributos comunes ? Eficiencia

Ser necesario implementar las restricciones semnticas


necesarias a travs de CHECKS o DISPARADORES.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 37

Tema 3.3.3: Generalizaciones


w Mtodo 3
Segn los parmetros de la jerarqua, qu restricciones hay
que definir?
Solapamiento
S ? Nada que controlar.
No ? Verificar que slo aparecen entradas en la relacin del subtipo
correspondiente.

Totalidad
S (Total) ? Nada que controlar.
No (Parcial) ? NO PUEDE UTILIZARSE ESTA TRANSFORMACIN

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 38

19

Tema 3.3.3: Generalizaciones


w Mtodo 3. Ejemplo, jerarqua parcial con solapamiento

DNI

nombre

direccin

PERSONA

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

(1,1)

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


es_un
sueldo

TIPO

tfno

Curso
(0,1)

EMPLEADO

Nota_media

(0,1)

ESTUDIANTE

M E/R

MR

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 39

Tema 3.3.3: Generalizaciones


EJEMPLOS
w Una empresa de estudios forestales desea almacenar en una base de
datos informacin sobre sus empleados, que pueden ser administrativos
u operarios de campo. Estos datos sern DNI, nombre, apellidos, fecha
de contrato y fecha de baja. Adems, para el caso de los operarios es
necesario almacenar el coste por hora, as como el nmero de horas
trabajadas.
w Los operarios de campo tienen la misin de tomar medidas sobre
determinadas parcelas y los administrativos sern los encargados de
grabar los datos de los formularios rellenados por los operarios de
campo.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 40

20

Tema 3.3.4: Dimensin Temporal


Se emplean las reglas de transformacin de atributos multivaluados.
f_inicio

DNI
PERSONA

f_fin

Cod_DVD
DVD

presta

(0,n)

(0,n)

N:M

M E/R
MR
PERSONA (DNI, .)

DVD (Cod_DVD, .)
DC/UC

DC/UC

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


LABDA Tema III: Transformacin del esquema conceptual al relacional

- 41

Tema 3.3.5: Atributos Derivados


Atributos cuyo valor se obtiene a travs de una expresin.
N_orden

Cod_DVD

Cod_Ejemplar
ID

DVD
D1

(1,1)
N_ejemplares

tiene

(0,n)

EJEMPLAR_DVD

1:N

M E/R
MR
DVD (Cod_DVD, Ttulo, N_ejemplares)

Ser necesario incluir un disparador para el clculo del atributo

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 42

21

Tema 3.3.6: Interrelaciones


Ternarias
En el modelo E/R se permiten interrelaciones entre ms de dos
entidades.
INVESTIGADOR

habla

N:M:P

CONFERENCIA

TEMA
LABDA Tema III: Transformacin del esquema conceptual al relacional

- 43

Tema 3.3.6: Interrelaciones


Ternarias
Siempre que sea posible, este tipo de interrelaciones se
representarn a travs de varias interrelaciones binarias.
(1,N)

INVESTIGADOR

Semntica
equivalente?

(1,N)
(1,N)
investiga
(1,N)

participa

publica
(1,N)
(1,N)

TEMA

abarca
(1,N)

(1,N)

(1,N)
CONFERENCIA

LABDA Tema III: Transformacin del esquema conceptual al relacional

NO
- 44

22

Tema 3.3.6: Interrelaciones


Ternarias
Otro ejemplo:
(1,N)

INVESTIGADOR
(1,N)

Semntica
equivalente?
(1,N)

escribe

participa

publica
(1,1)

(1,N)

(1,N)

ARTCULO

acepta

(1,1)

(1,N)

(1,N)
CONFERENCIA

SI

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 45

Tema 3.3.6: Interrelaciones


Ternarias
Cmo se transforma al Modelo Relacional este tipo de
interrelaciones?
M E/R M R
wRegla General:
A ( C_A, ...........)
A

C_A
C_B

Atrib.

B ( C_B, .............)
C ( C_C, .............)

I (C_A, C_B, C_C, Atrib)


DC/UC

C_B

DC/UC
DC/UC

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 46

23

Tema 3.3.6: Interrelaciones


Ternarias
wEs necesario un anlisis ms profundo teniendo en cuenta las
cardinalidades de la interrelacin.
wCaso 1. Cardinalidad mxima n y mnima 1 en todas las
ramas de la interrelacin:

Es aplicable la regla general.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 47

Tema 3.3.6: Interrelaciones


Ternarias
w Caso 2. Cardinalidad mxima n y mnima 0 en una rama:
M E/R M R
C_A

A ( C_A, ...........)
(0,n)

A
(1,n)

Atrib.

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

I1
(0,n)

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

(1,n)

I (C_A, C_B, C_C, Atrib)

(0,n)

DC/UC
DC/UC

C_B
C_C

DC/UC

I1 (C_A, C_B)

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 48

24

Tema 3.3.6: Interrelaciones


Ternarias
w Caso 3. Cardinalidad mxima n en dos ramas y mxima 1 en
la otra:
M E/R M R
C_A

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

B ( C_B, .............)
(1,n)

Atrib.

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

(1,n)

I (C_A, C_B, C_C, Atrib)


(0,1)
DC/UC

C_B
C_C

DC/UC
DC/UC

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 49

Bibliografa
w BSICA:
[1] D. Cuadra, E. Castro, A. Iglesias, P. Martnez, F.J. Calle, C. de Pablo, H. Al-Jumaily y L.
Moreno. Desarrollo de Bases de Datos: casos prcticos desde el anlisis a la
implementacin. Captulo 2. RA-MA. 2007.
[2] M. Piattini, E. Marcos, C. Calero y B. Vela. Tecnologa y Diseo de Bases de Datos.
Captulos 6 y16. RA-MA 2006.

w RECOMENDADA:
[3] A. Silberschatz, H. Korth & S. Sudarskhan. Fundamentos de Bases de Datos. 5 Edicin.
Captulo 7. McGraw Hill. 2006.
[4] R. Elmasri and S.B. Navathe. Fundamentos de Sistemas de Bases de Datos. Captulo 3.
Addison Wesley. 2007.
[5] A. de Miguel, M. Piattini y E. Marcos. Diseo de Bases de Datos Relacionales. Captulo 3.
RA-MA. 1999.
[6] A. de Miguel, P. Martnez, E. Castro, J.M. Cavero, D. Cuadra, A. Iglesias y C. Nieto.
Diseo de Bases de Datos: Problemas Resueltos. Captulo 2. RA-MA. 1999.

LABDA Tema III: Transformacin del esquema conceptual al relacional

- 50

25

También podría gustarte