Está en la página 1de 37

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

Base de Datos I
Sesin 07
Transformacin del Modelo
ERE al Modelo Relacional

Mg. Marcelino Estrada Aro


mestradaa@uigv.edu.pe
Transformacin del Modelo ERE
al Modelo Relacional
Por que es necesario transformar del modelo ERE al
modelo Relacional?
Cdigo Nombre
Nombre Departamento (Cdigo, Nombre)
Servicio
Cdigo Lugares
RIF Nombre
Empleado (Cdula, Nombre, Telfono, CodDpto)

Departamento presta Cliente


N M Cliente (RIF, Nombre)
1
Fecha
pertenece Servicio (Cdigo, Nombre)
N Telfono
Presta (CdDpto, CodServ, RIF, Fecha)
Empleado Nombre

Cdula

As como existe una relacin


entre una clase de un diagrama
de clases y el cdigo, tambin
existe una relacin entre una
entidad (o un vnculo) de un Base de Datos
Relacional
diagrama ERE o una clase y el
modelo relacional 2
Por que es Necesaria la Transformacin?

El modelo ERE es un modelo de datos


conceptual de alto nivel.
Facilita las tareas de diseo conceptual de

bases de datos.
Es necesario traducirlo a un esquema que

sea compatible con un SGBD.


El Modelo Relacional es utilizado por la

mayora de los SGBD existentes en el


mercado.

3
Transformacin del Modelo ER
al Modelo Relacional

Modelo Entidad Relacin (Bsico),


transformacin al modelo Relacional de:
- Entidades (no dbiles)
- Entidades Dbiles
- Vnculos 1:N Definir una serie
de esquemas de
- Vnculos 1:1 relaciones
- Vnculos M:N equivalentes
- Atributos Multivaluados

Vnculos n-arios

4
Transformacin de Entidades
(Paso 1)

Para cada tipo normal (no dbil) de entidad E del


modelo ERE se define una relacin R.
En la relacin R se incluyen todos los atributos
simples de E.
Se incluyen en R los atributos simples que sean
componentes de los atributos compuestos.
Se eligen todos los atributos clave de E como
atributos claves de R.

7
Transformacin de Entidades
(Paso 1)

PrimApellido

PrimNombre SegApellido

Nombre Telfono

Cdula Empleado

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)

CP Atributo compuesto Nombre

5
Transformacin de Entidades
(Paso 1)

En caso de que ms de un atributo sea parte de la clave primaria:

Nombre_Proyecto

Numero_Proyecto Descripcin_Proyecto

Proyecto

Proyecto (Nmero_Proyecto, Nombre_Proyecto, Descripcin_Proyecto)

CP Compuesta
6
Transformacin de Entidades Dbiles
(Paso 2)

Para cada entidad dbil D del modelo ERE y su


respectivo vnculo con su entidad propietaria E se
define una relacin R.
La relacin R tiene todos los atributos de la entidad
dbil D ms los atributos que conforman la clave
primaria de la entidad propietaria E.
La clave primaria de la relacin R est formada por
los atributos de la clave primaria de la entidad
propietaria E ms los atributos de la clave parcial
de D. 10
Transformacin de Entidades Dbiles
(Paso 2)

Nombre_Proyecto Fecha_Hito

Nmero_Proyecto Descripcin_Proyecto Cdigo_Hito Descripcin_Hito

Proyecto 1 es_parte_de
N
Hito

Hito (Nmero_Proyecto, Nombre_Proyecto, Cdigo_Hito, Fecha_Hito, Descripcin_Hito)

Proyecto (Nmero_Proyecto, Nombre_Proyecto, Descripcin_Proyecto)


8
Transformacin de Vnculos 1:N
(Paso 3)

Para cada vinculo 1:N entre dos entidades (no


dbiles) E y F donde F est del lado N del vnculo,
se aade a la relacin correspondiente a la entidad
F de alguna de las entidades la clave primaria de la
otra entidad relacionada.

13
Transformacin de Vnculos 1:N
(Paso 3)

PrimApellido
PrimNombre SegApellido
Numero_Dpto Nombre_Dpto
Nombre Telfono

Cdula Empleado pertenece_a Departamento


N 1

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono, Numero_Dpto)

Departamento (Nmero_Dpto, Nombre_Dpto)

11
Transformacin de Vnculos 1:1
(Paso 4)

Para cada vinculo 1:1 entre dos entidades (no


dbiles) E y F se aade a la relacin de alguna de
las entidades, a modo de clave fornea, la clave
primaria de la otra entidad relacionada.
Se especifica una restriccin que define que la
clave fornea aadida debe ser nica (no se puede
repetir, porque de hacerlo entonces sera una
relacin 1:N

16
Transformacin de Vnculos 1:1
(Paso 4)

PrimApellido

PrimNombre SegApellido
Numero_Dpto Nombre_Dpto
Nombre Telfono

Cdula Empleado tiene_jefe Departamento


1 1

Departamento (Nmero_Dpto, Nombre_Dpto, Cdula_Jefe)

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)

