5 ejercicios para practicar modelo relacional

Hola a todos, hoy os voy a dejar una serie de ejercicios para practicar modelo relacional.

Antes de empezar, recuerda que tienes el curso completo de modelo entidad relacion en este post:

https://discoduroderoer.es/curso-modelo-relacional-para-disenar-bases-de-datos

Contenido de los ejercicios

Realizamos los siguiente 5 ejercicios de diferentes temáticas transformando los ejercicios que hicimos en su día de MER.

5 Ejercicios modelo entidad relacion para practicar

Te dejo el Github con todo el contenido: https://github.com/DiscoDurodeRoer/curso-disenio-base-de-datos

Ejercicio 1: Alquiler de vehículos

ejercicios modelo entidad relacion alquiler vehiculos 6

Empezamos por la tabla cliente con sus atributos y su relación reflexiva.

Por la relación reflexiva, se crea un nuevo campo que apunta al codigo del cliente. Puede ser nulo.

ejercicios modelo relacional alquiler vehiculos 1

Formato grafica:

ejercicios modelo relacional alquiler vehiculos 2

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 3

Continuamos con reserva y su relación con cliente.

No se añade el campo calculado precio_total. Fecha fin podría ser nulo pero por el enunciado original se podría entender como que no es necesario.

La relación, como es 1:N, en la tabla reserva añadimos el codigo del cliente al ser donde esta el maximo N.

ejercicios modelo relacional alquiler vehiculos 4

Formato gráfica:

ejercicios modelo relacional alquiler vehiculos 5

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 6

Continuamos con la relación entre reserva y coche.

El atributo precio_alquiler de la relación se va a la tabla coche al tener la N como máximo en la relación 1:N

Se añade en la tabla coche, el atributo codigo_reserva por la relación 1:N

Mantenemos el codigo del cliente y el codigo de la agencia de la reserva.

ejercicios modelo relacional alquiler vehiculos 7

Formato gráfica:

ejercicios modelo relacional alquiler vehiculos 8

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 9

Continuamos con la relación entre reserva y agencia.

El codigo de la agencia se va a la tabla reserva, por la relación 1:N

Mantenemos el codigo de cliente en reserva.

ejercicios modelo relacional alquiler vehiculos 10

Formato gráfica:

ejercicios modelo relacional alquiler vehiculos 11

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 12

Por último, vamos con la relación entre coche y garaje.

Añadiremos en la tabla coche el codigo del garaje por la relación 1:N

Mantenemos el codigo de la reserva del coche.

ejercicios modelo relacional alquiler vehiculos 13

Formato gráfica:

ejercicios modelo relacional alquiler vehiculos 14

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 15

Solución

Formato gráfica:

ejercicios modelo relacional alquiler vehiculos 16

Formato tabla:

ejercicios modelo relacional alquiler vehiculos 17

Video

Ejercicio 2: Asociaciones de ONGs

Empecemos por la generalización participante.

Crearemos una tabla para cada entidad, cada uno con sus atributos asociados.

Trabajador y socio, tendrán un atributo DNI primario y foráneo que apunta a participante.

Asalariado y voluntario, tendrán un atributo DNI primario y foráneo que apunta a trabajador.

ejercicios modelo relacional asociaciones ongs 1

Formato gráfica:

ejercicios modelo relacional asociaciones ongs 2

Formato tabla:

ejercicios modelo relacional asociaciones ongs 3

Veamos la relación entre asociación y socio.

Crearemos una nueva tabla intermedia entre asociacion y socio al ser una relación N:M.

Se añaden los atributos de la relación a esta nueva tabla, excepto aportacion_anual por ser un campo calculado.

Mantenemos el DNI del socio que apunta a participante.

ejercicios modelo relacional asociaciones ongs 4

Formato gráfica:

ejercicios modelo relacional asociaciones ongs 5

Formato tabla:

ejercicios modelo relacional asociaciones ongs 6

Continuamos con la relación entre asociación y trabajador.

En la tabla trabajador, añadiremos el campo CIF_asociacion por tener el máximo N en la relación 1:N

Mantenemos el DNI del trabajador que apunta a participante.

ejercicios modelo relacional asociaciones ongs 7

Formato gráfica:

ejercicios modelo relacional asociaciones ongs 8
Formato tabla:

ejercicios modelo relacional asociaciones ongs 9

Seguimos con la relación entre asociación y proyecto.

