CFI-CIRAS — Initiation aux Bases de Données
SOLUTION COMPLÈTE — Examen Partiel Semestre 1
Classe : LRT 1 (A et B) | Année : 2025-2026
PARTIE 1 — Questionnaire (12 pts)
1. Le principal intérêt d'une base de données par rapport à un tableur est :
■ Réponse : a) La maîtrise de la cohérence globale des données
Explication : Une BDD garantit l'intégrité et la cohérence grâce aux contraintes, clés étrangères et
transactions. Un tableur ne gère pas ces règles automatiquement — si on modifie une donnée à un endroit,
rien ne garantit la mise à jour des données liées ailleurs.
2. Stocker un attribut TOTAL_COMMANDE dans une table ACHAT est déconseillé car :
■ Réponse : b) Il est dérivable d'autres attributs
Explication : TOTAL_COMMANDE peut être calculé à partir des lignes de commande (quantité × prix
unitaire). Stocker une donnée calculable crée de la redondance et des risques d'incohérence : si le prix
change, le total stocké devient faux sans recalcul manuel.
3. La normalisation est un compromis entre :
■ Réponse : b) Redondance et cohérence
Explication : Normaliser réduit la redondance des données, mais peut rendre les requêtes plus complexes
(plus de jointures). C'est un équilibre : moins de redondance = meilleure cohérence, mais parfois au prix de
la performance.
4. La redondance est dangereuse principalement parce qu'elle :
■ Réponse : d) Crée des incohérences possibles
Explication : Si la même donnée est stockée à plusieurs endroits, une mise à jour partielle crée des
incohérences. Par exemple, si l'adresse d'un client est copiée dans 10 commandes et qu'elle change, il faut
mettre à jour les 10 lignes — une erreur est vite arrivée.
5. Le fait de mélanger CLIENT, PRODUIT et COMMANDE dans une seule structure entraîne :
■ Réponse : a) Des anomalies de mise à jour
Explication : En mélangeant tout dans une seule table, modifier les infos d'un client oblige à modifier
plusieurs lignes simultanément. C'est une violation du principe de séparation des entités — typique d'une
table non normalisée (violation de la 1NF ou 2NF).
6. Le rôle principal du SGBD n'est PAS :
■ Réponse : c) Définir les règles métier
Explication : Le SGBD gère la cohérence, la sécurité et les accès concurrents. Les règles métier (ex: un
client ne peut pas commander plus de X articles) appartiennent à la couche applicative ou au concepteur —
pas au moteur de base de données lui-même.
7. L'exemple du bon de commande vu en classe illustre surtout :
■ Réponse : b) La nécessité de structurer les données
Explication : Le bon de commande montre comment organiser proprement des données liées (client, produit,
quantité) dans des structures séparées et reliées par des clés. C'est l'illustration concrète de la modélisation
relationnelle.
8. L'indépendance logique des données signifie que :
■ Réponse : On peut modifier le schéma logique sans impacter les applications
Explication : L'indépendance logique signifie que les programmes qui utilisent la BDD ne sont pas affectés
par une modification du schéma logique (ajout d'une colonne, renommage d'une table). C'est l'un des
objectifs fondamentaux d'un SGBD.
20. Une clé candidate est :
■ Réponse : b) Une superclé minimale
Explication : Une clé candidate est une superclé à laquelle on ne peut retirer aucun attribut sans perdre
l'unicité. La clé primaire est ensuite choisie parmi les clés candidates. Exemple : dans une table
ETUDIANT(NumEtu, CNI, Nom), NumEtu et CNI sont deux clés candidates.
21. Une base de données cohérente respecte :
■ Réponse : a) Les clés étrangères
Explication : L'intégrité référentielle via les clés étrangères est le principal mécanisme de cohérence entre
tables liées. Cela empêche d'avoir une commande qui référence un client inexistant, par exemple.
22. Une donnée est définie comme :
■ Réponse : c) Un signe mémorisé sur un support
Explication : Une donnée brute est un signe sans interprétation (ex: '75'). C'est quand elle est interprétée par
un humain dans un contexte qu'elle devient une information (ex: '75 kg — le poids du patient'). Cette
distinction est fondamentale en informatique.
PARTIE 2 — Exercice (8 pts)
Relation : R(A, B, C, D, E, F)
Ensemble G = { A → BC, B → E, CD → EF }
Question 1 — Démonstration par les Axiomes d'Armstrong
Les axiomes d'Armstrong utilisés :
• Réflexivité : Si Y ⊆ X alors X → Y
• Augmentation : Si X → Y alors XZ → YZ
• Transitivité : Si X → Y et Y → Z alors X → Z
• Décomposition : Si X → YZ alors X → Y et X → Z
a) Démontrer A → E
Étape Dépendance Justification
1 A → BC Donné dans G
2 A→B Décomposition de A → BC (règle de décomposition)
3 B→E Donné dans G
4 A→E Transitivité : A → B (étape 2) et B → E (étape 3) ■
b) Démontrer AD → F
Étape Dépendance Justification
1 A → BC Donné dans G
2 A→C Décomposition de A → BC
3 AD → CD Augmentation : A → C, on ajoute D des deux côtés
4 CD → EF Donné dans G
5 CD → F Décomposition de CD → EF
6 AD → F Transitivité : AD → CD (étape 3) et CD → F (étape 5) ■
Question 2 — Couverture Minimale (Graphe de DFs minimum)
Étape 1 — Mise en forme canonique (un seul attribut à droite) :
A → BC devient A → B et A → C
CD → EF devient CD → E et CD → F
B → E reste inchangée
Ensemble canonique : { A → B, A → C, B → E, CD → E, CD → F }
Étape 2 — Éliminer les attributs redondants à gauche
Pour CD → E : C seul → E ? Non. D seul → E ? Non. → CD → E reste.
Pour CD → F : même raisonnement. → CD → F reste.
Étape 3 — Éliminer les DFs redondantes
CD → E : peut-on la déduire sans elle ? Via A → C, A → B, B → E on peut avoir
A → E mais rien ne donne CD → E sans cette DF directement. → On la garde.
Couverture minimale finale :
N° Dépendance fonctionnelle minimale
1 A → B
2 A → C
3 B → E
4 CD → E
5 CD → F
Graphe des DFs minimales :
A→B B→E
A B E
A→C CD→E
CD→F
C D F
{C,D}
Attribut source / intermédiaire Attribut résultat (E, F) DF composée {C,D}
Question 3 — Clé de R
Pour trouver la clé, on cherche quels attributs permettent de déduire tous les attributs de R(A,B,C,D,E,F).
Calcul de la fermeture de AD :
Étape Fermeture courante DF appliquée
Départ {A, D} —
1 {A, B, D} A→B
2 {A, B, C, D} A→C
3 {A, B, C, D, E} B→E
4 {A, B, C, D, E, F} CD → F ■ (= R complet)
Vérification que AD est minimale :
Sous-ensemble Fermeture Couvre R ?
A seul A+ = {A, B, C, E} ■ manque D et F
D seul D+ = {D} ■ insuffisant
AD AD+ = {A, B, C, D, E, F} ■ couvre R entier
■ CONCLUSION : La clé de R est AD
AD est la seule clé candidate de la relation R(A,B,C,D,E,F). Elle est minimale car ni A seul ni D seul ne permettent
de déduire tous les attributs.
— Fin de la solution — | Bonne révision ! ■