La normalizacion
La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes.
Normalización es un conjunto de reglas que sirven paraayudar a los diseñadores a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataba de manipular los datos.
El proceso de normalización es unestándar que consiste, básicamente, en un proceso de conversión de las relaciones entre las entidades, evitando:
* La redundancia de los datos: repetición de datos en un sistema.
* Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
* Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borradootros datos.
* Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
Primera forma normal (1FN)
Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada uno de los campos contiene un único valor para un registro determinado.
Todos los atributos deben ser atómicos.
La regla de la Primera Forma Normal estableceque las columnas repetidas deben eliminarse y colocarse en tablas separadas.
Ejemplo:
Caso 1: Dominios y valores
Suponga que un diseñador principiante desea guardar los nombres y los números telefónicos de los clientes. Procede a definir una tabla de cliente como la que sigue:
Cliente
ID_Cliente | Nombre | Apellido | Telefono |
123 | Maria | Lopez | 989541234 |
456 | Jose | Bejar |947562315 |
789 | Pedro | Perez | 975145471 |
En este punto, el diseñador se da cuenta de un requisito para guardar múltiples números telefónicos para algunos clientes. Razona que la manera más simple de hacer esto es permitir que el campo "Teléfono" contenga más de un valor en cualquier registro dado:
Cliente
ID_Cliente | Nombre | Apellido | Telefono |
123 | Maria | Lopez | 989541234 |456 | Jose | Bejar | 947562315987451447 |
789 | Pedro | Perez | 975145471 |
Caso 2: Grupos repetidos a través de columnas
El diseñador puede evitar esta restricción definiendo múltiples columnas del número telefónico
ID_Cliente | Nombre | Apellido | Telefono 1 | Telefono 2 | Telefono 3 |
123 | Maria | Lopez | 989541234 | | |
456 | Jose | Bejar | 947562315 | 987451447 | |
789 | Pedro| Perez | 975145471 | | |
Sin embargo, esta representación hace uso de columnas que permiten valores nulos, y por lo tanto no se conforman con la definición de la 1NF de Date. Incluso si se contempla la posibilidad de columnas con valores nulos, el diseño no está en armonía con el espíritu de 1NF. Teléfono 1, Teléfono 2, y Teléfono 3, comparten exactamente el mismo dominio y exactamente elmismo significado; el dividir del número de teléfono en tres encabezados es artificial y causa problemas lógicos.
Cliente Teléfono
ID_Cliente | Nombre | Apellido |
123 | Maria | Lopez |
456 | Jose | Bejar |
789 | Pedro | Perez |
ID_Cliente | Telefono |
123 | 989541234 |
456 | 947562315 |
456 | 987451447 |
789 | 975145471 |
En este diseño no ocurren gruposrepetidos de números telefónicos. En lugar de eso, cada enlace Cliente-a-Teléfono aparece en su propio registro. Es valioso notar que este diseño cumple los requerimientos adicionales para la segunda (2NF) y la tercera forma normal (3FN).
Segunda forma normal (2NF)
La segunda forma normal compara todos y cada uno de los campos de la tabla con la clave definida. Ocurre si una tabla esta en...
Regístrate para leer el documento completo.