Como proyecto es una entidad débil dependiente de asociación, su tabla contendrá el campo CIF_asociacion que será primaria y foránea.

En la tabla proyecto, le añadimos el campo proyecto_base que hace referencia al campo codigo de su propia tabla. Puede ser nulo.

ejercicios modelo relacional asociaciones ongs 10

Formato gráfica:

ejercicios modelo relacional asociaciones ongs 11

Formato tabla:

ejercicios modelo relacional asociaciones ongs 12

Solución

Formato gráfica:

ejercicios modelo relacional asociaciones ongs 13

Formato tabla:

ejercicios modelo relacional asociaciones ongs 14

Video

Ejercicio 3: Servicios de urgencia

Empezamos con la generalización empleado.

Creamos una tabla por cada entidad, cada uno con sus atributos.

Conductor_ambulancia y Personal_sanitario tendran un campo codigo que será foráneo y primario.

ejercicios modelo relacional servicios de urgencia 1

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 2

Formato tabla:

ejercicios modelo relacional servicios de urgencia 3

Veamos la relación entre ambulancia y conductor_ambulancia.

El campo instrumesntal_medico de ambulancia, lo pondremos como un campo mas.

Como tenemos una relación 1:1, podemos mover el atributo identificativo de una tabla a otra.

En este caso, el codigo del conductor la moveremos a la ambulancia. No podrá ser nulo.

Si lo hiciéramos al revés, el campo matricula en conductor de ambulancia podría ser nulo.

Mantenemos el codigo del conductor que apunta a empleado.

ejercicios modelo relacional servicios de urgencia 4

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 5

Formato tabla:ejercicios modelo relacional servicios de urgencia 6

Continuamos con la relación entre Personal_sanitario y grupo.

Al ser una relación 1:N, en la tabla personal_sanitario se añadirá el codigo del grupo.

El atributo puesto, se moverá a la tabla personal_sanitario.

Mantenemos el codigo del sanitario que apunta a empleado.

ejercicios modelo relacional servicios de urgencia 7

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 8

Formato tabla:

ejercicios modelo relacional servicios de urgencia 9

Continuamos con la relación entre conductor_ambulancia y hospital.

Al tener una relación N:M, crearemos una nueva tabla con los campos identificativos de ambas tablas y los atributos de la relación.

En este caso, vamos a añadir un campo único primario y los campos conductor_ambulancia y codigo_hospital serán solo foráneos.

Añadimos este campo, porque un conductor puede hacer varios viajes al mismo hospital en diferentes fechas.

El campo especialidades de hospital será un campo mas.

Mantenemos el codigo del conductor que apunta a empleado.

ejercicios modelo relacional servicios de urgencia 10

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 11

Formato tabla:

ejercicios modelo relacional servicios de urgencia 12 Seguimos con la relación entre Personal_sanitario y hospital que hace referencia a las guardias.

Pasará igual que en el anterior, como un sanitario puede hacer diferentes guardias en el mismo hospital en diferentes fechas.

Crearemos un nuevo campo primario y el codigo_sanitario y codigo_hospital serán foráneos.

Mantenemos el codigo del sanitario que apunta a empleado.

ejercicios modelo relacional servicios de urgencia 13

Formato gráfica:

Formato tabla:

ejercicios modelo relacional servicios de urgencia 15

Por último, la relación entre Personal_sanitario y hospital que hace referencia al personal que trabaja en los hospitales.

Pasará igual que en el anterior, como un sanitario puede trabajar en el mismo hospital en diferentes fechas.

Crearemos un nuevo campo primario y el codigo_sanitario y codigo_hospital serán foráneos.

Mantenemos el codigo del sanitario que apunta a empleado.

ejercicios modelo relacional servicios de urgencia 16

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 17

Formato tabla:ejercicios modelo relacional servicios de urgencia 18

Solución

Formato gráfica:

ejercicios modelo relacional servicios de urgencia 19

Formato tabla:

ejercicios modelo relacional servicios de urgencia 20

Video

https://youtu.be/PJ45lGg_Ryg

Ejercicio 4: Biblioteca de enciclopedias

Empezamos con la relación entre enciclopedia y tomo.

Como la tabla tomo es dependiente de la tabla enciclopedia, añadimos en la tabla tomo el campo ISBN de enciclopedia.

ejercicios modelo relacional biblioteca enciclopedias 1

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 2

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 3

Seguimos con la relación entre Tomo y Armario.

