guia ejercicos
Aplicar las reglas de normalización los siguientes ejercicios.
1. ordenes (id_orden, fecha, id_cliente, nom_cliente, estado, num_art, nom_art, cant, precio)
Ordenes
Id_orden
Fecha
Id_cliente
Nom_cliente
Estado
Num_art
nom_art
cant
Precio
2301
23/02/11
101
Martin
Caracas
3786
Red
3
35,00
2301
23/02/11
101
Martin
Caracas
4011
Raqueta
6
65,00
230123/02/11
101
Martin
Caracas
9132
Paq-3
8
4,75
2302
25/02/11
107
Herman
Coro
5794
Paq-6
4
5,00
2303
27/02/11
110
Pedro
Maracay
4011
Raqueta
2
65,00
2303
27/02/11
110
Pedro
Maracay
3141
Funda
2
10,00
PRIMERA FORMAL NORMAL (1FN)
Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido para NUM_ART, NOM_ART, CANT y PRECIO. La 1FNprohíbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma normal. Los pasos a seguir son:
Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y ARTICULOS_ORDENES
ordenes (id_orden, fecha, id_cliente, nom_cliente, estado)Articulos_ordenes (id_orden, num_art, nom_art, cant, precio)
Ordenes
Id_orden
Fecha
Id_cliente
Nom_cliente
Estado
2301
23/02/11
101
Martin
Caracas
2302
25/02/11
107
Herman
Coro
2303
27/02/11
110
Pedro
Maracay
Articulos_ordenes
Id_orden
Num_art
nom_art
cant
Precio
2301
3786
Red
3
35,00
2301
4011
Raqueta
6
65,00
2301
9132
Paq-3
8
4,75
2302
5794Paq-6
4
5,00
2303
4011
Raqueta
2
65,00
2303
3141
Funda
2
10,00
SEGUNDA FORMAL NORMAL (2FN)
Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos a seguir son:
Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla.
Eliminaresas columnas de la tabla base.
Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen.
La tabla ORDENES está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN.
Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que lascolumnas PRECIO y NOM_ART son dependientes de NUM_ART, pero no son dependientes de ID_ORDEN. Lo que haremos a continuación es eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la llave primaria de la que dependen.
Las tablas quedan ahora de la siguiente manera.
Articulos_ordenes (id_orden, num_art, cant)
Articulos_ordenes
Id_ordenNum_art
cant
2301
3786
3
2301
4011
6
2301
9132
8
2302
5794
4
2303
4011
2
2303
3141
2
Articulos ( num_art, nom_art, precio)
Articulos
Num_art
nom_art
Precio
3786
Red
35,00
4011
Raqueta
65,00
9132
Paq-3
4,75
5794
Paq-6
5,00
3141
Funda
10,00
TERCERA FORMAL NORMAL (3FN)
La tercera forma normal nos dice que tenemos que eliminar cualquier columna nollave que sea dependiente de otra columna no llave. Los pasos a seguir son:
Determinar las columnas que son dependientes de otra columna no llave.
Eliminar esas columnas de la tabla base.
Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes.
Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, como la tablaARTICULOS_ORDENES se encuentran en 3FN. Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave primaria.
Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablas CLIENTES y ORDENES se muestran a continuación.
ordenes...
Regístrate para leer el documento completo.