domingo, 8 de junio de 2008

Formas Normales

Sirva este post tecnico de Bases de Datos Relacionales como apoyo y nunca como unica guia de estudio ya que lo he hecho en 20 minutos y com mis propias palabras.
He intentado ser lo mas claro posible, pero sin dibujos, o ilustraciones es muy complejo.

Suerte a todos con el examen.

NORMALIZACION:

Una relación (R1) no cumple la primera forma normal cuando la PK determina varios valores para un único campo. Esto es, un único campo tiene que contener un único valor, atómico (indivisible).
Para normalizarla se cogen los dos atributos (la PK y el multivaluado) y se sacan a una tabla nueva aparte. En esta tabla (R2) el antiguo PK viajara como FK de la tabla original. El atributo multivaluado ahora solo existira en la tabla R2 y formara una nueva PK en conjunto con la anterior PK2=(PK+Mult).
Este caso es el caso de las relaciones N:M, que son multivaluados y que acaban creando una nueva tabla con una PK compuesta de los dos valores.

Una relación (R1) no cumple la segunda forma normal cuando tiene una PK compuesta por mas de un campo y uno de esos campos por si mismo es capaz de identificar a otro atributo de la relación.
Esto se soluciona sacando a una tabla nueva (R2) la parte que identifica sin necesitar al resto del PK y el atributo o campo que es identificado. En esta tabla nueva, R2, el PK estará compuesto únicamente por el atributo que era parte de la PK de R1. Esta nueva PK sera original, y en R1 ahora aparecerá como una FK a R2.

Una relación (R1) so se encuentra en tercera forma normal cuando un atributo que no sea la PK determina a otro(s).
Para aplicarle la tercera FN hay que sacar el atributo que esta identificando a otro y el que es identificado a una nueva tabla (R2) en la que el identificador pasara a ser PK y el identificado(s) un atributo normal.
En R1 seguira apareciendo el atributo que era identificador pero como FK a R2 ya que este ahora tiene una tabla en la que es único(R2).

FNBC Esta forma normal es una ampliación de la tercera y es la mas complicada de entender. La clave esta en entender que cada atributo determinante tiene que ser PK. Como para llegar hasta la FNBC hemos tenido que aplicar las 3 primeras, solo puede haber dependencias entre PK y IU.
Esto es si un campo del IU o del PK es identificado por otro (del PK o del IU) habrá que sacar estos dos campos a una tabla aparte (R2) y el que identifique sera PK en R2, pero seguirá apareciendo en R1 como FK. Sin embargo el que es identificado ya no aparecerá en R1, y por tanto si formaba parte o era un IU o un a PK, dejara de existir como tal y toda las funciones identificativas pasaran al que quede, ya sea el PK o el IU.
En caso de que el identificador sea el IU pasara a ser PK.

No hay comentarios: