Hola a todos, hoy os voy a dejar5 ejercicios normalizacion para practicar en base de datos.
Antes de empezar, recuerda que tienes el curso completo de modelo entidad relacion en este post:
https://discoduroderoer.es/curso-de-normalizacion-de-base-de-datos-1fn-2fn-y-3fn
Contenido de los ejercicios
Realizamos los siguiente 5 ejercicios de diferentes temáticas transformando los ejercicios que hicimos en su día de modelo relacional.
https://discoduroderoer.es/5-ejercicios-para-practicar-modelo-relacional
Te dejo el Github con todo el contenido: https://github.com/DiscoDurodeRoer/curso-disenio-base-de-datos
Ejercicio 1: Alquiler de vehículos

Formato gráfica:

Formato tabla:
1FN
Todos los campos son atómicos y cada tabla tiene su clave primaria.
2FN
Todas las tablas están en 1FN.
No existen dependencias parciales.
3FN
Todas las tablas están en 2FN.
No existen dependencias transitivas.
Solución
Se queda igual que al principio.
Video
Ejercicio 2: Asociaciones de ONGs

Formato gráfica:

Formato tabla:
1FN
Todos los campos son atómicos y cada tabla tiene su clave primaria.
2FN
Todas las tablas están en 1FN.
No existen dependencias parciales.
En la tabla Asociacion_socio si la cuota_mensual fuera siempre la misma para cada asociación, la 2FN no se cumpliría.
3FN
Todas las tablas están en 2FN.
La tabla proyecto no cumple 3FN porque hay una dependencia transitiva entre zona y pais.
Siempre que pongamos una zona, por ejemplo Andalucia, pondremos como pais España.
Crearíamos una nueva tabla con los campos zona y pais. Para mejorarlo, crearemos un código de zona.
En la tabla proyecto, eliminamos el campo pais y zona. Añadimos un campo codigo_zona foráneo.
Formato grafica:
Formato tabla:
Solución
Formato grafico:
Formato tabla:
Video
Ejercicio 3: Servicios de urgencia

Formato gráfica:

Formato tabla:
1FN
En la tabla ambulancia, tenemos el campo multivaluado instrumental_medico que pueden contener varios valores.
Crearemos una tabla instrumental con todos los instrumentales medicos. Tendremos un código (primario) y un nombre.
Crearemos una tabla ambulancia_instrumental como una tabla intermedia entre ambulancia e instrumental.
En la tabla ambulancia, quitaremos el campo instrumental_medico.
Formato grafica:
Formato tabla:

En la tabla hospital, tenemos el campo multivaluado especialidades que puede contener varios valores.
Crearemos una tabla especialidad con todos las especialidades. Tendremos un codigo (primario) y un nombre.
Crearemos una tabla hospital_especialidad como una tabla intermedia entre especialidad y hospital.
En la tabla hospital, quitaremos el campo especialidades.
Formato grafica:

Formato tabla:
2FN
Todas las tablas están en 1FN.
No existen dependencias parciales.
En todas las relaciones N:M, hemos creado un campo adicional, haciendo que automaticamente cumpla 2FN.
3FN
En la tabla hospital, tenemos los campos provincia, localidad y cod_postal que tienen una dependencia transitiva.
Cada vez que pongamos un cod_postal concreto, la localidad y provincia siempre será la misma.
Crearemos una nueva tabla con el código postal, la localidad y la provincia.
En la tabla hospital quitaremos los campos localidad y provincia. El campo cod_postal será foráneo.
Formato grafica:

Formato tabla:
Solución
Formato grafica:

Formato tabla:
Video
Ejercicio 4: Biblioteca de enciclopedias

Formato gráfica:

Formato tabla:
1FN
En la tabla enciclopedia tenemos el campo autor que es multivaluado, por lo que no cumple la 1FN.
Crearemos una nueva tabla con el autor y el ISBN. Ambos será primarios e ISBN será foráneo.
Eliminamos el campo autor de la tabla enciclopedia.
Formato grafica:

Formato tabla:
2FN
En la tabla tarjeta, tenemos que los campos precio y max_consultas dependen del tipo_acceso, no del DNI_alumno, existe dependencia parcial.
Crearemos una tabla nueva con el tipo_acceso, precio y max_consultas. El campo tipo_acceso sera primario y foráneo.
Los campos precio y max_consultas se eliminarán en la tabla tarjeta.
Formato grafica:

Formato tabla:
3FN
En la tabla enciclopedia tenemos los campos editorial y pais_editorial, pais_editorial depende de editorial no del ISBN.
Crearemos una nueva tabla, donde tengamos la editorial y con su pais.
Para mejorarlo, vamos a ponerle un código propio a la editorial.
Formato grafica:

Formato tabla:
Solución
Formato grafica:

Formato tabla:
Video
Ejercicio 5: Campeonato de ajedrez

Formato gráfica:

Formato tabla:
1FN
En la tabla sala tenemos el campo medios que es multivaluado.
Crearemos una nueva tabla con el código de la sala y el medio.
En este caso, también podemos crear una tabla medio para listar todos los medios disponibles.
El campo medios lo eliminamos de la tabla Sala.
Formato grafica:

Formato tabla:

En la tabla movimientos tenemos el campo multivaluado movimientos.
Crearemos una nueva tabla con los campos codigo_partida, codigo y movimento.
Eliminamos el campo movimientos de la tabla movimientos.
Formato grafica:

Formato tabla:
2FN
Todas las tablas están 1FN.
No tenemos dependencias parciales.
3FN
Todas las tablas están 2FN.
No tenemos dependencias transitivas.
Solución
Formato grafica:

Formato tabla:
Video
Te dejo el video con los ejercicios.
Espero que os sea de ayuda, si tenéis dudas, preguntad, estamos para ayudarte.
Deja una respuesta