14
Transformacin de Vnculos M:N
(Paso 5)

Para cada vinculo M:N entre dos entidades se crea


una relacin R.
Los atributos de la relacin R sern las claves
primarias de las entidades relacionadas mas los
atributos propios del vinculo.
La clave primaria de la relacin R ser el conjunto
de todos los atributos que sean claves primarias de
las entidades relacionadas.

20
Transformacin de Vnculos M:N
(Paso 5)

PrimApellido

PrimNombre SegApellido
Horas Numero_Proyecto Nombre_Proyecto
Nombre Telfono

Cdula Empleado trabaja_en Proyecto


N M

Cuantas veces
puede un
empleado
trabajar en un
proyecto? Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono)
O bien,
Cuntos
registros puedo
tener en Trabaja_en (Cdula, Nmero_Proyecto, Horas)
Trabaja_En para
un mismo
empleado y
proyecto? Proyecto (Nmero_Proyecto, Nombre_Proyecto)
17
Transformacin de Vnculos M:N
(Paso 5)

Fecha_Ent Fecha_Sal

Num_Motores Peso_Max Cdigo Ubicacin

Siglas Avion estacionado_en Hangar


N M

Indique la solucin:

19
Transformacin de Atributos Multivaluados
(Paso 6)

Para cada atributo multivaluado se crear una


relacin R.
Los atributos de la relacin R sern la clave
primaria de las entidad a la cual pertenece el
atributo multivaluado ms el (o los) atributos
correspondientes al atributo multivaluado.
La clave primaria de la relacin R ser la clave
primaria de la entidad a la cual pertenece el
atributo multivaluado ms el (o los) atributos
correspondientes al atributo multivaluado 23
Transformacin de Atributos Multivaluados
(Paso 6)

Nombre_Dpto

Numero_Dpto Lugares

Departamento

Lugares_Dptos (Numero_Dpto, Lugar)

Departamento (Nmero_Dpto, Nombre_Dpto)


21
Transformacin de Atributos Multivaluados
(Paso 6)

Estudiante Cdula Nombre Apellido Curso


9.644.667 Pedro Prez BD, I S Atributo
14.126.112 Gilberto Zapata BD, I A Multivaluado /
Compuesto
Grupo
Repetitivo

Estudiante Cdula Nombre Apellido Curso


9.644.667 Pedro Prez BD
9.644.667 Pedro Prez IS
14.126.112 Gilberto Zapata BD
14.126.112 Gilberto Zapata IA

EstCurso Cdula Curso


Estudiante Cdula Nombre Apellido 9.644.667 BD
9.644.667 Pedro Prez 9.644.667 IS
14.126.112 Gilberto Zapata 14.126.112 BD
14.126.112 IA
22
Transformacin de Vnculos n-arios
(paso 7)

Para cada vinculo M:N entre tres o ms entidades


se crea una relacin R.
Los atributos de la relacin R sern las claves
primarias de todas las entidades relacionadas ms
los atributos propios del vinculo.
La clave primaria de la relacin R ser el conjunto
de todos los atributos que sean claves primarias de
todas las entidades relacionadas.

26
Transformacin de Vnculos n-arios
(paso 7)

Cdigo_Servicio Nombre_Servicio

Nombre_Dpto

Servicio
Numero_Dpto Lugares
RIF Nombre_Cliente

Departamento N
presta
M
Cliente

Fecha

Presta (Numero_Dpto, Cdigo_Servicio, RIF, Fecha)

Recordar los vnculos n-arios


pueden ser nocivos para la salud!!! 24
Transformacin del Modelo ERE al Modelo Relacional

Modelo Entidad Relacin (Extendido),


transformacin al modelo Relacional de:
- Generalizacin (o Especializacin)

- Categorizacin

Definir una serie


de esquemas de
relaciones
equivalentes

27
Transformacin de una Generalizacin
(Paso 8)

Nombre Apellido

Cdula Direccin

E (Entidad Padre,
Persona
Entidad Generalizada)

O
Salario Carrera

Empleado Ei (Entidades
Profesor Estudiante
Especializadas)

Costo_Hora

Usando un diagrama de clases...

28
Generalizacin
(Paso 8 / Estrategia 1)

Estrategia 1: Crear una relacin R para la entidad


padre E y una relacin R para
i
cada entidad
especializada E.i
- La relacin R tiene todos los atributos de la
entidad E.
- Cada relacin R tiene todos los atributos de la
i
entidad Ei correspondiente.
- Todas las relaciones (tanto R como cada R)
i

comparten la misma clave primaria de la entidad


padre E.

31
Generalizacin
(Paso 8 / Estrategia 1)
Nombre Apellido

Cdula Direccin
Persona (Cdula, Nombre, Apellido, Direccin)
Persona
Empleado (Cdula, Salario)
O
Salario Carrera Estudiante (Cdula, Carrera)

Empleado Profesor Estudiante Profesor (Cdula, Costo_Hora)

Costo_Hora

Esta estrategia funciona tanto para subclases que


