Forme normale (bases de données relationnelles) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Exemple de normalisation

Selon les trois principaux types de formes normales :

  • la première forme normale, où chaque attribut des entités contient une valeur atomique (non composée) ;

exemple :

Produit Fournisseur
téléviseur VIDEO SA, HITEK LTD

Dans ce cas les valeurs du fournisseur sont multivaluées et ne sont pas atomiques. Pour que cette relation soit en première forme normale, il faut décomposer les attributs de la colonne fournisseur comme suit :

solution:

Produit Fournisseur
téléviseur VIDEO SA
téléviseur HITEK LTD
  • la deuxième forme normale est une relation en première forme normale où chaque attribut qui n'appartient pas à la clé (l'ensemble des attributs permettant d'identifier de manière unique un tuple de l'entité) ne dépend pas uniquement d'une partie de la clé ;

exemple:

Produit Fournisseur Adresse fournisseur
téléviseur VIDEO SA 13 rue du cherche-midi
écran plat VIDEO SA 13 rue du cherche-midi
téléviseur HITEK LTD 25 Bond Street

Admettons que la clé de cette table soit une clé composite (produit - fournisseur). Dans le cas d'un changement d'adresse d'un fournisseur, il faudra faire preuve de beaucoup d'attention pour n'oublier aucun endroit où l'adresse est mentionnée. En effet, on constate que le champ adresse ne dépend que d'une partie de la clé : le champ fournisseur, ce qui induit la possibilité d'une redondance au sein de la table. Il convient donc de scinder la table en deux:

solution en seconde forme normale :

Produit Fournisseur
téléviseur VIDEO SA
téléviseur HITEK LTD
écran plat VIDEO SA
 
Fournisseur Adresse fournisseur
VIDEO SA 13 rue du cherche-midi
HITEK LTD 25 Bond Street

De cette manière, un changement d'adresse ne donne lieu qu'à une seule modification dans la table des fournisseurs.

  • la troisième forme normale est une relation en deuxième forme normale où les attributs qui ne font pas partie de la clé ne dépendent pas d'attributs ne faisant pas non plus partie de la clé (les attributs sont donc complètement indépendants les uns des autres).

exemple:

Fournisseur Adresse fournisseur Ville Pays
VIDEO SA 13 rue du cherche-midi PARIS FRANCE
HITEK LTD 25 Bond Street LONDON ENGLAND

Le pays de l'adresse n'est pas dépendant de la clé de la table, à savoir le nom du fournisseur, mais est fonction de la ville de l'adresse. De nouveau, il est préférable de scinder la table en deux:

solution normalisée :

Fournisseur Adresse fournisseur Ville
VIDEO SA 13 rue du cherche-midi PARIS
HITEK LTD 25 Bond Street LONDON
 
Ville Pays
PARIS FRANCE
LONDON ENGLAND

De cette manière, une modification de l'orthographe pour un pays (par exemple : ENGLAND en GREAT BRITAIN) ne donnera lieu qu'à une seule modification.

Dans la pratique, l'identification soignée de tous les objets élémentaires de l'application concernée (pays, ville, client, fournisseur, produit, commande, facture, etc) est la première étape avant de leur créer chacun leur table. Chaque table peut alors être soumise au test de respect/non de telle ou telle forme normale. En général, toute valeur de données agrégées et toute répétition d'une valeur de donnée, dans une colonne peuplée, sont potentiellement des violations de forme normale.

Page générée en 0.102 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise