Pasar de Modelo Entidad-Relación a Modelo Relacional
Generalizacion
Este recurso está diseñado para pasar de Modelo Entidad-Relación a Modelo Relacional, explicando cada una de las relaciones. Cada pestaña explica la transformación de cada relación:

Negrita: Key

Negrita y subrayado: primary key

(fk): Foreign Key

Relación N:M

Cuando la cardinalidad de la relación entre dos entidades es varios a varios (N:M), la relación siempre se transforma en tabla, adoptando como clave primaria y a la vez foránea, las claves primarias de las dos entidades, y teniendo como atributos los propios de la relación.

Relación N:M

ESQUEMA RELACIONAL

Entidad 1 (Id1, atributo1)
Entidad 2 (Id2, atributo2)
Relación (Id1(fk), Id2(fk), atributoRelación)

TABLA RESUMEN

 

ESQUEMA RELACIONAL

DIAGRAMA REFERENCIAL

Entidad1 (Id1, Atributos1)
Entidad2 (Id2, Atributos2)
Relación (Id1(fk), Id2(fk), Atributos_relación)

Id1
Relación ——————–> Entidad1
Id2
Relación ——————–> Entidad2

Relación 1:N

Relación uno a varios (1:N). Para estas relaciones tenemos dos casos distintos:

Caso 1:1

Se aplica cuando la entidad con cardinalidad máxima 1 es obligatoria, es decir (1,1).

Relación 1:N

ESQUEMA RELACIONAL

Entidad(1,1) (IdEntidad(1,1), Atributos_Entidad(1,1))

Entidad(N) (IdEntidad(N), Atributos_Entidad(N), IdEntidad(1,1)(fk))

 

Caso 0:1

Este caso se aplica cuando la entidad con cardinalidad máxima 1 no es obligatoria, es decir (0,1).

Relación 1:N caso (0,N)

ESQUEMA RELACIONAL

Entidad(1) (IdEntidad(1), AtributosEntidad(1))

Entidad(N) (IdEntidad(N), AtributosEntidad(N))

Relación (IdEntidad(N)(fk), AtributosRelación, IdEntidad(1)(fk))

TABLA RESUMEN

CASOS

ESQUEMA RELACIONAL

DIAGRAMA REFERENCIAL

(1,1)

Entidad(1,1) (IdEntidad(1,1), Atributos_Entidad(1,1))

Entidad(N) (IdEntidad(N), Atributos_Entidad(N), IdEntidad(1,1)(fk))

IdEntidad(1,1)
Entidad(N) —————–> Entidad(1,1)
(0,1)

Entidad(1) (IdEntidad(1), AtributosEntidad(1))

Entidad(N) (IdEntidad(N), AtributosEntidad(N))

Relación (IdEntidad(N)(fk), AtributosRelación, IdEntidad(1)(fk))

IdEntidad(1)
Relación —————–> Entidad(1)IdEntidad(N)
Relación —————–> Entidad(N)
Relación 1:1

Para las relaciones 1:1 podemos encontrarnos con tres casos distintos:

Caso (1,1)(1,1)

Se unen ambas entidades en una tabla y se escoge como clave primaria una cualquiera de las dos.

Relación 1:1 Caso (1,1)(1,1)

ESQUEMA RELACIONAL

Entidad1yEntidad2 (Id1, Atributos1, Atributos2, Id2(fk))

Se puede elegir cúal clave será primaria y cuál foránea

 

Caso (1,1)(0,1)

La clave primaria de la entidad con cardinalidad (1,1) se propaga como clave foránea de la entidad con cardinalidad (0,1).

Relación 1:1 Caso (0,1)(1,1)

ESQUEMA RELACIONAL

Entidad(1,1) (IdEntidad(1,1), AtributosEntidad(1,1))

Entidad(0,1) (IdEntidad(0,1), AtributosEntidad(0,1), IdEntidad(1,1)(fk))

 

Caso (0,1)(0,1)

La relación se convierte en tabla y su clave primaria estará compuesta por las claves primarias de ambas entidades, que a la vez serán claves foráneas.

Relación 1:1 Caso (0,1)(0,1)

ESQUEMA RELACIONAL

Entidad1 (IdEntidad1, AtributosEntidad1)

Entidad2 (IdEntidad2, AtributosEntidad2)

Relación (IdEntidad1(fk), IdEntidad2(fk), AtributosRelación)

 

TABLA RESUMEN

 

CASOS

ESQUEMA RELACIONAL

DIAGRAMA REFERENCIAL

