04_FormasNormales-4-5-2013

36
Proceso de Normalización Formas Normales 2013

Transcript of 04_FormasNormales-4-5-2013

  • Proceso de Normalizacin

    Formas Normales

    2013

  • Proceso de normalizacin En el proceso de normalizacin, segn la propuesta de Codd, se somete un esquema de relacin a una serie de

    pruebas para certificar si pertenece o no a una cierta

    forma normal.

    En principio, Codd propuso tres formas normales:

    Primera forma normal 1FN

    Segunda forma normal 2FN

    Tercera forma normal 3FN

    Boyce y Codd propusieron una definicin ms estricta de la 3FN a la que se conoce como:

    BCFN Ms adelante se propusieron una cuarta FN (4FN) y una

    quinta FN (5FN), fundamentadas en las DF

    multivualuadas y dependencias de reunin.

  • Introduccin a la normalizacin

    La normalizacin de los datos puede considerarse

    como un proceso durante el cual los esquemas de

    Relacin insatisfactorios se descomponen proyectando sus

    atributos entre esquemas de relacin ms pequeos.

    Las FN proveen a los diseadores de BD lo siguiente:

    Un marco formal para analizar los esquemas de relacin con base en sus claves y en las DF funcionales entre sus

    atributos.

    Una serie de pruebas que pueden efectuarse sobre esquemas de relacin individuales para determinar el grado de normalizacin deseado. Cuando una prueba

    falla, la relacin debe descomponerse en relaciones que individualmente satisfagan las pruebas. 2013

  • Introduccin a la normalizacin

    Las Formas Normales no garantizan un buen diseo de Base de Datos.

    El proceso de normalizacin por descomposicin debe

    confirmar la existencia de 2 propiedades de los esquemas de Base de Datos.

    La propiedad de reunin sin prdida o reunin no aditiva,

    que garantiza que no se presentar el problema de las tuplas esprias.

    La propiedad de conservacin de las dependencias, que asegura que todas las dependencias funcionales estn

    representadas en algunas de las relaciones individuales resultantes.

    2013

  • Introduccin a la normalizacin

    Las bases de datos no tienen porque normalizarse hasta la FN ms alta. Las relaciones pueden dejarse

    en FN inferiores por razones de rendimiento. Recordar que las llamadas anomalas se presentan con altas, bajas y modificaciones, si es esttica no

    se beneficia con la normalizacin.

  • 6

    Relaciones en 5FN

    Relaciones en 4FN

    Relaciones en FNBC

    Relaciones en 3FN

    Relaciones en 2FN

    Relaciones normalizadas

    Relaciones

    Formas normales

  • Formas normales basadas en claves primarias

    La utilidad prctica de las formas normales queda en entredicho cuando las restricciones en las que se basan son difciles de entender o de detectar por parte de los diseadores de bases de datos y usuarios que deben descubrir estas restricciones.

    Otro punto que se debe destacar es que los

    diseadores de bases de datos no tienen que normalizar hasta la forma normal ms alta posible.

    Las relaciones pueden dejarse en formas normales

    inferiores por razones de rendimiento. 2013

  • Formas normales basadas en claves primarias

    Primera forma Normal (1FN) La 1FN se considera parte de la definicin de un esquema de

    relacin en el modelo relacional. Esta en principio fue definida para prohibir los atributos

    multivaluados, los atributos compuestos y sus combinaciones.

    La 1FN establece que los dominios de los atributos deben incluir slo valores atmicos (simples,

    individuales). La 1FN prohbe tener un conjunto de valores, como valor de un

    atributo. 2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    dependencia funcional total

    dependencia funcional parcial

    atributo primo

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    La segunda forma normal se basa en el concepto de dependencia funcional total.

    Una dependencia funcional X Y es una dependencia funcional total si la eliminacin de cualquier atributo A de X hace que la dependencia deje de ser vlida.

    Es decir, para cualquier atributo A X,

    (X { A } ) Y 2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    Una dependencia funcional X Y es una

    dependencia parcial si es posible eliminar un

    atributo A X y la dependencia sigue siendo vlida.

    Es decir, para algn atributo A X,

    (X { A }) Y

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    Ejemplo:

    NSS, NmeroP Horas

    Es una dependencia total, porque no se cumple

    NSS Horas NO

    Nmero Horas NO

    Sin embargo, la dependencia funcional

    NSS, NmeroP NombreE

    Es una dependencia parcial, porque se cumple que

    NSS NombreE SI

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    Otro concepto a definir es el de atributo primo.

    Un atributo del esquema de relacin R se denomina atributo primo

    de R si es miembro de cualquier clave de R.

    Ejemplo:

    Para el esquema de relacin

    Trabaja_En (NSS, NmeroP, horas)

    La clave es NSS, NmeroP

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    NSS es atributo primo y

    NmeroP es atributo primo, ambos son parte de la

    clave.

    Horas es un atributo no primo, porque no participa en

    ninguna clave.

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    Un esquema de relacin R est en 2FN si todo atributo no primo A en R depende funcionalmente de manera total de la clave primaria de R.

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN)

    Ejemplo:

    EMP-PROY (NSS, NmeroP, horas, NombreE, NombreP, LugarP)

    F = { NSS, NmeroP Horas

    NSS NombreE NO

    NmeroP NombreP NO

    NmeroP LugarP } NO

    Las dependencias marcadas con NO, dependen parcialmente de la clave

    primaria NSS, NmeroP

    2013

  • Formas normales basadas en claves primarias

    Segunda forma Normal (2FN)

    Entonces hay que descomponer el esquema Empl_Proy en

    los siguientes esquemas:

    EP1 ( NSS, NmeroP, Horas )

    EP2 ( NSS, NombreE )

    EP3 ( NmeroP, NombreP, LugarP )

    2013

  • Formas normales basadas en claves primarias

    Segunda forma normal (2FN) Y sus correspondientes conjuntos de dependencias funcionales. FEP1 = { NSS, NmeroP Horas } FEP2 = { NSS NombreE } FEP3 = { NmeroP NombreP NmeroP LugarP }

    Donde EP1, EP2, EP3 se encuentran en 2FN

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    dependencia transitiva

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    La tercera forma normal se basa en el concepto de

    dependencia transitiva.

    Una dependencia funcional X Y en un esquema de relacin R es

    una dependencia transitiva si existe un conjunto de atributos Z que no sea subconjunto de cualquier clave de R, y se cumplen tanto

    X Z como Z Y, y adems Z X

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    Ejemplo: EMP-DEPT (NomE, NSS, FechaN, Direc, NmD, NomD, NSSG )

    F = { NSS NomE

    NSS FechaN

    NSS Direc

    NSS NmD

    NmD NomD NO

    NmD NSSG } NO

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    La dependencia NSS NSSG es transitiva a travs de

    NmD, porque se cumplen las dos dependencias

    NSS NmD y NmD NSSG y adems no es un

    subconjunto de la clave.

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    Un esquema de relacin R est en 3FN, si est en 2FN y ningn atributo no primo de R depende transitivamente de la clave

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    Si tomamos el esquema EMP-DEPT est en 2NF, no existen dependencias parciales respecto a la clave primaria.

    Pero no est en 3FN porque existen dependencias transitivas. Descomponemos el esquema EMP-DEPT en dos esquemas que se

    encuentran en 3FN. ED1 (NomE, NSS, FechaN, Direc, NmD)

    ED2 (NmD, NomD, NSSG)

    2013

  • Formas normales basadas en claves primarias

    Tercera forma normal (3FN)

    Sus correspondientes conjuntos de dependencias funcionales

    FED1 = { NSS NomE

    NSS FechaN

    NSS Direc

    NSS NmD }

    FED2 = { NmD NomD

    NmD NSSG }

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Segunda forma normal (2FN)

    Un esquema est en 2FN si todo atributo no primo A de R depende funcionalmente de manera total de toda clave de R.

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Segunda forma normal (2FN) Ejemplo: Lotes (ID_Prop, Nom_Mun, NmL, rea, Precio, TasaF) Claves = ID_Prop Nom_Mun, NmL F = { ID_Prop Nom_Mun ID_Prop NmL ID_Prop rea, Precio, TasaF Nom_Mun, NmL ID_Prop Nom_Mun, NmL rea, Precio, TasaF Nom_Mun TasaF NO rea Precio rea Nom_Mun }

    2013

  • Definiciones generales de la segunda y tercera forma normal

    El esquema Lotes viola la 2FN, porque TasaF depende parcialmente de la clave candidata Nom_Mun, NmL

    Entonces descomponemos el esquema Lotes en dos esquemas que se encuentran en 2FN.

    Lotes1 (Id_Prop, Nom_Mun, NmL, rea, Precio)

    Lotes2 (Nom_Mun, TasaF)

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Flotes = {Id_Prop Nom_Mun Id_Prop NmL

    Id_Prop rea

    Id_Prop Precio

    Nom_Mun, NmL Id_Prop

    Nom_Mun, NmL rea

    Nom_Mun, NmL Precio

    rea Precio}

    Flotes2 = {Nom_Mun TasaF}

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Tercera forma normal

    Un esquema de relacin R est en 3NF si, siempre que una dependencia funcional X A, se cumple en R, o bien

    X es una superclave de R o

    A es un atributo primo de R.

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Observacin

    Se puede aplicar directamente la definicin de 3FN

    general sin pasar por 2FN.

    La definicin 3FN general me asegura tambin que est en 1FN y 2FN.

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Forma normal Boyce Codd

    Un esquema de relacin R est en FNBC, siempre que una dependencia funcional X A es vlida en R, entonces

    X es una superclave de R

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Supongamos que en nuestro ejemplo anterior tenemos adems la dependencia funcional rea Nom_Mun.

    Entonces vemos que Lotes1A no se encuentra en FNBC.

    Lo normalizamos descomponiendolo en dos esquemas que estn en FNBC.

    Lotes1AX ( Id_Prop, NmL, rea)

    Lotes1AY (rea, Nm_Mun)

    2013

  • Definiciones generales de la segunda y tercera forma normal

    FLotes1AX = { ID_Prop NmL

    ID_Prop rea }

    FLotes1AY = { rea Nm_Mun }

    2013

  • Definiciones generales de la segunda y tercera forma normal

    Lotes 1FN

    Lotes1 Lotes2 2FN

    Lotes1a lotes1b Lotes2 3FN

    Lotes1AX Lotes1AY Lotes1B Lotes2

    FNBC 2013