386
Chapitre 18 • Conception d’un modèle
déduit que SOLDES ne peut être nul que si chaque SOLDE D est nul, c’est-à-dire si
BUDGET D = DEPENSE D pour chaque valeur de D. Cet état de choses est permis par
les contraintes de validation des données : rien n’interdit que tous les départements
épuisent leur budget.
La correction du modèle selon la première technique conduit à ajouter une règle
de contrainte sur les données qui correspond à Σ D (BUDGET D -DEPENSE D ) > 0. Telle
quelle, cette contrainte n’est pas opérationnelle, car elle ne peut s’appliquer à une ou
plusieurs grandeurs prises isolément.
Données
D : d 1 ..d n
; départements
BUDGET D : entier (F)
; budgets des départements
DEPENSE D : entier (F)
; dépenses des départements
Résultat
SOLDE D : entier (F)
; soldes des départements
SOLDES : entier (F)
; solde général
RATIO D : réel
; ratios des soldes des départements
Règles
SOLDE D = BUDGET D - DEPENSE D
SOLDES = Σ D SOLDE D
RATIO D = SOLDE D / SOLDES
0 ≤ DEPENSE D ≤ BUDGET D
Figure 18.2 - Un modèle incorrect
On pourrait par exemple la traduire en la transposant sur la dernière donnée à introduire, soit par exemple DEPENSE dn :
DEPENSE dn < Σ D’ (BUDGET D’ -DEPENSE D’ ) + BUDGET dn (D’ = d 1 ..d n-1 )
Il est clair que cette contrainte est tout à fait impraticable, d’une part parce qu’elle
impose un ordre de saisie des données, d’autre part parce qu’elle reporte sur cette
dernière donnée la responsabilité d’une erreur qui peut avoir été commise sur une
autre donnée.
On préférera alors la seconde technique, illustrée dans la figure 18.3. L’erreur
peut se produire, mais l’utilisateur est averti de sa survenue et de son origine.
Données
D : d 1 ..d n
; départements
BUDGET D : entier (F)
; budgets des départements
DEPENSE D : entier (F)
; dépenses des départements
Résultat
SOLDE D : entier (F)
; soldes des départements
SOLDES : entier (F)
; solde général
RATIO D : réel
; ratios des soldes des départements
Chapitre 18 • Conception d’un modèle
déduit que SOLDES ne peut être nul que si chaque SOLDE D est nul, c’est-à-dire si
BUDGET D = DEPENSE D pour chaque valeur de D. Cet état de choses est permis par
les contraintes de validation des données : rien n’interdit que tous les départements
épuisent leur budget.
La correction du modèle selon la première technique conduit à ajouter une règle
de contrainte sur les données qui correspond à Σ D (BUDGET D -DEPENSE D ) > 0. Telle
quelle, cette contrainte n’est pas opérationnelle, car elle ne peut s’appliquer à une ou
plusieurs grandeurs prises isolément.
Données
D : d 1 ..d n
; départements
BUDGET D : entier (F)
; budgets des départements
DEPENSE D : entier (F)
; dépenses des départements
Résultat
SOLDE D : entier (F)
; soldes des départements
SOLDES : entier (F)
; solde général
RATIO D : réel
; ratios des soldes des départements
Règles
SOLDE D = BUDGET D - DEPENSE D
SOLDES = Σ D SOLDE D
RATIO D = SOLDE D / SOLDES
0 ≤ DEPENSE D ≤ BUDGET D
Figure 18.2 - Un modèle incorrect
On pourrait par exemple la traduire en la transposant sur la dernière donnée à introduire, soit par exemple DEPENSE dn :
DEPENSE dn < Σ D’ (BUDGET D’ -DEPENSE D’ ) + BUDGET dn (D’ = d 1 ..d n-1 )
Il est clair que cette contrainte est tout à fait impraticable, d’une part parce qu’elle
impose un ordre de saisie des données, d’autre part parce qu’elle reporte sur cette
dernière donnée la responsabilité d’une erreur qui peut avoir été commise sur une
autre donnée.
On préférera alors la seconde technique, illustrée dans la figure 18.3. L’erreur
peut se produire, mais l’utilisateur est averti de sa survenue et de son origine.
Données
D : d 1 ..d n
; départements
BUDGET D : entier (F)
; budgets des départements
DEPENSE D : entier (F)
; dépenses des départements
Résultat
SOLDE D : entier (F)
; soldes des départements
SOLDES : entier (F)
; solde général
RATIO D : réel
; ratios des soldes des départements