(1,1) (1,1) Entidad1yEntidad2 (Id1, Atributos1, Atributos2, Id2(fk))
Se puede elegir cúal clave será primaria y cuál foránea
 
(1,1) (0,1)

Entidad(1,1) (IdEntidad(1,1), AtributosEntidad(1,1))

Entidad(0,1) (IdEntidad(0,1), AtributosEntidad(0,1), IdEntidad(1,1)(fk))

IdEntidad(1,1)
Entidad(0,1) –————-> Entidad(1,1)
(0,1) (0,1)

Entidad1 (IdEntidad1, AtributosEntidad1)

Entidad2 (IdEntidad2, AtributosEntidad2)

Relación (IdEntidad1(fk), IdEntidad2(fk), AtributosRelación)

IdEntidad1
Relación ————–> Entidad1 

IdEntidad2
Relación ————-> Entidad2

Relación Reflexiva

Pueden darse los siguientes casos:

Caso (1:1)

En la tabla resultante se agregará 2 veces el mismo atributo, como clave primaria y como clave foránea a ella misma.

Relación Reflexiva 1:1

ESQUEMA RELACIONAL

Entidad1 (IdEntidad1, AtributosEntidad1, IdRol(fk))

 

Caso (1:N)

Para este tipo hay dos casos:

  • 1:N. Si tiene cardinalidad (1,N) se procede igual que en las relaciones 1:1

ESQUEMA RELACIONAL

Entidad1 (IdEntidad1, AtributosEntidad1, IdRol(fk))

Igual que el caso anterior

  • 0:N. Si tiene cardinalidad (0,N) se crea una nueva tabla cuya clave será la de la entidad del lado de varios y, además, se propaga la clave a la nueva tabla como clave foránea.

Relación Reflexiva 0:N

ESQUEMA RELACIONAL

Entidad1 (IdEntidad1, Atributos1)

Rol (IdEntidad1, IdRol(fk))

 

Caso (N:M)

Se procede igual que las relaciones N:M. La relación se convierte en tabla y su clave primaria estará compuesta por la clave primaria de ambos roles. Estas a la vez serán clave primaria y foráneas.

Relación Reflexiva N:M

ESQUEMA RELACIONAL

Entidad1 (IdEntidad1, Atributos1)

Rol (IdRol, AtributosRol)

Relación (IdEntidad1(fk), IdRol(fk), AtributosRelación)

Igual que las relaciones N:M Binarias

 

TABLA RESUMEN

 

CASOS

ESQUEMA RELACIONAL

DIAGRAMA REFERENCIAL

(1,1) Entidad1 (IdEntidad1, AtributosEntidad1, IdRol(fk)) IdRol
Entidad1 ————> Entidad1
(1,N) o (0,N) (1,N)
Entidad1 (IdEntidad1, AtributosEntidad1, IdRol(fk))
Igual que el caso anterior(0,N)
Entidad1 (IdEntidad1, Atributos1)
Rol (IdEntidad1, IdRol(fk))
(1,N)
IdRol
Entidad1 ————> Entidad1(0,N)
IdEntidad1
Rol ————————> Entidad1
IdRol Rol ————————> Entidad1
(N,M)

Entidad1 (IdEntidad1, Atributos1)

Rol (IdRol, AtributosRol)

Relación (IdEntidad1(fk), IdRol(fk), AtributosRelación)
Igual que las relaciones N:M Binarias

IdEntidad1
Relación —————–> Entidad1IdRol
Relación ———————> Rol
Relación Ternaria

La relación se convierte en tabla, conteniendo sus atributos más las claves primarias de todas las entidades que asocia como claves ajenas.
La clave primaria de la tabla resultante se compondrá de las claves de las entidades, teniendo en cuenta los siguientes casos:

Relación N:N:N

Clave primaria de la relación compuesta por las claves de las entidades que a la vez serán foráneas.

ESQUEMA RELACIONAL

Relación (Id1(fk), Id2(fk), Id3(fk))

 

Relación 1:N:N

Igual que la anterior, pero la clave de la entidad con cardinalidad máxima 1 sólo será foránea, pero no primaria.

ESQUEMA RELACIONAL

Relación (Id1(fk), Id2(fk), Id3(fk))

 

Relación 1:1:N

Las claves primarias de las entidades serán foráneas de la relación, y la clave de la entidad con cardinalidad máxima N será a la vez primaria de la relación.

ESQUEMA RELACIONAL

Relación (Id1(fk), Id2(fk), Id3(fk))

 

