Examens corriges

Examen et Corrigé de Bases de Données - INF 159 (Bordeaux 1)

Présentation de l'épreuve de bases de données

Ce document présente un sujet d'examen accompagné de son corrigé détaillé pour l'unité d'enseignement INF 159 (Bases de données), rattachée aux parcours CSB4 et CSB6. Cette épreuve s'est déroulée le mardi 22 juin 2010 dans le cadre de la session 2 de printemps à l'Université Bordeaux 1, sous la direction de M. Alain Griffault.

D'une durée de 1 heure 30 et notée sur un total de 23 points en raison de la longueur du sujet, cette évaluation s'adresse aux étudiants en licence (DISVE) et aborde des concepts fondamentaux de la gestion de données relationnelles à travers des cas pratiques et théoriques.

Contenu et structure des exercices

Le document est divisé en trois exercices principaux qui couvrent les aspects essentiels de la conception et de l'exploitation des bases de données relationnelles.

L'exercice 1 (16 points) se concentre sur le langage SQL, l'algèbre relationnelle et la normalisation. À partir d'un scénario de gestion de fichiers sources, de versions, de bibliothèques, de processeurs et de binaires modélisé par la relation Codes (Fichier, Version, Logiciel, Processeur, Binaire), plusieurs requêtes et analyses sont demandées. Les étudiants doivent formuler des requêtes traduisant des conditions spécifiques, comme l'utilisation de versions particulières pour un logiciel donné, l'identification de fichiers compilés sur un même processeur avec des versions différentes, ou encore la manipulation d'agrégats (comptages). Cet exercice aborde également les dépendances fonctionnelles, la recherche de clés candidates, la mise en évidence des formes normales (2NF, 3NF, BCNF) et la décomposition de relations sans perte d'information.

L'exercice 2 (4 points) traite de l'évitement de l'interblocage (deadlock) dans le cadre des transactions concurrentes gérées par verrous. Il propose d'analyser et de compléter un tableau d'exécution illustrant le protocole Wait-Die, qui utilise les estampilles temporelles des transactions pour décider si une transaction doit attendre ou être interrompue.

L'exercice 3 (3 points) aborde des notions théoriques fondamentales sur les transactions dans les SGBD relationnels, notamment les définitions d'un état cohérent, d'un état correct, d'une unité logique de travail et d'une transaction.

Intérêt pédagogique pour les révisions

Ce sujet corrigé constitue un support de travail direct pour les étudiants souhaitant s'entraîner aux requêtes SQL avancées et aux opérations algébriques. La présence des corrections détaillées permet de comparer différentes approches de formulation, qu'il s'agisse de calcul relationnel, d'algèbre relationnelle ou de requêtes imbriquées.

De plus, la partie consacrée à la normalisation offre une illustration concrète du passage d'une relation non normalisée à des formes normales supérieures, tout en identifiant les anomalies de redondance et les éventuelles pertes de dépendances fonctionnelles. L'exercice sur la gestion des verrous et la prévention des interblocages permet de revoir les mécanismes de concurrence propres aux systèmes de gestion de bases de données.

Questions fréquentes

Quel est le niveau universitaire de cette épreuve ?

L'épreuve est destinée aux étudiants de licence inscrits dans les parcours CSB4 et CSB6 de l'Université Bordeaux 1 pour l'UE INF 159.

Quels sont les principaux thèmes abordés dans l'exercice sur le SQL ?

L'exercice explore les requêtes de sélection, la jointure de tables, les fonctions d'agrégation comme COUNT avec GROUP BY et HAVING, ainsi que la différence ensembliste (EXCEPT) et l'utilisation de sous-requêtes corrélées.

Comment sont gérés les interblocages dans l'exercice 2 ?

L'exercice utilise la politique Wait-Die, qui compare les estampilles de création des transactions lorsqu'un conflit de verrouillage survient afin de déterminer si la transaction requérante doit patienter ou être annulée.

Testez vos connaissances

Question 1

Quelle est la dépendance fonctionnelle reliant le fichier et la version au logiciel dans le schéma présenté ?

  1. {Logiciel, Processeur} -> {Binaire}
  2. {Version, Fichier} -> {Logiciel}
  3. {Binaire} -> {Processeur}
  4. {Fichier, Version, Processeur} -> {Binaire}

Réponse correcte : {Version, Fichier} -> {Logiciel}

Explication : Le texte précise que chaque version d'un fichier n'est utilisée que dans un seul logiciel, ce qui se traduit par la dépendance fonctionnelle {Version, Fichier} -> {Logiciel}.

Question 2

Quel protocole d'évitement d'interblocage est appliqué dans l'exercice 2 ?

  1. Le protocole Wound-Wait
  2. Le protocole Two-Phase Locking
  3. Le protocole Wait-Die
  4. Le verrouillage strict exclusif

Réponse correcte : Le protocole Wait-Die

Explication : L'énoncé indique explicitement d'utiliser la version Wait-Die de l'évitement, où si l'estampille du demandeur est inférieure à celle du détenteur, la transaction attend, sinon elle meurt.

Question 3

Quelles sont les clés candidates identifiées pour la relation Codes ?

  1. {Fichier, Version, Binaire} et {Fichier, Version, Processeur}
  2. {Logiciel, Processeur} et {Binaire}
  3. {Fichier, Logiciel} et {Processeur}
  4. {Version, Logiciel} uniquement

Réponse correcte : {Fichier, Version, Binaire} et {Fichier, Version, Processeur}

Explication : À partir des dépendances fonctionnelles de la relation Codes, les deux clés candidates de la relation sont {Fichier, Version, Binaire} et {Fichier, Version, Processeur}.





Télécharger Examen et Corrigé de Bases de Données - INF 159 (Bordeaux 1) pdf