logo

Troisième forme normale (3NF)

  • Une relation sera en 3NF si elle est en 2NF et ne contient aucune dépendance partielle transitive.
  • 3NF est utilisé pour réduire la duplication des données. Il est également utilisé pour garantir l’intégrité des données.
  • S'il n'y a pas de dépendance transitive pour les attributs non premiers, alors la relation doit être sous la troisième forme normale.

Une relation est sous la troisième forme normale si elle remplit au moins une des conditions suivantes pour chaque dépendance de fonction non triviale X → Y.

  1. X est une super clé.
  2. Y est un attribut premier, c'est-à-dire que chaque élément de Y fait partie d'une clé candidate.
  3. Exemple:

    comparer à Java

    Tableau EMPLOYEE_DETAIL :

    EMP_ID EMP_NAME EMP_ZIP EMP_STATE EMP_CITY
    222 Harry 201010 EN HAUT Noida
    333 Stéphane 02228 NOUS Boston
    444 Et 60007 NOUS Chicago
    555 Catherine 06389 ROYAUME-UNI Norwich
    666 John 462007 Député Bhopal

    Super clé dans le tableau ci-dessus :

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

    Clé du candidat : {EMP_ID}

    Attributs non principaux : Dans le tableau donné, tous les attributs sauf EMP_ID ne sont pas premiers.

    Ici, EMP_STATE & EMP_CITY dépendant de EMP_ZIP et EMP_ZIP dépendant de EMP_ID. Les attributs non premiers (EMP_STATE, EMP_CITY) dépendent transitivement de la super clé (EMP_ID). Cela viole la règle de la troisième forme normale.

    C'est pourquoi nous devons déplacer EMP_CITY et EMP_STATE vers la nouvelle table, avec EMP_ZIP comme clé primaire.

    Tableau EMPLOYÉ :

    EMP_ID EMP_NAME EMP_ZIP
    222 Harry 201010
    333 Stéphane 02228
    444 Et 60007
    555 Catherine 06389
    666 John 462007

    Tableau EMPLOYEE_ZIP :

    différence tigre lion
    EMP_ZIP EMP_STATE EMP_CITY
    201010 EN HAUT Noida
    02228 NOUS Boston
    60007 NOUS Chicago
    06389 ROYAUME-UNI Norwich
    462007 Député Bhopal