Como transformar los elementos de un modelo conceptual en relaciones ó tablas - SanchezFelipe01/modewiki GitHub Wiki

Una vez ha sido construido el modelo conceptual se tienen los elementos necesarios para empezar con la transformación del mismo hacia las tablas SQL. Dicha transformación puede ser descrita por los tres tipos de tablas que esta produce. La ilustración de cada situación se hará basada en el modelo conceptual construido previamente usando SQL y teniendo solo en cuenta las relaciones de manera separada, no global (se puede más acerca de la visión global del modelo en el modelo relacional):

Modelo ER

  1. Tabla SQL con la misma información de contenido que la entidad original de la cual se deriva: este tipo de transformación ocurre en entidades con relaciones binarias, relaciones binarias recursivas y relaciones n-arias de todas las cardinalidades.

  2. Tabla SQL con la llave foránea insertada de la entidad padre: este tipo de transformación ocurre en entidades con relaciones binarias, relaciones binarias recursivas y relaciones n-arias de todas las cardinalidades. La llave foránea de una tabla referencia la llave primaria de la otra tabla con la cual se relaciona.

  3. Tabla SQL derivada de una relación con todas las llaves foráneas de todas las entidades en la relación: este tipo de transformación ocurre en relaciones binarias, binarias recursivas y relaciones n-arias con cardinalidad "muchos a muchos".


Relación binaria


binaryrelationship

tabla cuenta

usuario contraseña tipo_cuenta id_playlist
backtojuan juanjose2002 GRATIS P001
sanchezfelipe felipe2001 PREMIUM P027

tabla playlist

id_playlist nombre_playlist usuario
P001 Kpop essentials backtojuan
P027 pop favorites sanchezfelipe

BinaryRelationship2

tabla artista

nombre_artista
TWICE
Ariana Grande

tabla canción

nombre_cancion genero duracion nombre_artista fecha_publicación
FANCY k-pop 300 TWICE 14/02/2019
No Tears Left To Cry pop 250 Ariana Grande 21/04/2018

Relación n-aria (ternaria)


n-aryrelationship

tabla persona

email nombre_persona
[email protected] Juan José Valencia
[email protected] Luis Felipe Sanchez

tabla cuenta

usuario contraseña tipo_cuenta
backtojuan juanjose2002 GRATIS
sanchezfelipe felipe2001 PREMIUM

tabla vinculacion

email usuario
[email protected] backtojuan
[email protected] sanchezfelipe

tabla dispositivo

tipo_dispositivo email usuario
ESTEREO [email protected] backtojuan
MOVIL [email protected] sanchezfelipe

Relación binaria recursiva


recursivebinaryrelationship

tabla persona

email_seguido nombre_persona email
[email protected] Juan José Valencia [email protected]
[email protected] Luis Felipe Sanchez [email protected]

Relacion binaria con cardinalidad "muchos a muchos" (M:N)


manytomanyrelationship

tabla playlist

id_playlist nombre_playlist
P001 Kpop essentials
P027 pop favorites

tabla cancion

nombre_cancion genero duracion id_playlist
FANCY k-pop 300 P001
No Tears Left To Cry pop 250 P027

Puede consultar más acerca de cada patrón exacto de transformación para todas las posibilidades aquí