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):
-
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.
-
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.
-
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
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 |
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)
tabla persona
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
usuario | |
---|---|
[email protected] | backtojuan |
[email protected] | sanchezfelipe |
tabla dispositivo
tipo_dispositivo | usuario | |
---|---|---|
ESTEREO | [email protected] | backtojuan |
MOVIL | [email protected] | sanchezfelipe |
Relación binaria recursiva
tabla persona
email_seguido | nombre_persona | |
---|---|---|
[email protected] | Juan José Valencia | [email protected] |
[email protected] | Luis Felipe Sanchez | [email protected] |
Relacion binaria con cardinalidad "muchos a muchos" (M:N)
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í