lunes, 21 de diciembre de 2015

LA TERCERA FORMA NORMAL

En realidad si nos guiamos en el ejemplo de esta nota, ya no quedaría normalización por aplicar y podríamos decir que nuestro ejemplo cumple con las 3 formas normales, ya que la 3ra Forma Normal nos habla de que:

  1. Ninguna Columna puede depender de una columna que no tenga una clave
  2. No puede haber datos derivados
En el 2do ejemplo hemos descubierto campos que dependían de la clave principal (VentaID) y que podrían incluirse en una tabla maestra. Pero supongamos un ejemplo donde ciertas columnas no dependen de la clave principal y si dependen de una columna de nuestra tabla.

 VentaID
ItemID 
ProductoID 
Cantidad 
Descripción 
Medida 
Proveedor 
 1
3455 
12 
Impresora HP LJ8000 
122cm 
 1
2455 
34 
Scanner HP A3555 
33cm 
 2
1
5444 
21 
Mouse HP Wireless 
– 


Esto es muy normal encontrar en bases mal normalizadas. Vemos que los campos DESCRIPCION, MEDIDA y PROVEEDOR no dependen de VENTAID y es por ello que no deberían estar dentro de la tabla de detalle de ventas, ya que dependen de PRODUCTOID. Aquí no se trata ya de eliminar grupos repetidos de datos (1ra Forma Normal) sino que ante la inclusion de una clave perteneciente a otra tabla, cualquier campo que sea subordinado de dicha clave debe estar en otra tabla y no en nuestra tabla detalle.

LINKCOGRAFIA: https://cvva.wordpress.com/2007/12/04/normalizacion-de-bases-de-datos-las-3-formas-normales/

LA SEGUNDA FORMA NORMAL

(Si o si debe estar previamente aplicada la Primera Forma Normal) La Segunda Forma Normal nos habla de que cada columna de la tabla debe depender de la clave. Esto significa que todo un registro debe depender únicamente de la clave principal, si tuviéramos alguna columna que se repite a lo largo de todos los registros, dichos datos deberían atomizarse en una nueva tabla. Veamos un ejemplo:


 VentaID
ItemID 
FechaVenta 
ClienteVenta 
ProductoId 
Cantidad 


1

 01/12/2007


2334 

10 



 01/12/2007

2

3333




 01/12/2007

2

66643 

34 



 01/12/2007


21 



 1

 02/12/2007


3566 


Ahí tenemos un claro problema. Acaso no se busca NO REPETIR DATOS. Si toda una venta tendrá el mismo número de Cliente y la misma Fecha…Por que no crear una Tabla de MAESTRO DE VENTAS y que contenga esos 2 datos .Es evidente que la columna ClienteVenta y FechaVenta se repetirán por cada venta realizada. Es por ello que proponemos el siguiente esquema 


 VentaID
ItemID 
ProductoId 
Cantidad 


1

2334 

10 



3333




66643 

34 



21 



 1

3566 


Y ahora nuestra nueva tabla maestra

VentaId 
FechaVenta 
ClienteVenta 


1

01/12/2007 

2



02/12/2007 



Entonces, nuestra 2da Forma Normal nos habla de que cada columna de una tabla debe depender de toda la clave y no constituir un dato único para cada grupo de registros.


LINKCOGRAFIA: https://cvva.wordpress.com/2007/12/04/normalizacion-de-bases-de-datos-las-3-formas-normales/