El proceso para representar una base de datos en el modelo relacional - SanchezFelipe01/modewiki GitHub Wiki
A modo de ilustración del modelo relacional, se usará de nuevo el Ejemplo del sistema de información utilizado por la plataforma de streaming Spotify.
Esquema Relacional
Un esquema relacional lista todas las relaciones en una base de datos.
DB={Persona, Dispositivo, Cuenta, Playlist, Canción, Artista}
Persona={email, nombre_persona, email_seguido}
Dispositivo={tipo_dispositivo, email, usuario}
Vinculación={email,usuario}
Cuenta={usuario, contraseña, tipo_cuenta, id_playlist}
Playlist={id_playlist,nombre_playlist, usuario}
Artista={nombre_artista}
Canción={nombre_canción, género, duración, fecha_publicación,id_playlist ,nombre_artista}
Definición de los dominios
Atributo | Nombre Dominio | Significado | Definición |
---|---|---|---|
EmailPersonas | conjunto de las posibles direcciones de email de una persona que va a crear una cuenta | CHARACTER, size 30 | |
nombre_persona | NombrePersonas | conjunto de los posibles nombres de una persona que va a crear una cuenta | ALPHANUMERIC, size 30 |
tipo_dispositivo | TipoDispositivos | conjunto de los posibles tipos de dispositivo que una persona puede vincular con su cuenta | CHARACTER, size 30, valores: { ESTEREO, MOVIL, TV } |
tipo_cuenta | TipoCuentas | conjunto de los posibles tipos de cuentas que un usuario puede tener | CHARACTER, size 30, values: { PREMIUM, GRATIS } |
contraseña | ContraseñaCuentas | conjunto de las posibles contraseñas que un usuario puede definir para iniciar sesión con una cuenta | ALPHANUMERIC, size 30 |
usuario | UsuarioCuentas | conjunto de todos los posibles usuarios que un usuario puede definir para ser identificado | ALPHANUMERIC, size 30 |
id_playlist | IdPlaylist | conjunto de todos los posibles id's que se pueden generar al crear una nueva playlist | CHARACTER, size 4, range P001 to P999 |
nombre_playlist | NombrePlaylist | conjunto de los posibles nombres que una persona puede usar para sus playlist | CHARACTER, tamaño 30 |
nombre_canción | NombreCanciones | conjunto de los posibles nombres que una canción puede tener | CHARACTER, size 30 |
género | GéneroCanciones | conjunto de los posibles géneros en los que una canción puede clasificarse | CHARACTER, size 30 |
duración | DuraciónCanciones | conjuntos de las posibles duraciones que una canción puede tener | NUMERIC, size 4 |
fecha_publicación | FechaPublicaciones | conjunto de las posibles fechas en las que una canción puede haberse publicado | DATE, condition: fecha_publicación > 01/06/2020 |
nombre_artista | NombreArtistas | conjunto de los posibles nombres artísticos que un artista puede tener | CHARACTER, size 30 |
nombre | NombrePersonas | conjunto de los posibles nombres de una persona que va a crear una cuenta | CHARACTER, tamaño 30 |
Tablas
tabla persona
email_seguido | nombre_persona | |
---|---|---|
[email protected] | Juan José Valencia | [email protected] |
[email protected] | Luis Felipe Sanchez | [email protected] |
[email protected] | Lina Johanna Salinas | [email protected] |
[email protected] | Natalia Isabel González | [email protected] |
[email protected] | Daniel Alejandro Fernandez | [email protected] |
tabla dispositivo
tipo_dispositivo | usuario | |
---|---|---|
ESTEREO | [email protected] | backtojuan |
MOVIL | [email protected] | sanchezfelipe |
MOVIL | [email protected] | linasalinasd7 |
TV | [email protected] | nata_isa |
ESTEREO | [email protected] | daniFernan |
tabla vinculación
usuario | |
---|---|
[email protected] | backtojuan |
[email protected] | sanchezfelipe |
[email protected] | linasalinasd7 |
[email protected] | nata_isa |
[email protected] | daniFernan |
tabla cuenta
usuario | contraseña | tipo_cuenta |
---|---|---|
backtojuan | juanjose2002 | GRATIS |
sanchezfelipe | felipe2001 | PREMIUM |
linasalinasd7 | nana777 | PREMIUM |
nata_isa | gonza1999 | GRATIS |
daniFernan | kiminonawa | GRATIS |
tabla playlist
id_playlist | nombre_playlist | usuario |
---|---|---|
P001 | Kpop essentials | backtojuan |
P027 | pop favorites | sanchezfelipe |
P013 | ballads | linasalinasd7 |
P115 | Morat favs | nata_isa |
P502 | myPlaylist | daniFernan |
tabla artista
nombre_artista |
---|
Itzy |
DNCE |
Tones and I |
Morat |
Tom Oddell |
tabla canción
nombre_canción | género | duración | fecha_publicación | id_playlist | nombre_artista |
---|---|---|---|---|---|
ICY | k-pop | 400 | 02/10/2019 | P001 | Itzy |
Toothbrush | pop | 250 | 30/05/2015 | P027 | DNCE |
Dance Monkey | pop | 325 | 11/12/2019 | P013 | Tones and I |
Mi Suerte | pop | 415 | 03/07/2018 | P115 | Morat |
Another Love | alternative | 210 | 25/01/2019 | P502 | Tom Oddell |