36
Chapitre 4 • Concepts des bases de données
(NUMFL:259, NUMPL:15, PRIX:-). On dira que la valeur de PRIX de cette ligne est
inconnue. Cette latitude donnée à une colonne d’accepter l’absence de valeur pour
certaines lignes n’est pas valable pour toute colonne. Par exemple, on peut décider
que le nom d’un fournisseur est indispensable, et donc que toute ligne de la table
FOURNISSEUR doit avoir une valeur de NOMF valable. La colonne PRIX sera
déclarée facultative, tandis que la colonne NOMF sera obligatoire. En fait, une
valeur absente sera représentée par la valeur conventionnelle null, dont nous reparlerons dans la section 6.10.
On impose que les composants de tout identifiant primaire soient obligatoires. En
ce qui concerne les colonnes de référence, le concept de colonne facultative
demande que nous affinions la définition de la contrainte référentielle :
Si un groupe de colonnes de la table B est déclaré clé étrangère vers la table A, ces
colonnes sont soit obligatoires, soit facultatives; dans ce dernier cas, elle sont
coexistantes, c’est-à-dire qu’à tout instant, pour toute ligne de la table B,
• soit des valeurs existent pour chacune de ces colonnes et dans ce cas elles
doivent identifier une ligne existante de A,
• soit il n’y a de valeurs pour aucune de ces colonnes.
On n’admet donc pas qu’il existe des lignes pour lesquelles certains composants
d’une clé étrangère possèdent une valeur tandis que les autres n’en ont pas 7 .
3.3 STRUCTURE ET CONTENU
D’UNE BASE DE DONNÉES
On distingue deux parties distinctes dans une base de données : son schéma et son
contenu. Le schéma d’une base de données en définit la structure en termes de
tables, de colonnes (avec le type de valeurs et le caractère obligatoire ou facultatif de
chacune), d’identifiants primaires et secondaires, et de clés étrangères. Son contenu
à un instant déterminé est l’ensemble des lignes. En supprimant les lignes de la
figure 3.2, nous obtenons le schéma (encore partiel à ce stade) représenté à la
figure 3.3.
Figure 3.3 - Structure de la base de données de la figure 3.2
7. Il faut cependant noter que ce cas est généralement accepté par les SGBD. Nous l’excluons
pour des raisons de simplicité et de sécurité.
Chapitre 4 • Concepts des bases de données
(NUMFL:259, NUMPL:15, PRIX:-). On dira que la valeur de PRIX de cette ligne est
inconnue. Cette latitude donnée à une colonne d’accepter l’absence de valeur pour
certaines lignes n’est pas valable pour toute colonne. Par exemple, on peut décider
que le nom d’un fournisseur est indispensable, et donc que toute ligne de la table
FOURNISSEUR doit avoir une valeur de NOMF valable. La colonne PRIX sera
déclarée facultative, tandis que la colonne NOMF sera obligatoire. En fait, une
valeur absente sera représentée par la valeur conventionnelle null, dont nous reparlerons dans la section 6.10.
On impose que les composants de tout identifiant primaire soient obligatoires. En
ce qui concerne les colonnes de référence, le concept de colonne facultative
demande que nous affinions la définition de la contrainte référentielle :
Si un groupe de colonnes de la table B est déclaré clé étrangère vers la table A, ces
colonnes sont soit obligatoires, soit facultatives; dans ce dernier cas, elle sont
coexistantes, c’est-à-dire qu’à tout instant, pour toute ligne de la table B,
• soit des valeurs existent pour chacune de ces colonnes et dans ce cas elles
doivent identifier une ligne existante de A,
• soit il n’y a de valeurs pour aucune de ces colonnes.
On n’admet donc pas qu’il existe des lignes pour lesquelles certains composants
d’une clé étrangère possèdent une valeur tandis que les autres n’en ont pas 7 .
3.3 STRUCTURE ET CONTENU
D’UNE BASE DE DONNÉES
On distingue deux parties distinctes dans une base de données : son schéma et son
contenu. Le schéma d’une base de données en définit la structure en termes de
tables, de colonnes (avec le type de valeurs et le caractère obligatoire ou facultatif de
chacune), d’identifiants primaires et secondaires, et de clés étrangères. Son contenu
à un instant déterminé est l’ensemble des lignes. En supprimant les lignes de la
figure 3.2, nous obtenons le schéma (encore partiel à ce stade) représenté à la
figure 3.3.
Figure 3.3 - Structure de la base de données de la figure 3.2
7. Il faut cependant noter que ce cas est généralement accepté par les SGBD. Nous l’excluons
pour des raisons de simplicité et de sécurité.
