domingo, 13 de julio de 2014

NORMALIZACION


. Objetivos
. Respecto a los datos: Reducir inconsistencias y redundancias de los datos, evitar anomalías en sus manipulaciones, y reducir el impacto en sus cambios
. Facilitar el mantenimiento de los datos y programas
. Conceptos básicos de dependencia funcional de atributos de la misma entidad
. Dependencia funcional
. B depende funcionalmente de A (se representa AàB) si cada valor de A se corresponde con un único valor de B
. Es decir, dado A puedo obtener B
. P.e. si dado un DNI puedo obtener el nombre de la persona con ese DNI: DNI à Nombre
. Dependencia funcional completa
. B tiene dep. func. completa de un grupo de atributos A, si depende funcionalmente de A, pero no de ningún subcjto de A
. Es decir, A es el mínimo cjto de atributos de los que depende B (si se añade/quita algún atributo, B ya no depende func.)
. P.e. si una empresa tiene empleados, y una persona puede ser empleado de varias empresas, hay varias dependencias:
  . Para saber el sueldo de un empleado, necesitamos saber a qué empresa pertenece, es decir, el sueldo depende del DNI y del identificador de la empresa: DNI.EMPRESAàSUELDO es una dependencia funcional total
  . Nombre depende funcionalmente de DNI y de Empresa (DNI.EMPRESAàNOMBRE), pero esta dependencia NO es total, porque en realidad también se puede identificar totalmente al empleado solo a través del DNI: DNIàNOMBRE
. Dependencia transitiva de tres atributos (o grupo de atributos) A, B y C de una relación; C dependerá transitivamente de A si…
. B depende funcionalmente de A
. C depende funcionalmente de B
. A no depende funcionalmente de B
P.e. DNIàNOMBRE, y NOMBREàDIRECCIÓN, por tanto, DNIàDIRECCIÓN
. Procedimiento de Normalización
. Relación en 1ª Forma Normal (1FN): una entidad está en 1FN si..
. Sus atributos contienen valores atómicos
. Es decir, no contiene grupos repetitivos (*)
(*) Ningún atributo puede tomar más de 1 valor
. Todos los atrib’s dependen funcionalmente de la clave
Si un atributo A viola la condición de 1FN, tenemos dos opciones..
. Duplicar registros con valores repes*
(*) Añadiendo a clave valores no repes
. Separar el atrib A a otra tabla (**)
(*) La clave se “arrastra” a la otra tabla
. Relación en 2ª Forma Normal (2FN): una entidad está en 2FN si..
. Está en 1FN
. Todo atrib no clave tiene dep. func. completa de clave
. I.e.,para determinar atrib no clave no valen ”subclaves”
Para grupos de atributos A con dep. incompleta ..
1.Eliminar de la relación el atrib A
2.Nueva relación con A y parte de clave
3.Clave en nueva relación es esa parte
. 2FN se aplica a relaciones con claves de más de 2 atribsàUna relación 1FN con clave simple (1 atrib), siempre es 2FN
. En general, tendremos que observar atributos no clave que puedan depender de parte de la clave
. Relación en 3ª Forma Normal (3FN): una entidad está en 3FN si..
. Está en 2FN
. Todo atrib no clave no depende transitivamente de clave
. I.e.,cada atrib de la entidad depende solo de la clave
Dado 2FN,las dependencias func entre atributos no clave,son problemas 3FN: los separamos a tabla(s) adicional(es); la clave allí será el atributo que define la transitividad

No hay comentarios:

Publicar un comentario