Synthèse : De la 1NF à la NFNF (NF²)
Rappel : 1NF
La 1NF (first normal form) pose :
Les tables ont une clé.
Les attributs sont atomiques.
Fondamental : Identification : les tables ont une clé
La première règle de la 1NF fixe le système d'identification des données en relationnel : ce sont les données qui permettent d'identifier les données.
C'est à dire que c'est un sous ensemble des données (une clé) qui permet d'identifier un enregistrement.
Or :
Il existe d'autres solutions, par exemple l'identification par adresse mémoire (pointeur) ou disque, par URI, par UUID.
Les clés artificielles sont déjà un échappatoire à cette règle puisqu'elles permettent l'identification avec une donnée spécifiquement créée pour l'identification, extérieure aux données.
Fondamental : Imbrication : les attributs sont atomiques.
La seconde règle de la 1NF fixe le système de représentation des données en relationnel : la seule structure reconnue est la case d'un tableau.
C'est à dire qu'une case ne peut pas avoir de structure propre.
Or :
Il existe d'autres structures de données : les arbres, les tableaux...
Il existe déjà des types structuré ajouté au SQL depuis la version 1, comme la date introduite dès SQL2 en 1992.
Fondamental : Non First Normal Form (NFNF ou NF²)
Les système en Non First Normal Form ou NF² sont des systèmes qui rompent volontairement avec la 1NF pour dépasser les limites qu'elle impose.
Les attributs ne sont plus atomiques
L'identification ne se fait plus par les données
Exemple :
Les systèmes relationnels-objets et NoSQL sont des systèmes NF².