se traslapan como para subclases disjuntas y para
especializaciones totales o parciales

Persona <12453334, 'Pedro', 'Perez', 'Av. 8'>


Empleado <12453334, 2000>
Estudiante <12453334, 'Ingeniera'> 32
Generalizacin
(Paso 8 / Estrategia 2)

Estrategia 2: Crear una relacin R i para cada


entidad especializada E.i
- Cada relacin R i tiene todos los atributos de la
entidad Ei correspondiente ms los atributos de
la entidad padre E.
- La clave primaria de cada relacin R es
i
la clave
primaria de la entidad padre E.

33
Generalizacin
(Paso 8 / Estrategia 2)

Nombre Apellido

Cdula Direccin
Aplica para
especializaciones
Persona disjuntas y totales

d
Salario Carrera

Empleado Profesor Estudiante

Costo_Hora

Empleado (Cdula, Nombre, Apellido, Direccin, Salario)

Profesor (Cdula, Nombre, Apellido, Direccin, Costo_Hora)

Estudiante (Cdula, Nombre, Apellido, Direccin, Carrera)

34
Generalizacin
(Paso 8 / Estrategia 3)

Estrategia 3: Utilizar una misma relacin R para la


entidad padre E y para las entidades
especializadas E.i
- La relacin R tiene todos los atributos de la
entidad padre E ms todos los atributos todas
las entidades especializadas E.i
-Se crea un atributo adicional que define el tipo
de entidad E que
i
representa una tupla en
particular.
- Aplica slo a casos donde las subclases son
disjuntas.
35
Generalizacin
(Paso 8 / Estrategia 3)

Nombre Apellido

Cdula Direccin Aplica solo para


especializaciones
Persona
disjuntas
d
Salario Carrera

Empleado Profesor Estudiante

Costo_Hora

Persona (Cdula, Nombre, Apellido, Direccin,Tipo, Salario, Costo_Hora, Carrera)

Donde Tipo puede ser 0 para la subclase Empleado, 1 para


la subclase Profesor o 2 para la subclase Estudiante

<12453334, 'Pedro', 'Perez', 'Av. 8',0, 2000, NULL, NULL>


36
Generalizacin
(Paso 8 / Estrategia 4)

Estrategia 4: Utilizar una misma relacin R para la


entidad padre E y para las entidades
especializadas E.i (Similar a la estrategia 3).
- La relacin R tiene todos los atributos de la
entidad padre E ms todos los atributos todas
las entidades especializadas E.i (Similar a 3)
-Se crea un atributo booleano adicional por cada
entidad especializada que define si una tupla en
particular pertenece dicha entidad.

37
Generalizacin
(Paso 8 / Estrategia 4)

Nombre Apellido

Cdula Direccin
Aplica para
especializaciones
Persona disjuntas y
solapados
o
Salario Carrera

Empleado Profesor Estudiante

Costo_Hora

Persona (Cdula, Nombre, Apellido, Direccin,


Es_Empleado, Salario, Es_Profesor, Costo_Hora, Es_Estudiante, Carrera)

Los atributos Es_* son verdaderos para una tupla si esta


es una la clase especializada de la entidad correspondiente

<12453334, 'Pedro', 'Perez', 'Av. 8',true, 2000, true, 50, false, NULL>
38
Transformacin de una Categorizacin
(Paso 9 / Caso 1)

Caso 1: Las superclases de la categora tienen


diferentes claves primarias.
- Se crea una relacin R que corresponda a la
categora y se asigna una clave sustituta
arbitraria.
- Se aade la clave sustituta a modo de clave
fornea a cada una de las relaciones Ri que
correspondan a las superclases de la categora.

Claves primarias de las superclases no compatibles

41
Transformacin de una Categorizacin
(Paso 9 / Caso 1)

Nombre Apellido
Nombre
Cdula Direccin RIF Direccin

Persona Compaa
C1 C2

tiene
Cuenta cuenta Banco
Habiente en

Persona (Cdula, Nombre, Apellido, Direccin, IdCuentaHabiente)

Compaa (RIF, Nombre, IdCuentaHabiente)

CuentaHabiente (IdCuentaHabiente)
42
Transformacin de una Categorizacin
(Paso 9 / Caso 2)

Caso 2: Las superclases de la categora tienen la


misma clave primaria.
- Se crea una relacin R que corresponda a la
categora y se le asigna como atributo de clave
primaria la clave comn a todas las superclases
de la categora.

Claves primarias compatibles entre las superclases

43
Transformacin de una Categorizacin
(Paso 9 / Caso 2)
MarcaA ModeloA ModeloC NumEjes

Matrcula Color Matrcula Peso

Auto Camin
C1 C2

Vehculo
posee Persona
Registrado

Vehculo_Registrado (Matrcula)

Auto (Matrcula, MarcaA, ModeloA, Color)

Camin (Matrcula, ModeloC, NumEjes, Peso)


47
EJEMPLO: A partir del siguiente MERE construya el MR
SOLUCION

También podría gustarte