martes, 13 de marzo de 2012

Normalización de Bases de Datos


POLÍTICAS DE NORMALIZACION DE BASES DE DATOS
El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo 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.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
  •      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 tipo.
La normalización de bases de datos otorga consistencia y elimina posibles anomalías lógicas de un modelo. Existen varias formas normales, cada una numerada, de forma que para subir a un nivel superior de una forma normal debes haber pasado por el anterior, es decir, no puedes tener un modelo en 2NF si no está en 1NF. Existen 5 formas normales, y además una extra que es una versión más fuerte de la tercera.
- Primera Forma Normal, 1NF: En la mayoría de casos la simplifican diciendo que  todos los atributos deben ser atómicos, y no multivaluados. Esto es cierto en tanto en cuanto el resto de reglas son implícitas de los sistemas de gestión de bases de datos. Pero las reglas completas son las siguientes:
  •      No hay orden de arriba-a-abajo en las filas, es decir, el orden de las tuplas no importa para la información.
  •      No hay orden de izquierda-a-derecha en las columnas, es decir, el orden de las columnatas no importa para la información.
  •      No hay filas duplicadas.
  •      Cada atributo tiene un único dominio aplicable y un único valor de dicho dominio, y aun más allá, la solución a esto no es crear nuevos atributos para contemplar posibles valores de la multivaluación.
Vamos a explicarlo de manera sencilla. Supongamos una entidad “Persona” que contiene una clave primaria, nombre, apellido y teléfono. Pero claro, una persona puede tener múltiples teléfonos de contacto, así que podríamos pensar en utilizar el campo teléfono para meter varios separados por coma
Segunda Forma Normal 2NF: Una tabla está en 2NF si está en 1NF y además dada cualquier clave candidata y cualquier atributo que no sea de la clave candidata,, el atributo depende de toda la clave y no solamente de parte de ella.
Tercera Forma Normal, 3NF: Una tabla está en 3NF si está en 2NF y además todos los atributos dependen directamente de la clave candidata sin que existan dependencias transitivas a través de cualquier otro atributo que no pertenezca a la clave.
Forma Normal Boyce-Codd, BCNF o 3.5NF: Es una versión más fuerte de la 3NF. Requiere que si un atributo no pertenece a la clave candidata, dicho atributo debe depender de la clave candidata completa y de nada más que de la clave candidata completa. Si una tabla está en 3NF, tiene varias claves candidatas compuestas y éstas tienen algún atributo en común, no está en BCNF.
Cuarta Forma Normal, 4NF: Una tabla está en 4NF si está en 3NF y no posee dependencias multivaluadas no triviales. Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia, y es esta redundancia la que es suprimida por la cuarta forma normal. Siempre es posible llegar a 4NF, pero no siempre es deseable a nivel de desarrollo.
Quinta Forma Normal, 5NF: También se la conoce como forma normal de proyección-unión (PJ/NF). Una tabla está en 5NF si está en 4NF y cada dependencia de unión en ella es implicada por las claves candidatas.




Fuente:
http://metamodel.wordpress.com/2011/03/09/normalizacion-de-bases-de-datos-relacionales/

Cómo siempre digo. Espero les sea de utilidad esta información. Saludos.

No hay comentarios:

Publicar un comentario