TABLA RESUMEN

 

CASOS

ESQUEMA RELACIONAL

DIAGRAMA REFERENCIAL

N: N : N Relación (Id1(fk), Id2(fk), Id3(fk))

Id1
Relación ———- > Entidad1 

Id2
Relación ———- > Entidad2

Id3
Relación ———- > Entidad3

1 : N : N Relación (Id1(fk), Id2(fk), Id3(fk))
1 : 1 : N Relación (Id1(fk), Id2(fk), Id3(fk))
Generalización

Generalizacion

Para este tipo de relaciones tenemos 3 opciones:

Opción 1

Integrar todas las entidades en una única tabla absorbiendo los subtipos. Se crea una tabla que contiene todos los atributos de la superentidad, todos los de las subentidades y el atributo discriminatorio para distinguir a qué subentidad pertenece cada registro de la tabla. Esta regla puede aplicarse a cualquier tipo de jerarquía.

ESQUEMA RELACIONAL

Todas las subentidades dentro de la tabla de superentidad

Superentidad ( IdSuperentidad, AtributosEntidad, AtributosSub1, AtributosSub2)

Opción 2

Eliminación de la superentidad en jerarquías totales y exclusivas. transfiriendo los atributos de la superentidad a cada subentidad, creándose una tabla por cada subentidad, la superentidad no tendrá tabla y se elimina el atributo que distingue entre subentidades.

ESQUEMA RELACIONAL

Eliminación de la superentidad en jerarquías totales y exclusivas

Sub1 (IdSuperentidad, AtributosSuperentidad, AtributosSub1)

Sub2 (IdSuperentidad, AtributosSuperentidad, AtributosSub2)

Relación_Sub1 (Depende de la cardinalidad de la relación)

Relación_Sub2 (Depende de la cardinalidad de la relación)

 

Opción 3

Insertar una relación 1:1 entre la superentidad y las subentidades. Los atributos se mantienen y cada subentidad se identificará con una clave ajena referenciando a la clave primaria de la superentidad. La superentidad mantendrá una relación 1:1 con cada subentidad.

ESQUEMA RELACIONAL

Insertar relación 1:1 entre la superentidad y las subentidades

Superentidad (IdSuperentidad, AtributosSuperentidad)

Sub1 (IdSuperentidad, AtributosSub1)

Sub2 (IdSuperentidad, AtributosSub2)

Relación (Depende de la cardinalidad de la relación entre Supertipo y la otra entidad).

 

TABLA RESUMEN

 

CASOS

ESQUEMA RELACIONAL

Caso 1

Todas las subentidades dentro de la tabla de superentidad

Superentidad ( IdSuperentidad, AtributosEntidad, AtributosSub1, AtributosSub2)

Caso 2

Eliminación de la superentidad en jerarquías totales y exclusivas

Sub1 (IdSuperentidad, AtributosSuperentidad, AtributosSub1)

Sub2 (IdSuperentidad, AtributosSuperentidad, AtributosSub2)

Relación_Sub1 (Depende de la cardinalidad de la relación)

Relación_Sub2 (Depende de la cardinalidad de la relación)

Caso 3

Insertar relación 1:1 entre la superentidad y las subentidades

Superentidad (IdSuperentidad, AtributosSuperentidad)

Sub1 (IdSuperentidad, AtributosSub1)

Sub2 (IdSuperentidad, AtributosSub2)

Relación (Depende de la cardinalidad de la relación entre Supertipo y la otra entidad)

Espero que este recurso os sirva para entender y acelerar el proceso de Diseño y Desarrollo de una buena Base de Datos, un saludo!!

  Libro recomendado:

Aprende SQL en un fin de semana

Aprende SQL en un fin de semana  
Pasar de Modelo Entidad-Relación a Modelo Relacional – Platita Servicios Informáticos Blog Entidad Relación Link your Data!!

Categorías

¡Descubre ‘El Viaje de los Datos: Una Aventura Relacional’!

Ilustración de un reino mágico llamado 'Relationalia', representando conceptos de bases de datos como entidades y relaciones en forma de elementos naturales como bosques, ríos y montañas.

Protégete con el mejor Antivirus

Deja tu comentario

0 comentarios

Deja un comentario

No te pierdas ni un artículo

He leído y acepto las Políticas de Privacidad y el Aviso Legal

12 + 2 =

Nuestra Tienda Online

Platita Store es nuestra tienda online de productos informáticos. Envíos sólo a las Islas Canarias en 24h/48h