Autor Tema: Grados de Normalización en bases de datos (formas normales 1FN, 2FN, 3FN) reglas  (Leído 10518 veces)

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Hola comunidad me encuentro estudiando bases de datos y estoy haciendo el ejercicio que incluyo al final. Quisiera saber si me pueden ayudar, teniendo en cuenta estos conceptos que he logrado entender

------------------------------------ // ------------------------------------------

El tema que estudio es Grados de Normalización en bases de datos

Existen básicamente tres niveles de Normalización:

Primera Forma Normal (1NF),Segunda Forma
Normal (2NF) y Tercera Forma Normal (3NF). Cada una de estas formas tiene sus propias reglas. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización, puede llevar a un nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de nacionalización.

Cada una de las tres reglas dice a si :

Primera Forma Normal (1FN) Incluye la eliminación de todos los grupos repetidos.

Segunda Forma Normal (2FN) Asegura que todas las columnas que no son llave sean Regla Descripción

Tercera Forma Normal (3FN) Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas.

--------------------------------------// -------------------------------------

Quisiera que me ayudaran aplicar bien esas reglas a el ejercicio adjunto donde esta la tabla.

Yo lo he realizado todo pero no se si esta correctamente bien aplicada las 3 reglas. Gracias por su ayuda.

--------------------------------------// -------------------------------------

CONSIGNA DEL EJERCICIO TALLER NORMALIZACION BASES DE DATOS

Llevar hasta la tercera forma la tabla del siguiente ejercicio:

Cod_Actividad;Nombre_Actividad;DNI_Monitor;Nombre_Monitor;Sala;Fecha;Hora_I;Hora_F
1;Pilates;54332221;J. Luis Hernández;Pabellón polideportivo;09/09/2007;10:00;11:00
2;Fitness;65434527;P. García;Pabellón polideportivo;09/09/2007;10:00;11:00
1;Pilates;54332221;J. Luis Hernández;Pabellón polideportivo;11/09/2007;9:30;11:00
1;Pilates;54332221;J. Luis Hernández;Pabellón polideportivo;15/09/2007;12:00;13:00
3;Yoga;65434527;P. García;Sala multiusos;15/09/2007;9:00;10:00
4;Gimnasia;54332221;J. Luis Hernández;Sala Musculación;01/10/2007;12:00;13:00
3;Yoga;65434527;P. García;Sala multiusos;15/09/2007;11:00;12:00
4;Gimnasia;45673214;Ana Sanz;Pabellón polideportivo;01/10/2007;12:00;14:00
2;Fitness;45673214;Ana Sanz;Pabellón polideportivo;09/09/2007;10:00;11:00
1;Pilates;65434527;P. García;Sala multiusos;09/09/2007;10:00;12:00
« Última modificación: 12 de Marzo 2022, 18:07 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Hola, la tabla que presentas adjunta tiene estas columnas:

Cod_Actividad   Nombre_Actividad   DNI_Monitor   Nombre_Monitor   Sala   Fecha   Hora_I   Hora_F


Ejemplos de valores de una fila:

01   Pilates   54332221   J. Luis Hernández   Pabellón polideportivo   9/9/2007   10:00   11:00

En esta representación no hay grupos repetidos. Constituirían grupos repetidos alguna de estas situaciones:

Poner valores no atómicos para datos de columnas, por ejemplo una lista de profesores separadas por coma no es atómica

01   Pilates   54332221   J. Luis Hernández, A. Pérez   Pabellón polideportivo   9/9/2007   10:00   11:00

Poner columnas que son enumeraciones o valores n-ésimos de otras columnas, por ejemplo:

Cod_Actividad   Nombre_Actividad   DNI_Monitor_1   DNI_Monitor_2   Nombre_Monitor_1   Nombre_Monitor_2      Sala   Fecha   Hora_I   Hora_F


Esta situación no se produce en la tabla, luego la tabla ya está en primera forma normal.

Salu2

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
 :) Hola Ogramar !! y muchísimas gracias por responder a mi ayuda !. ;)

Entiendo lo que me dices, pero mi tabla esta bien o mal ?

Quisiera que me ayudaras a corregir las 3 reglas de aplicación, en el archivo adjunto por que me siento enredado !  :-\ 

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Paso al análisis de la segunda forma normal. Una relación está en segunda forma normal o 2FN si está en primera forma normal y los atributos que no son clave primaria ni candidata dependen funcionalmente y de manera completa de la clave primaria.

No puede haber grupos de atributos que dependan de la clave primaria y otros que dependan de una clave candidata.

La tabla que se plantea en el ejercicio es una tabla donde aparecen actividades con un código de actividad y un nombre de actividad, e información asociada a dicha actividad (dni de monitores para esa actividad, nombre de monitores para esa actividad, sala donde se imparte, fecha, hora de inicio, hora de finalización).

Yo lo plantearía así: Supongamos (como podría ser) que la clave primaria es el código de actividad. ¿Depende el nombre de actividad funcionalmente y de manera completa de la clave primaria? Sí, luego se mantiene.

¿Depende el dni de monitor funcionalmente y de manera completa de la clave primaria? No, luego creamos una nueva tabla a la que llamaremos monitores que constará de estos campos:

DNI_Monitor, Nombre_Monitor. En esta tabla o bien introducimos un id monitor o bien usamos el dni_monitor como clave primaria. Voy a optar por introducir un id_monitor.

¿Depende la sala funcionalmente y de manera completa de la clave primaria? Entendemos que no (por ejemplo podría haber un cambio de salas).

Creamos otra tabla denominada salas con los siguientes atributos:

id_sala, nombre_Sala

La fecha, hora de inicio y hora de fin tampoco dependen de la clave primaria.

Creamos otra tabla con:

id_actividad_fecha, fecha, Hora_I, Hora F.

Ahora en segunda forma normal tendríamos estas tablas:

Tabla actividades: Cod_actividad, Nombre_actividad

Tabla monitores: DNI_Monitor, Nombre_Monitor.

Tabla salas: id_sala, nombre_Sala

Tabla actividad_fecha: id_actividad_fecha, fecha, Hora_I, Hora F.

Salu2

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Muchísimas Gracias Ogramar  :D.. Ya esta lista y bien normalizada la tabla. Salud2  ;)

ervidread

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Re: Grados de Normalización en bases de datos (formas normales 1FN, 2FN, 3FN)
« Respuesta #5 en: 09 de Diciembre 2021, 20:31 »
MUCHAS GRACIAS!!!!!!!! HAN PASADO MUCHOS AÑOS DE ESTE TEMA PERO HOY AÚN ME SIRVE !! SE LOS AGRADEZCO!!   ::)
« Última modificación: 12 de Marzo 2022, 18:07 por Ogramar »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".