logo

Tercera forma normal (3NF)

  • Una relación estará en 3NF si está en 2NF y no contiene ninguna dependencia parcial transitiva.
  • 3NF se utiliza para reducir la duplicación de datos. También se utiliza para lograr la integridad de los datos.
  • Si no hay dependencia transitiva para los atributos no primos, entonces la relación debe estar en tercera forma normal.

Una relación está en tercera forma normal si cumple al menos una de las siguientes condiciones para cada dependencia de función no trivial X → Y.

  1. X es una súper clave.
  2. Y es un atributo principal, es decir, cada elemento de Y es parte de alguna clave candidata.
  3. Ejemplo:

    programa sencillo en Python

    Tabla EMPLOYEE_DETAIL:

    EMP_ID EMP_NOMBRE EMP_ZIP EMP_ESTADO EMP_CIUDAD
    222 Harry 201010 ARRIBA Noida
    333 Esteban 02228 A NOSOTROS Bostón
    444 Y 60007 A NOSOTROS chicago
    555 catalina 06389 Reino Unido Norwich
    666 John 462007 diputado Bhopal

    Súper clave en la tabla anterior:

     {EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on 

    Llave candidata: {EMP_ID}

    Atributos no primos: En la tabla proporcionada, todos los atributos excepto EMP_ID no son primos.

    Aquí, EMP_STATE y EMP_CITY dependen de EMP_ZIP y EMP_ZIP dependen de EMP_ID. Los atributos no principales (EMP_STATE, EMP_CITY) dependen transitivamente de la superclave (EMP_ID). Viola la regla de la tercera forma normal.

    Es por eso que necesitamos mover EMP_CITY y EMP_STATE a la nueva tabla, con EMP_ZIP como clave principal.

    Tabla EMPLEADO:

    cómo determinar el tamaño del monitor
    EMP_ID EMP_NOMBRE EMP_ZIP
    222 Harry 201010
    333 Esteban 02228
    444 Y 60007
    555 catalina 06389
    666 John 462007

    Tabla EMPLOYEE_ZIP:

    EMP_ZIP EMP_ESTADO EMP_CIUDAD
    201010 ARRIBA Noida
    02228 A NOSOTROS Bostón
    60007 A NOSOTROS chicago
    06389 Reino Unido Norwich
    462007 diputado Bhopal