Hola a todos, hoy vamos a practicar con ejercicios modelo relacional sobre una base de datos sobre un campeonato de ajedrez.
Antes de comenzar, recuerda que tenemos un curso de modelo relacional que puedes revisar antes de hacer ejercicios, te lo dejo por aquí.
Diagrama Modelo Entidad Relacion

Transformación a Modelo Relacional
Empezaremos con la generalización Participante.
Crearemos una tabla por cada entidad, cada una con sus atributos.

Formato gráfica:

Formato tabla:
Continuamos con la relación entre campeonato y participante.
Como es una relación N:M, crearemos una nueva tabla con los campos identificativos.
El campo tipo, se mueve a la nueva tabla.
En este caso, no es necesario crear un nuevo campo, ya que un participante solo va una vez a un campeonato concreto.

Formato gráfica:

Formato tabla:
Seguimos con la relación entre participante y pais.
Como es una relación 1:N, se añade el campo codigo_pais a la tabla participante.
En la tabla pais, se añade el campo representante que apunta al campo codigo de la propia tabla por la relación reflexiva.
Este campo representante puede ser nulo.

Formato gráfica:

Formato tabla:
Seguimos con la relación entre hotel y participante.
Como es una relación N:M, crearemos una nueva tabla con los campos identificativos de participante y hotel.
Como un participante puede alojarse en el mismo hotel en diferentes fechas (diferentes campeonatos).
Mantenemos los campos foráneos de Participante.

Formato gráfica:

Formato tabla:
Continuamos con la relación entre el hotel y la sala.
Como es una relación 1:N, se añade el campo nombre del hotel a la tabla sala.
Como es también una relación de existencia, no será primario, será foráneo.

Formato gráfica:

Formato tabla:
Continuamos con la relación entre sala y partida.
Como es una relación 1:N, pasamos el codigo de la sala a la tabla partida.
El atributo entradas pasa a la tabla Partida.
Mantenemos los campos foráneos de Sala.
No se añade el campo jornada, en su lugar se añade el anio, mes y dia.

Formato gráfica:

Formato tabla:
Continuamos con la relación entre Jugador y Partida.
Como es una relación N:M, crearemos una nueva tabla con los campos identificativos de jugador y partida
Se añade el campo color a la nueva tabla.
Mantenemos los campos foráneos de Partida.
Mantenemos el campo n_socio de Jugador que apunta de Participante.

Formato gráfica:

Formato tabla:
Continuamos con la relación entre arbitro y partida.
Como es una relación 1:N, añadimos el campo arbitro a la tabla Partida.
Mantenemos los campos foráneos de Partida.
Mantenemos el campo n_socio de Arbitro que apunta de Participante.

Formato gráfica:

Formato tabla:
Por último, veamos la relación Partida y movimiento.
Como hay una relación de dependencia de movimiento con partida, se añade el campo codigo_partida a movimiento, siendo primario y foráneo.
Los campos foráneos se mantiene en partida.
El campo movimientos se representará como un campo normal.

Formato gráfica:

Formato tabla:
Resultado final
Formato gráfica:

Formato tabla:
Te dejo el Github con todo el contenido: https://github.com/DiscoDurodeRoer/curso-disenio-base-de-datos
Te dejo un video donde lo explicamos paso a paso.
https://youtu.be/aqLQxQuscwk
¿Quieres mas ejercicios? Te dejo otro video.
Espero que os sea de ayuda, si tenéis dudas, preguntad, estamos para ayudarte.
Deja una respuesta