Gianina Costa
TRANSFORMACIÓN MODELO
ENTIDAD RELACIÓN A RELACIONAL
GIANNINA COSTA
●
Lugares
Departamento
Código
Nombre
Cliente
RIF Nombre
Servicio
presta
Código Nombre
Fecha
NM
Empleado
Cédula
Teléfono
Nombre
pertenece
N
1
Departamento (Código, Nombre)
Cliente (RIF, Nombre) Servicio (Código, Nombre)
Empleado (Cédula, Nombre, Teléfono, CodDpto)
Presta (CódDpto, CodServ, RIF, Fecha)
Base deDatos
Relacional
¿POR QUE TRANSFORMAR?
MODELO ENTIDAD RELACIÓN
MODELO RELACIONAL
3
El modelo ERE es un modelo de datos conceptual
de altonivel.
Facilita las tareas de diseño conceptual de bases de
datos.
Se requiere convertirlo a un esquemacompatible con
unSGBD.
El Modelo Relacional es utilizado por lamayoríade los
SGBD.
¿POR QUE TRANSFORMAR?
•Paracadatiponormal(nodébil)deentidadEdel modeloEREse
defineunarelaciónR.
•EnlarelaciónRseincluyentodoslosatributos simplesdeE.
•SeincluyenenRlosatributossimplesquesean componentes
delosatributoscompuestos.
•Se eligen todos los atributos clave de E como atributos
clavesdeR.
7
1ER PASO TRANSFORMACIÓN DE ENTIDADES
1
0
Para cada entidad débil D del modelo ERE y su
respectivo vínculo con su entidad propietaria E se
defineunarelaciónR.
La relación R tiene todos los atributos de la entidad
débil D más los atributos que conforman la clave
primariadelaentidadpropietariaE.
LaclaveprimariadelarelaciónRestáformadaporlos
atributosdelaclaveprimariadelaentidad propietaria
EmáslosatributosdelaclaveparcialdeD
2ER PASO TRANSFORMACIÓN DE ENTIDADES DÉBILES
11
Empleado (Cédula, PrimNombre, PrimApellido, SegApellido, Teléfo no,Numero_Dpto)
pertenece_a
Departamento (Número_Dpto,Nombre_Dpto)
N1
Empleado
Cédula
Teléfono
PrimApellido
PrimNombre SegApellido
Nombre
Departamento
Numero_Dpto Nombre_Dpto
3ER PASO TRANSFORMACIÓN RELACIONES 1:N
12
Empleado (Cédula, PrimNombre, PrimApellido, SegApellido, Teléfo no,Numero_Dpto)
Departamento (Número_Dpto,Nombre_Dpto)
2ER PASO TRANSFORMACIÓN DE ENTIDADES DÉBILES
3ER PASO TRANSFORMACIÓN RELACIONES 1:N
13
Para cada vinculo 1:N entre dos entidades (no débiles) E y F
donde F está del lado N del vínculo, se añade a la relación
correspondiente a la entidad F de alguna de las entidades la
claveprimariadela otraentidadrelacionada.
3ER PASO TRANSFORMACIÓN RELACIONES 1:N
14
tiene_jefe
11
Empleado
Cédula
Teléfono Nombre
PrimApellido
PrimNombre SegApellido
Departamento
Numero_Dpto Nombre_Dpto
Departamento (Número_Dpto, Nombre_Dpto,Cédula_Jefe)
Empleado (Cédula, PrimNombre, PrimApellido, SegApellido,Teléfon o)
4ER PASO TRANSFORMACIÓN RELACIONES 1:1
Paracadavinculo1:1entredosentidades(no débiles)EyF
seañadealarelacióndealgunade lasentidades,amodo
de clave foránea, la clave primaria de la otra entidad
relacionada.
Seespecificaunarestricciónquedefinequela claveforánea
añadida debe ser única (no se puede repetir, porque de
hacerloentoncesseríauna relación1:N
16
4ER PASO TRANSFORMACIÓN RELACIONES 1:1
Trabaja_en (Cédula, Número_Proyecto,Horas)
Empleado (Cédula, PrimNombre, PrimApellido, SegApellido,Teléfon o)
Proyecto (Número_Proyecto,Nombre_Proyecto)
17
trabaja_en
NM
Empleado
Cédula
Teléfono
PrimApellido
PrimNombre SegApellido
Nombre
Proyecto
Numero_Proyecto Nombre_Proyecto Horas
¿Cuantasveces
puede un
empleado trabajar
en un proyecto?
¿Cuántos registros
puedo tener en
Trabaja_Enpara
un mismo
empleado y
proyecto?
5ER PASO TRANSFORMACIÓN RELACIONES N:M
19
estacionado_en
NM
Avion
Siglas
Peso_Max Num_Motores
Hangar
Código Ubicación
Fecha_Ent Fecha_Sal
¿Cuantas veces puede un Aviónestar
estacionado en unhangar?
O bien, ¿Cuántos registros puedo tener en
Estacionado_En para un mismo Avión y Hangar?
5ER PASO TRANSFORMACIÓN RELACIONES N:M
Para cada vinculo M:N entre dos entidades se crea una
relaciónR.
Los atributos de la relación R serán las claves primarias
de las entidades relacionadas mas los atributos propios
delvinculo.
La clave primaria de la relación R será el conjunto de todos
los atributos que sean claves primarias de las entidades
relacionadas.
20
5ER PASO TRANSFORMACIÓN RELACIONES N:M
Lugares_Dptos (Numero_Dpto,Lugar)
21
Departamento (Número_Dpto,Nombre_Dpto)
Lugares
Departamento
Numero_Dpto
Nombre_Dpto
6ER PASO TRANSFORMACIÓN ATRIBUTOS MULTIVALUADOS
Atributo
Multivaluado/
Compuesto
Grupo
Repetitivo
Estudiante Cédula
Nombre Apellido Curso
9.644.667 Pedro Pérez BD
9.644.667 Pedro Pérez IS
14.126.112 Gilberto Zapata BD
14.126.112 Gilberto Zapata IA
Estudiante Cédula
Nombre Apellido Curso
9.644.667 Pedro Pérez BD, IS
14.126.112 Gilberto Zapata BD, IA
22
Estudiante Cédula
Nombre Apellido
9.644.667 PedroPérez
14.126.112GilbertoZapata
EstCursoCédula
Curso
9.644.667 BD
9.644.667 IS
14.126.112 BD
14.126.112 IA
6ER PASO TRANSFORMACIÓN ATRIBUTOS MULTIVALUADOS
2
3
•Para cada atributo multivaluado se creará una
relaciónR.
•Los atributos de la relación R serán la clave
primariadelasentidadalacualperteneceel
atributomultivaluadomásel(olos)atributos
correspondientesalatributomultivaluado.
•La clave primaria de la relación R será la clave
primaria de la entidad a la cual pertenece el
atributo multivaluado más el (o los) atributos
correspondientesalatributomultivaluado
6ER PASO TRANSFORMACIÓN ATRIBUTOS MULTIVALUADOS
Presta (Numero_Dpto, Código_Servicio, RIF,Fecha)
24
Lugares
¡¡¡Recordar los vínculos n-arios
pueden ser nocivos para lasalud!!!
Departamento
Numero_Dpto
Nombre_Dpto
Cliente
RIF Nombre_Cliente
Servicio
presta
Código_Servicio Nombre_Servicio
Fecha
NM
7ER PASO TRANSFORMACIÓN VÍNCULOS N-ARIOS
25
Presta (Numero_Dpto, Código_Servicio, RIF,Fecha)
¡¡¡Recordar los vínculos n-arios
pueden ser nocivos para lasalud!!!
7ER PASO TRANSFORMACIÓN VÍNCULOS N-ARIOS
ParacadavinculoM:Nentretresomásentidades se
creaunarelaciónR.
LosatributosdelarelaciónRseránlasclaves primarias
detodaslasentidadesrelacionadasmás losatributos
propiosdelvinculo.
La clave primaria de la relación R será el conjunto de
todoslosatributosqueseanclavesprimariasde todas
lasentidadesrelacionadas.
26
7ER PASO TRANSFORMACIÓN VÍNCULOS N-ARIOS
27
Transformar ModeloEntidad RelaciónExtendido Relacional
–
Generalización (oEspecialización) –
Categorización
Definir una serie
de esquemasde
relaciones
equivalentes
TRANSFORMACIÓN MODELO ERE A RELACIONAL
28
Persona
Cédula
Nombre Apellido
Dirección
O
Empleado EstudianteProfesor
SalarioCarrera
Costo_Hora
E
(Entidad Padre,
Entidad Generalizada)
E
(Entidades
i
Especializadas)
Usando un diagrama declases...
TRANSFORMACIÓN MODELO ERE A RELACIONAL
Transformación de una Generalización
(Paso8)
... o bien...
29
TRANSFORMACIÓN MODELO ERE A RELACIONAL
Transformación de una
Generalización (Paso8)
Existen cuatro estrategiaspara transformar una relación de
generalización (o especialización) al modeloRelacional
TRANSFORMACIÓN MODELO ERE A RELACIONAL
31
Estrategia1:CrearunarelaciónRparalaentidad padreEy unarelaciónRparacadaentidadespecializadaE.
–
LarelaciónRtienetodoslosatributosdela entidadE.
–
Cada relación R tiene todos los atributos de la entidad E
correspondiente.
i
–
Todas las relaciones (tanto R como cada R ) comparten la
mismaclaveprimariadelaentidad padreE.
ESTRATEGÍA GENERALIZACIÓN
3
2
Persona
Cédula
Nombre
Apellido
Dirección
O
Empleado
Estudiante
Profesor
Salario
Carrera
Costo_Hora
Persona (Cédula, Nombre, Apellido,Dirección) Empleado(Cédula,Salario)
Estudiante (Cédula, Carrera)
Profesor(Cédula,Costo_Hora)
Esta estrategia funciona tanto para subclases
que setraslapancomoparasubclasesdisjuntas
ypara especializacionestotalesoparciales
Persona <12453334, 'Pedro', 'Perez', 'Av.8'> Empleado <12453334,2000> Estudiante <12453334,'Ingeniería'>
ESTRATEGÍA GENERALIZACIÓN
33
Estrategia 2:Crear una relación R para cada entidad especializadaE.
–
CadarelaciónRtienetodoslosatributosdelaentidad
Ecorrespondientemáslosatributosdelaentidadpadre
E. –
La clave primaria de cada relación R es la clave
primariadelaentidadpadreE.
ESTRATEGÍA GENERALIZACIÓN
Generalización
(Paso 8 / Estrategia)
34
Empleado (Cédula, Nombre, Apellido, Dirección,Salario)
Profesor (Cédula, Nombre, Apellido, Dirección,Costo_Hora) Estudiante (Cédula, Nombre, Apellido, Dirección,Carrera)
Persona
Cédula
Nombre
Apellido
Dirección
d
Empleado
Estudiante
Profesor
Salario
Carrera
Costo_Hora
Aplica para
especializaciones
disjuntas y totales
ESTRATEGÍA GENERALIZACIÓN
35
Estrategia 3:Utilizar una misma relación R paralaentidadpadre E y para las entidades especializadas E.
–
La relación R tiene todos los atributos delaentidadpadre E
mástodos los atributos todas las entidades especializadas E.
–
Se crea un atributo adicional que define el “tipo” de entidad
E que representa una tuplaenparticular.
–
Aplica sólo a casos donde las subclases son disjuntas. ESTRATEGÍA GENERALIZACIÓN
36
Persona (Cédula, Nombre, Apellido, Dirección, Tipo, Salario, Costo_Hora,Carrera)
Donde Tipo puede ser 0 para la subclase Empleado, 1 para la
subclase Profesor o 2 para la subclaseEstudiante
Persona
Cédula
Nombre
Apellido
Dirección
d
Empleado
Estudiante
Profesor
Salario
Carrera
Costo_Hora
Aplica solo para
especializaciones
disjuntas
<12453334, 'Pedro', 'Perez', 'Av. 8',0, 2000, NULL,NULL> ESTRATEGÍA GENERALIZACIÓN
37
Estrategia4:UtilizarunamismarelaciónRparala entidadpadreEyparalasentidades especializadas
E.(Similaralaestrategia3).
–
La relación R tiene todos los atributos de la entidad
padre Emástodos los atributos todas las entidades
especializadasE.(Similara3)
Secreaunatributobooleanoadicionalporcada entidad
especializada que define si una tupla en particular
pertenecedichaentidad.
ESTRATEGÍA GENERALIZACIÓN
38
Persona (Cédula, Nombre, Apellido,Dirección, Es_Empleado, Salario, Es_Profesor, Costo_Hora, Es_Estudiante,Carrera)
Los atributos “Es_*” son verdad eros para una tupla si esta es una
la clase especializada de la entidadcorrespondiente
<12453334, 'Pedro', 'Perez', 'Av. 8',true, 2000, true, 50, false, NULL>
Persona
Cédula
Nombre
Apellido
Dirección
d
Empleado
Estudiante
Profesor
Salario
Carrera
Costo_Hora
Aplica para
especializaciones
disjuntas y
traslapadas
ESTRATEGÍA GENERALIZACIÓN
39
Persona
Cédula
Nombre Apellido
Dirección
U
Cuenta
Habiente
Compañía
Dirección RIF
Nombre
C
1
C
2
Banco
tiene
cuenta
en
Usando un diagrama declases...
CATEGORIZACIÓN
40
Existen dos casosposibles al transformar una relación de categorización al modeloRelacionalCATEGORIZACIÓN
41
Caso 1:Lassuperclasesdelacategoríatienen diferentesclavesprimarias.
–
Se crea una relación R que corresponda a la
categoríayseasignaunaclavesustituta
arbitraria.
–
Seañadelaclavesustitutaamododeclave
foránea a cada una de las relaciones Ri que
correspondanalassuperclasesdelacategoría.
Claves primarias de las superclases nocompatibles
CATEGORIZACIÓN
Caso 2:Las superclases de la categoría tienen la misma claveprimaria.
–
Se crea una relación R que corresponda a la categoría y
se le asigna como atributo de clave primaria la clave
común a todas las superclases de lacategoría.
43
Claves primarias compatibles entre lassuperclases
CATEGORIZACIÓN
44
... o bien usando un diagrama de clases...
CATEGORIZACIÓN
Auto
Matrícula
MarcaA ModeloA
Color
Vehículo
Registrado
Camión
Peso Matrícula
ModeloC
C
1
C
2
Persona
posee
NumEjes
45
... se transforma al modelo
relacional de la siguienteforma...
CATEGORIZACIÓN
46
Vehículo_Registrado(Matrícula) Auto (Matrícula, MarcaA, ModeloA,Color) Camión (Matrícula, ModeloC, NumEjes,Peso)
Auto
Matrícula
MarcaA ModeloA
Color
Vehículo
Registrado
Camión
Peso Matrícula
ModeloC
C
1
C
2
Persona
posee
NumEjes
CATEGORIZACIÓN