3.9 La normalisation
45
© Dunod – La photocopie non autorisée est un délit.
• Indépendance. Le troisième est possible lorsque la clé étrangère est constituée
de colonnes facultatives. Il consisterait ici, si NCLI de COMMANDE avait été
déclarée facultative, à effacer la valeur de la colonne NCLI des lignes de
COMMANDE qui référencent la ligne de CLIENT à supprimer. De la sorte, ces
commandes n’appartiennent plus à aucun client après l’opération.
Modification de NCLI d’une ligne CLIENT
Si aucune ligne de COMMANDE ne référence cette ligne de CLIENT, la contrainte
référentielle n’impose pas de restriction. Si au contraire de telles lignes existent, on
admet trois comportements similaires à ceux de l’opération de suppression : refus de
modification, modification des valeurs de clés étrangères qui référencent cette ligne,
effacement des valeurs de clés étrangères qui référencent cette ligne.
On voit donc que l’impact d’une contrainte référentielle n’est pas unique et que,
selon la réalité à représenter et la politique de gestion des données, on sera amené à
choisir l’un ou l’autre des comportements décrits.
3.8.3 Les colonnes obligatoires
Si une colonne est déclarée obligatoire, chaque ligne doit en posséder une valeur.
Lors des opérations de création et de modification de lignes, cette colonne devra
recevoir une valeur significative. Par exemple, il est permis de créer une ligne de
CLIENT sans valeur pour CAT, mais pas sans valeur pour LOCALITE.
3.9 LA NORMALISATION
Les tables que nous avons rencontrées jusqu’ici représentaient chacune un ensemble
d’entités clairement identifié : des fournisseurs, des clients, des commandes, des
comptes ou des achats. Certaines tables peuvent présenter une structure plus
complexe, généralement considérée comme indésirable. Tel est le cas de la table de
la figure 3.12, que nous allons examiner de plus près.
Figure 3.12 - La table LIVRE enregistre les informations sur les livres disponibles
dans une bibliothèque
45
© Dunod – La photocopie non autorisée est un délit.
• Indépendance. Le troisième est possible lorsque la clé étrangère est constituée
de colonnes facultatives. Il consisterait ici, si NCLI de COMMANDE avait été
déclarée facultative, à effacer la valeur de la colonne NCLI des lignes de
COMMANDE qui référencent la ligne de CLIENT à supprimer. De la sorte, ces
commandes n’appartiennent plus à aucun client après l’opération.
Modification de NCLI d’une ligne CLIENT
Si aucune ligne de COMMANDE ne référence cette ligne de CLIENT, la contrainte
référentielle n’impose pas de restriction. Si au contraire de telles lignes existent, on
admet trois comportements similaires à ceux de l’opération de suppression : refus de
modification, modification des valeurs de clés étrangères qui référencent cette ligne,
effacement des valeurs de clés étrangères qui référencent cette ligne.
On voit donc que l’impact d’une contrainte référentielle n’est pas unique et que,
selon la réalité à représenter et la politique de gestion des données, on sera amené à
choisir l’un ou l’autre des comportements décrits.
3.8.3 Les colonnes obligatoires
Si une colonne est déclarée obligatoire, chaque ligne doit en posséder une valeur.
Lors des opérations de création et de modification de lignes, cette colonne devra
recevoir une valeur significative. Par exemple, il est permis de créer une ligne de
CLIENT sans valeur pour CAT, mais pas sans valeur pour LOCALITE.
3.9 LA NORMALISATION
Les tables que nous avons rencontrées jusqu’ici représentaient chacune un ensemble
d’entités clairement identifié : des fournisseurs, des clients, des commandes, des
comptes ou des achats. Certaines tables peuvent présenter une structure plus
complexe, généralement considérée comme indésirable. Tel est le cas de la table de
la figure 3.12, que nous allons examiner de plus près.
Figure 3.12 - La table LIVRE enregistre les informations sur les livres disponibles
dans une bibliothèque
