Normalización - Irene-Frias/1DAM GitHub Wiki

1. Normalización

Un esquema relacional que no esté normalizado provoca redundancia que se originan un mayor consumo de espacio en disco y anomalías en las operaciones de actualización (inserción, edición y eliminación).

La redundancia puede provocar grandes problemas en la manipulación de los datos:

  • Problemas de actualización
  • Problemas de inserción
  • Problemas de eliminación

Existen diferentes niveles de normalización: 1FN, 2FN, 3FN, FNBC (FN de Boyce y Codd), 4FN, 5FN y Dominio-Clave. Una relación que está en una forma normal específica está también en la forma normal inmediatamente inferior.

Se considera que un diseño es aceptable si está en 3FN y se garantiza que no hay pérdida de información en el proceso de normalización. Aunque en un esquema normalizado pueden establecerse un número elevado de relaciones y algunas operaciones de consulta en la que pueden obtenerse una combinación excesiva de tablas, disminuyendo la eficiencia en dichas operaciones.

1.1 Dependencia funcional simple

Dados dos atributos X e Y de una relación R, se dice que Y depende funcionalmente de X si, y sólo si, en cualquier instante cada valor de X tiene asociado, en R, un único valor de Y. Se suele denotar como X->Y

1.2 Dependencia funcional plena

Dado un conjunto de atributos X (X1, X2, ..., Xn) y otro atributo Y, se dice que Y tiene dependencia funcional plena de X si Y depende de X y no se puede encontrar ningún subconjunto de X del que dependa Y.

1.3 Primera forma normal

Una relación cuando esta en primera forma normal (1FN), cuando cumple la condición de los dominios, en los que contienen los valores que sean conjuntos sino los que sean valores escalares.

Es decir, toda tabla que cumpla las condiciones del modelo relacional en todas las bases de dtos, en las que debería estar en esta forma normal.

1.4 Segunda forma normal

Una relación cuando esta en segunda forma normal (2FN), si además de estar en 1FN, cualquier atributo que no forme parte de la clave primaria tenga dependencia funcional plena con la clave primaria.

Si la clave primaria de la relación no está compuesta por la relación, automáticamente pasa a estar en segunda forma normal (2FN). Es decir que intenta hacer que todos los atributos de la relación dependan de toda la clave principal. Si dependen solamente de una parte, quiere decir que hay un problema.

Para solucionarlo, se cogen los atributos que solo dependen de parte de la clave y los mueven a otra nueva relación que sólo contendrá los atributos parcialmente independientes y la parte principal de la que dependen. Esa parte será la principal de la nueva relación.

1.5 Tercera forma normal

Una relación cuando esta en tercera forma normal (3FN), su está en 2FN y además ninguno de los atributos que no forman parte de la clave primaria tiene dependencias transitivas con respecto a la clave de la relación.

Es decir, que hay atributos que dependen de atributos que no forman parte de la clave primaria. Para solucionar el problema se mueve el atributo dependiente y el intermedio a otra nueva relación en la que el intermedio a otra relación en el intermedio será clave primaria.