Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mac en 14 de Marzo 2015, 18:16
-
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
-
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
-
:) 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 ! :-\
-
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
-
Muchísimas Gracias Ogramar :D.. Ya esta lista y bien normalizada la tabla. Salud2 ;)
-
MUCHAS GRACIAS!!!!!!!! HAN PASADO MUCHOS AÑOS DE ESTE TEMA PERO HOY AÚN ME SIRVE !! SE LOS AGRADEZCO!! ::)