You are on page 1of 25

Transformar un modelo entidad-relacin a modelo

relacional

Una base de datos relacional consiste en un conjunto de


tablas, a cada una de las cuales se le asigna un nombre
exclusivo
Transformar un modelo entidad-relacin a modelo
relacional
Transformar un modelo entidad-relacin a modelo
relacional

Para transformar un modelo entidad-relacin a modelo relacional


seguiremos las siguientes reglas:
Transformar un modelo entidad-relacin a modelo
relacional

Toda entidad del modelo entidad-relacin se transforma en una tabla.


Transformar un modelo entidad-relacin a modelo
relacional

Cualquier atributo de una entidad se transforma en un campo


dentro la tabla, manteniendo las claves primarias.
Transformar un modelo entidad-relacin a modelo
relacional

Las relaciones N:M se transforman en una nueva tabla que tendr


como clave primaria la concatenacin de los atributos clave de
las entidades que relaciona.
Transformar un modelo entidad-relacin a modelo
relacional

En las relaciones 1:N se pueden tener dos casos:


1) Si la entidad que participa con cardinalidad mxima uno lo
hace tambin con cardinalidad mnima uno, entonces se
propaga el atributo de la entidad que tiene cardinalidad
mxima n a la que tiene cardinalidad mxima 1,
desapareciendo el nombre de la relacin. Si existen atributos
en la relacin stos tambin se propagarn.
Transformar un modelo entidad-relacin a modelo
relacional

2) Si la entidad que participa con cardinalidad mxima uno lo hace


tambin cardinalidad mnima cero, entonces se crea una nueva
tabla formada por las claves de cada entidad y los atributos de la
relacin. La clave primaria de la nueva tabla ser el identificador
de la entidad que participa con cardinalidad mxima 1.
Transformar un modelo entidad-relacin a modelo
relacional

En el caso de las relaciones 1:1 tambin pueden darse dos casos:


1) Si las entidades poseen cardinalidades (0,1), la relacin se
convierte en una tabla.
2) Si una de las entidades posee cardinalidad (0,1) y la otra
(1,1), conviene propagar la clave a la entidad con
cardinalidad (1,1) de la tabla resultante de la entidad con
cardinalidad (0,1). Si ambas entidades poseen cardinalidades
(1,1) se puede propagar la clave de cualquiera de ellas a la
tabla resultante de la otra.
Transformar un modelo entidad-relacin a modelo
relacional

En el caso de las relaciones N-arias se aplica la misma regla que


para las relaciones N:M
Transformar un modelo entidad-relacin a modelo
relacional

En el caso de las relaciones reflexivas supondremos que se trata de


una relacin binaria con la particularidad que las dos entidades
son iguales y aplicaremos las reglas vistas en los puntos
anteriores.
Transformar un modelo entidad-relacin a modelo
relacional

CLIENTE(dni,nombre,apellidos)
PRODUCTO(cdigo,descripcin)
COMPRAS(dni_cliente,cdigo_producto,fecha_compra)
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones 1:N
En el siguiente modelo entidad-relacin un empleado pertenece a
un nico departamento (debe pertenecer a uno obligatoriamente), y
un departamento tiene 1 o ms empleados.

En este caso se propaga el atributo cdigo de departamento a la tabla


EMPLEADO. El modelo relacional quedara de la siguiente
manera:
EMPLEADO(dni,nombre,salario,cdigo_departamento)
DEPARTAMENTO(cdigo,nombre,localizacin)
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones 1:N
Imaginemos ahora que pudiera darse el caso de que hubiera
empleados que no pertenecieran a ningn departamento.

En este caso la entidad que participa con cardinalidad mxima 1, EMPLEADO


tambin lo hace con cardinalidad mnima 0, ya que puede haber empleados que
no pertenezcan a ningn departamento. As pues, se crea una nueva tabla
formada por dni de EMPLEADO y cdigo de DEPARTAMENTO. En esta
nueva tabla dni de EMPLEADO ser la clave primaria. El modelo relacional
quedara de la siguiente forma:
EMPLEADO(dni,nombre,salario)
DEPARTAMENTO(cdigo,nombre,localizacin)
PERTENECE(dni_empleado,cdigo_departamento)
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones 1:1
En el siguiente modelo entidad-relacin un equipo de ftbol tiene a un nico presidente y un
presidente preside a un nico club de ftbol.
En este ejemplo, tal y como dicen las reglas, podemos propagar la clave de cualquier tabla a la tabla
resultante de la otra. Es decir, tenemos dos opciones, o mover la clave de PRESIDENTE a EQUIPO
o mover la clave de EQUIPO a PRESIDENTE.

1) EQUIPO(cdigo,nombre,ao_fundacin)
PRESIDENTE(dni,nombre,cdigo_equipo)
2) EQUIPO(cdigo,nombre,ao_fundacin,dni_presidente)
PRESIDENTE(dni,nombre)
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones 1 a 1
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones 1 a 1
Transformar un modelo entidad-relacin a modelo
relacional

Relaciones reflexivas
En el siguiente modelo entidad-relacin un ALUMNO es delegado de varios
ALUMNOS y un ALUMNO tiene obligatoriamente un delegado y slo a uno.
La relacin reflexiva se trata como si fuera una relacin binaria con la
particularidad de que las dos entidades son iguales. Al tratarse de una relacin
1:N se propagar la clave de la entidad ALUMNO a la entidad ALUMNO
ALUMNO(num_expediente,nombre,num_expediente_delegado)
Transformar un modelo entidad-relacin a modelo
relacional

Fin
Toda entidad del modelo entidad-relacin se transforma en una tabla.
Objetivo a largo plazo

Seale el objetivo deseado


Precise an ms el objetivo
Situacin presente

Resuma la situacin actual


Desarrollo hasta hoy

Desarrollo hasta la situacin actual


Informaciones importantes del pasado
Pronsticos que no se cumplieron
Pronsticos que se confirmaron
Alternativas posibles

Nombre estrategias alternativas


Cite las ventajas y desventajas de cada
estrategia
Haga un pronstico de los costes
Recomendacin

Recomiende una o varias estrategias


Resuma los resultados previstos
Mencione los prximos pasos
Distribuya las tareas

You might also like