Examens corriges

Annales d'examen et corrigé de bases de données : INF 159 (2011)

Introduction à l'épreuve de bases de données

Ce document propose le sujet d'examen de seconde session de printemps de l'année universitaire 2010/2011 pour l'unité d'enseignement INF 159 (Bases de données), rattachée aux parcours CSB4 et CSB6 de la licence DISVE à l'Université Bordeaux 1. Rédigé et évalué par M. Alain Griffault, ce document de neuf pages intègre à la fois le sujet de l'épreuve d'une durée d'une heure trente et son corrigé détaillé. Il s'adresse principalement aux étudiants en informatique préparant des examens sur la modélisation relationnelle, le langage SQL sous PostgreSQL, la théorie de la normalisation et le traitement des valeurs particulières.

Structure et contenu du sujet

L'épreuve est notée sur un barème total de 24 points en raison de la longueur et de la richesse des questions proposées. Le contenu s'articule autour de trois exercices principaux couvrant des aspects théoriques et pratiques de la gestion de données.

Exercice 1 : Conception et requêtes SQL appliquées à une bibliothèque

Le premier exercice, d'une valeur de 14 points, s'appuie sur une gestion simplifiée de livres au sein d'une bibliothèque. Le schéma relationnel global se compose de cinq relations distinctes : Tarifs, Adherents, Oeuvres, Livres et Emprunts. Les étudiants doivent d'abord analyser et expliquer la structure relationnelle, en identifiant les dépendances fonctionnelles déclarées, le rôle des clés étrangères et la portée des contraintes d'intégrité statiques et inter-relations. La seconde partie de cet exercice demande l'écriture de requêtes algébriques et de requêtes SQL sous PostgreSQL, allant de la sélection simple avec des conditions booléennes jusqu'à des opérations plus complexes impliquant des jointures, des regroupements avec agrégation et des divisions relationnelles, notamment pour identifier les adhérents en retard ou les ouvrages lus par l'ensemble des inscrits. Enfin, des propositions de modification du schéma sont étudiées pour gérer finement les auteurs multiples.

Exercice 2 : Normalisation de relations et formes normales

Noté sur 7 points, le second exercice aborde la normalisation à travers un cas pratique de gestion de centre de vacances pour enfants modélisé par la relation ColoniesVacances, caractérisée par sept attributs (Lieu, Transport, NbPlaces, Jour, Groupe, Activite, Animateur) et un ensemble irréductible de dépendances fonctionnelles. Les étudiants doivent identifier les clés candidates, justifier pourquoi la relation initiale ne respecte pas les exigences de la troisième forme normale (3NF), puis appliquer un algorithme de décomposition sans perte d'information pour obtenir des schémas en forme normale de Boyce-Codd (BCNF) ou en 3NF. L'exercice pousse l'analyse plus loin en étudiant la perte éventuelle de dépendances fonctionnelles et les risques de redondance de données et de mise à jour lors de l'insertion et de la modification de tuples.

Exercice 3 : Le traitement des valeurs NULL sous PostgreSQL

Le dernier exercice, évalué sur 3 points, se penche sur le comportement spécifique du système de gestion de base de données PostgreSQL face à la valeur NULL. En s'appuyant sur la documentation officielle du SGBD, l'exercice analyse le résultat d'évaluations de prédicats logiques sur une table comportant des valeurs absentes ou indéfinies, mettant en lumière le fait que l'opérateur de comparaison standard ne peut pas évaluer directement une égalité avec NULL sans utiliser les constructeurs dédiés IS NULL ou IS NOT NULL.

Modalités d'utilisation pour les révisions

Ce document constitue un support de travail idéal pour s'entraîner aux examens universitaires de bases de données. Il est conseillé de traiter chaque exercice de manière autonome en s'appuyant uniquement sur le schéma fourni, puis de comparer ses réponses avec le corrigé détaillé proposé dans la seconde partie du fichier. L'analyse des requêtes SQL et des étapes de normalisation permet de consolider les acquis méthodologiques indispensables en conception de systèmes d'information.

Questions fréquentes

Quel est le niveau requis pour aborder ce sujet d'examen ?

Ce sujet s'adresse à des étudiants de niveau licence en informatique (ici en licence DISVE de l'Université Bordeaux 1) ayant déjà validé des enseignements fondamentaux sur le modèle relationnel, le langage SQL et la normalisation des bases de données.

Quels types de contraintes d'intégrité sont manipulés dans l'exercice 1 ?

L'exercice manipule des clés primaires, des clés étrangères garantissant l'intégrité référentielle, ainsi que des contraintes de vérification (CHECK) statiques et dynamiques impliquant parfois des fonctions en langage SQL pour valider des règles inter-relations complexes.

Pourquoi la décomposition en forme normale de Boyce-Codd peut-elle poser problème ?

Comme le démontre l'exercice 2, une décomposition en BCNF peut parfois mener à la perte d'une dépendance fonctionnelle, ce qui nécessite de compenser cette perte par l'ajout de contraintes d'intégrité spécifiques au niveau du schéma relationnel.

Testez vos connaissances

Question 1

Dans le schéma de la bibliothèque, à quoi sert la clé étrangère définie sur l'attribut NbEmpruntsAutorises de la relation Adherents ?

  1. À autoriser la suppression automatique des tarifs obsolètes.
  2. À garantir que lors de l'ajout d'un adhérent, la valeur de cet attribut existe bien dans la relation Tarifs.
  3. À calculer le montant de la caution en fonction du nombre de livres.
  4. À interdire l'emprunt de livres aux nouveaux adhérents.

Réponse correcte : À garantir que lors de l'ajout d'un adhérent, la valeur de cet attribut existe bien dans la relation Tarifs.

Explication : La clé étrangère assure l'intégrité référentielle en vérifiant que toute valeur insérée pour cet attribut trouve une correspondance exacte dans la table parente.

Question 2

Quelle est la forme normale minimale de la relation Adherents selon la correction présentée ?

  1. Première forme normale (1NF) uniquement.
  2. Deuxième forme normale (2NF).
  3. Forme normale de Boyce-Codd (BCNF), qui implique également la troisième forme normale (3NF).
  4. Aucune forme normale.

Réponse correcte : Forme normale de Boyce-Codd (BCNF), qui implique également la troisième forme normale (3NF).

Explication : La dépendance fonctionnelle unique possède une clé comme partie gauche irréductible, ce qui valide directement les critères de la BCNF.

Question 3

Que renvoie l'évaluation de l'expression d'égalité standard '7 = NULL' dans PostgreSQL sans paramètre particulier ?

  1. Vrai (True)
  2. Faux (False)
  3. La valeur NULL (inconnu)
  4. Une erreur de syntaxe

Réponse correcte : La valeur NULL (inconnu)

Explication : Les opérateurs de comparaison standard renvoient un résultat indéterminé (NULL) dès lors que l'une des entrées est une valeur inconnue.





Télécharger Annales d'examen et corrigé de bases de données : INF 159 (2011) pdf