Como es una relación 1:N, las claves identificativas de armario se añadirán a la tabla tomo.

Mantenemos los campos primarios de tomo.

ejercicios modelo relacional biblioteca enciclopedias 4

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 5

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 6

Vamos a continuar con la generalización Persona

Crearemos una tabla por cada entidad, cada uno con sus atributos.

Alumno y Empleado tendrán un campo DNI que será primaria y foránea que apunta a Persona.

Gestion y Mantenimiento tendrán un campo DNI que será primaria y foránea que apunta a Empleado.

ejercicios modelo relacional biblioteca enciclopedias 7

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 8

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 9

Continuamos con la relación entre tarjeta y alumno.

Como la tabla tarjeta es dependiente de la tabla alumno, añadiremos el DNI del alumno a la tabla Tarjeta.

Mantenemos el DNI del alumno que apunta a Persona.

ejercicios modelo relacional biblioteca enciclopedias 10

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 11

Formato tabla:ejercicios modelo relacional biblioteca enciclopedias 12

Continuamos con la relación entre tarjeta y Gestion.

Como es una relación 1:N, añadiremos a la tabla Tarjeta el campo DNI del administrativo.

Mantenemos el DNI del administrativo que apunta a Empleado.

Mantenemos los campos primarios y foráneos de la tabla tarjeta.

ejercicios modelo relacional biblioteca enciclopedias 13

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 14

Formato tabla:ejercicios modelo relacional biblioteca enciclopedias 15

Ahora que hemos avanzando en nuestro modelo relacional, vamos con la relación entre la tarjeta y el tomo.

Como es una relación N:M, crearemos una tabla intermedia con los campos de la relación.

En este caso, podremos fecha como primaria ademas de los campos identificativos de ambas tablas.

Mantenemos los campos primarios y foráneos de la tabla tarjeta y tomo.

ejercicios modelo relacional biblioteca enciclopedias 16

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 17

Formato tabla:ejercicios modelo relacional biblioteca enciclopedias 18

Por último, veamos la relación entre armario y mantenimiento.

Como es una relación N:M, crearemos una nueva tabla con los campos identificativos de ambas tablas.

En este caso, añadiremos un campo primario y los campos identificativos de armario y mantenimiento serán foráneos.

Mantenemos el DNI del administrativo que apunta a Empleado.

ejercicios modelo relacional biblioteca enciclopedias 19

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 20

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 21

Solución

Formato gráfica:

ejercicios modelo relacional biblioteca enciclopedias 22

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 23

Video

https://youtu.be/O28-SojFhK0

Ejercicio 5: Campeonato de ajedrez

Empezaremos con la generalización Participante.

Crearemos una tabla por cada entidad, cada una con sus atributos.

ejercicios modelo relacional campeonato ajedrez 1

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 2

Formato tabla:ejercicios modelo relacional campeonato ajedrez 3

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.

ejercicios modelo relacional campeonato ajedrez 4

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 5

Formato tabla:ejercicios modelo relacional campeonato ajedrez 6

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.

ejercicios modelo relacional campeonato ajedrez 7

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 8

Formato tabla:ejercicios modelo relacional campeonato ajedrez 9

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.

ejercicios modelo relacional campeonato ajedrez 10

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 11

Formato tabla:ejercicios modelo relacional campeonato ajedrez 12

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.

ejercicios modelo relacional campeonato ajedrez 13

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 14

Formato tabla:ejercicios modelo relacional campeonato ajedrez 15

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.

ejercicios modelo relacional campeonato ajedrez 16

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 17

Formato tabla:ejercicios modelo relacional campeonato ajedrez 18

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.

ejercicios modelo relacional campeonato ajedrez 19

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 20

Formato tabla:ejercicios modelo relacional campeonato ajedrez 21

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.

ejercicios modelo relacional campeonato ajedrez 22

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 23

Formato tabla:ejercicios modelo relacional campeonato ajedrez 24

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.

ejercicios modelo relacional campeonato ajedrez 25

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 26

Formato tabla:

ejercicios modelo relacional campeonato ajedrez 27

Solución

Formato gráfica:

ejercicios modelo relacional campeonato ajedrez 27

Formato tabla:ejercicios modelo relacional campeonato ajedrez 28

Video

https://youtu.be/aqLQxQuscwk

Te dejo el video con los ejercicios.

Espero que os sea de ayuda, si tenéis dudas, preguntad, estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539