Skip to content

6 Transformación del Modelo E/R a Relacional

Introducción

Pasamos ya a enumerar las normas para traducir del Modelo E/R al modelo relacional, ayudándonos del siguiente ejemplo:

Figura 37 - Modelo E/R a pasar a relacional

Figura 37 - Modelo E/R a pasar a relacional

Importante

Se deben elaborar los diagramas relacionales de tal forma que, posteriormente al introducir datos, no quede ninguna clave foránea a valor nulo (NULL). Para ello se siguen las reglas que se muestran a continuación.

Entidades

Cada entidad se transforma en una tabla. El identificador (o identificadores) de la entidad pasa a ser la clave principal de la relación y aparece subrayada o con la indicación: PK (Primary Key). Si hay clave alternativa esta se pone en negrita.

Ejemplo: Todas las entidades del ejemplo anterior generan tabla. En concreto, la entidad AULA genera la siguiente tabla:

Figura 38 - Transformar entidad

Figura 38 - Transformar entidad

Relaciones binarias N:M

Es el caso más sencillo. Siempre generan tabla. Se crea una tabla que incorpora como claves ajenas o foráneas FK (Foreign Key) cada una de las claves de las entidades que participan en la relación. La clave principal de esta nueva tabla está compuesta por dichos campos.

Importante

No se trata de 2 claves primarias, sino de una clave primaria compuesta por 2 campos.

Si hay atributos propios, pasan a la tabla de la relación. Se haría exactamente igual si hubiera participaciones mínimas 0. Orden de los atributos en las claves compuestas: Se deben poner a la izquierda todos los atributos que forman la clave. El orden de los atributos que forman la clave vendrá determinado por las consultas que se vayan a realizar. Las tuplas de la tabla suelen estar ordenadas siguiendo como índice la clave. Por tanto, conviene poner primero aquel/los atributos por los que se va a realizar la consulta.

Ejemplo: Realicemos el paso a tablas de la relación N:M entre MÓDULO (1,n) y ALUMNO (1,n). Este tipo de relación siempre genera tabla y los atributos de la relación, pasan a la tabla que ésta genera.

Figura 39 - Transformar Relación N:M

Figura 39 - Transformar Relación N:M

Relaciones binarias 1:N

No suelen generar otras tablas, si no que la entidad del lado N recibe como clave ajena la clave de la entidad 1. Los atributos propios de la relación pasan a la tabla donde se ha incorporado la clave ajena.

Figura 40 - Transformar Relación 1:N

Figura 40 - Transformar Relación 1:N

Importante

Si la entidad del lado 1 presenta participación (0,1), entonces se crea una nueva tabla para la relación que incorpora como claves ajenas las claves de ambas entidades. La clave principal de la relación será sólo la clave de la entidad del lado N.

Figura 41 - Transformar Relación 1:N
Figura 41 - Transformar Relación 1:N

Relaciones binarias 1:1

Si tenemos una relación 1:1 y ninguna tiene participación mínima 0, elegimos la clave principal de una de ellas y la introducimos como clave clave ajena en la otra tabla. Se elegirá una u otra forma en función de como se quiera organizar la información para facilitar las consultas. Los atributos propios de la relación pasan a la tabla donde se introduce la clave ajena.

Figura 42 - Transformar Relación 1:1

Figura 42 - Transformar Relación 1:1

Importante

Si alguna contiene una participación mínima 0, la clave primaria se coloca la clave ajena en dicha entidad para así evitar en lo posible, los valores nulos.

Importante

Si las dos entidades participan con participación (0,1), entonces se crea una nueva tabla para la relación.

Figura 43 - Transformar Relación 1:1
Figura 43 - Transformar Relación 1:1

Relaciones de dependencias

Como en toda relación 1:N, La clave de la entidad fuerte debe introducirse en la tabla de la entidad débil como foránea y, además en este caso, formar parte de la clave de ésta. En las entidades débiles, la clave de la entidad fuerte debe ir la primera y, a continuación, los discriminadores de la débil. Ejemplo: Realicemos el paso a tablas de la relación débil en identificación entre CURSO Y GRUPO.

Figura 44 - Transformar entidad débil

Figura 44 - Transformar entidad débil

Relaciones de grado mayor que 2

Siempre generan tabla. Las claves principales de las entidades que participan en la relación pasan a la nueva tabla como claves foráneas. Y solo las de los lados N forman la principal. Si hay atributos propios de la relación, estos se incluyen en esa tabla.

Relaciones reflexivas

Generan tabla o no en función de la cardinalidad. Si es 1:1, no genera tabla. En la entidad se introduce dos veces la clave, una como clave principal y otra como clave ajena. Se suele introducir una modificación en el nombre por diferenciarlas. Si es 1:N, se puede generar tabla o no. Si hubiese participación 0 en el lado 1, obligatoriamente se generaría tabla. Si es N:N, la relación genera tabla.

Figura 45 - Transformación de relación reflexiva

Figura 45 - Transformación de relación reflexiva

Jerarquías

Las relaciones jerárquicas son un caso especial. Se pueden dar algunas guías que sirvan de referencia, pero en la mayoría de los casos, va a depender del problema concreto. Estas guías son: Se creará una tabla para la entidad supertipo. A no ser que tenga tan pocos atributos que dejarla sea una complicación. Si la entidad subtipo no tiene atributos y no está relacionada con ninguna otra entidad, desaparece. Si la entidad subtipo tiene algún atributo, se crea una tabla. Si no tiene clave propia, hereda la de la entidad supertipo. Si la relación es exclusiva, el atributo que genera la jerarquía se incorpora en la tabla de la entidad supertipo. Si se ha creado una tabla por cada una de las entidades subtipo, no es necesario incorporar dicho atributo a la entidad supertipo. Ejemplo: No encontramos ningún ejemplo de relación de jerarquía 2 en el supuesto anterior. Su paso a tablas, se verán en cuando aparezcan en los ejemplos concretos.