Es el proceso de elaborar, aplicar y mejorar las
normas que se aplican a distintas actividades científicas, industriales o
económicas con el fin de ordenarlas y mejorarlas. La asociación estadounidense
para pruebas de materiales (ASTM) define la normalización como el proceso de
formular y aplicar reglas para una aproximación ordenada a una actividad
específica para el beneficio y con la cooperación de todos los involucrados.
Según la ISO (International Organization for
Standarization) la normalización es la actividad que tiene por objeto
establecer, ante problemas reales o potenciales, disposiciones destinadas a
usos comunes y repetidos, con el fin de obtener un nivel de ordenamiento óptimo
en un contexto dado, que puede ser tecnológico, político o económico.
La normalización persigue fundamentalmente tres objetivos:
- Simplificación: se trata de reducir los modelos para quedarse únicamente con los más necesarios.
- Unificación: para permitir el intercambio a nivel internacional.
- Especificación: se persigue
evitar errores de identificación creando un lenguaje claro y preciso.
Las elevadas sumas de dinero que los países desarrollados invierten en los organismos normalizadores, tanto nacionales como internacionales, es una prueba de la importancia que se da a la normalización.
Además consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo relacional entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
- Evitar la redundancia de los datos
- Evitar problemas de actualización de los datos en las tablas.
- Proteger la integridad de los datos.
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales.
- No se permiten los duplicados.
- Todos los datos en una columna deben ser del mismo tipos.
Las formas normales son aplicadas a las tablas de una base de datos. Decir que una base de datos está en la forma normal N es decir que todas sus tablas están en la forma normal N. En general, las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos.
PRIMERA FORMA NORMAL (1FN):
Esta primera Forma
Normal, nos lleva a no repetir datos en nuestras tablas. Los famosos maestro –
detalle, deben aplicarse a la estructura de la tabla. Si nuestra tabla de
ventas repite una y otra vez (por cada venta), el nombre, el domicilio y otros
datos del Cliente, es que no hemos aplicado esta Normalizaciòn.Si tenemos una
tabla clientes, en la tabla ventas, solo debería figurar el código del cliente,
para que el resto de los datos se puedan referenciar automáticamente sin
problemas y sin duplicar información. Lo mismo ocurriría en una tabla de
detalle de ventas, si por cada ítem vendido colocamos el detalle del producto,
con su descripción, medidas, entre otros. Tendríamos un desaprovechamiento de espacio y
recursos muy grande. Para ello, tendremos nuestra tabla maestra de Productos y
con solo grabar el código de dicho producto en nuestra tabla de ventas, será suficiente. Una tabla está en Primera Forma Normal si:
SEGUNDA FORMA NORMAL (2FN):
- Todos los atributos son atómicos.
- Un atributo es atómico si los elemento del dominio son indivisibles, mínimos.
- La tabla contiene una llave primaria única.
- No debe existir variación en el número de columnas.
- Los Campos no llave deben identificarse por la llave (Dependencia Funcional)
- Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados
- Una tabla no puede tener múltiples valores en cada columna.
- Los datos son atómicos (a cada valor de X le pertenece un valor de Y viceversa).
- Esta forma normal elimina los valores repetidos dentro de una BD
SEGUNDA FORMA NORMAL (2FN):
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. No se busca NO REPETIR DATOS ?Si toda una
venta tendrá el mismo número de Cliente y la misma Fecha…Por qué 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:
Venta
ID
|
ItemID
|
ProductoId
|
Cantidad
|
1
|
1
|
2334
|
10
|
1
|
2
|
3333
|
2
|
1
|
3
|
66643
|
34
|
1
|
4
|
21
|
3
|
2
|
1
|
3566
|
6
|
Y ahora nuestra nueva tabla maestra
VentaId
|
FechaVenta
|
ClienteVenta
|
1
|
01/12/2007
|
2
|
2
|
02/12/2007
|
5
|
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
TERCERA FORMA NORMAL (3FN):
Ninguna Columna puede depender de una columna que
no tenga una clave. No puede haber datos derivados. En el 2do ejemplo hemos descubierto campos que dependían
de la clave principal (Venta ID) 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. 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 inclusión 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. La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia
funcional transitiva entre los atributos que no son clave.
Ejemplo
de las tablas normalizadas en el sistema actual:
No hay comentarios:
Publicar un comentario