5 ejercicios normalizacion para practicar

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

ejercicios normalizacion 1

Formato gráfica:

ejercicios normalizacion 2

Formato tabla:

ejercicios normalizacion 3

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:

ejercicios modelo relacional asociaciones ongs 13

Formato tabla:

ejercicios modelo relacional asociaciones ongs 14

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:

ejercicios modelo relacional servicios de urgencia 19

Formato tabla:

ejercicios modelo relacional servicios de urgencia 20

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:

ejercicios modelo relacional biblioteca enciclopedias 22

Formato tabla:

ejercicios modelo relacional biblioteca enciclopedias 23

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:

ejercicios modelo relacional campeonato ajedrez 27

Formato tabla:ejercicios modelo relacional campeonato ajedrez 28

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.

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