Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
UE: Bases de données
Site permanent

L'unité d'enseignement « Bases de données » est une UE de niveau (300) spécialisation relevant de la licence d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 12 semaines. Elle est placée sous la responsabilité de Amann, bernd.

Description

Cette UE présente une introduction aux systèmes de gestion de bases de données (SGBD) relationnelles. Elle enseigne aux étudiants les fondements théoriques du modèle relationnel, les langages pour la conception, l'interrogation et la mise-à-jour des bases de données (SQL), ainsi que les modèles et algorithmes pour l'optimisation et le traitement de requêtes et la gestion de transactions.

L'UE Bases de Données comporte 3 grandes parties :

  1. La première partie présente les outils théoriques et pratiques pour modéliser et interroger un système de gestion de bases de données (SGBD) : modélisation entité-association, logique du premier ordre, modèle et langages relationnels.
  2. La seconde partie aborde les outils plus sophistiqués pour concevoir et programmer des applications : contraintes d'intégrité, vues, triggers, ainsi que les dépendances fonctionnelles et la théorie de la normalisation permettant la conception et la validation formelle de schémas relationnels.
  3. La troisième partie introduit les mécanismes internes d'un SGBD (couche physique) : interprétation et optimisation de requêtes, gestion de transactions (tolérance aux pannes et concurrence).
Les deux premières parties sont aussi abordées d'un point de vue pratique par des séances sur machine avec le SGBD Oracle.

Préalables et buts pédagogiques

Bibliographie

  • R. Ramakrishnan, J. Gehrke. Database management systems. McGraw-Hill, 2002.

  • Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom Database Systems: The Complete Book, Prentice Hall, 2001

  • S. Abiteboul, Les fondements des bases de données, Vuibert, 2001

  • Chris-J Date, Introduction aux bases de données, Vuibert, 2004

Contenu indicatif par semaine

  1. Introduction: besoin de SGBD dans les applications, objectifs des SGBD, modélisation des données et niveaux d'abstraction, modélisation 'Entité Association'.

  2. Modèle relationnel: les concepts (schéma de relation, attributs, domaine, n-uplet), l'algèbre relationnelle (opérateurs de base et opérateurs dérivés), passage d'un modèle entité-association à un modèle relationnel.

  3. Introduction à la logique: notions de système formel, mécanisme de déduction et théorèmes, calcul propositionnel.

  4. Logique pour bases de données relationnelles : calcul des prédicats, calcul relationnel variable n-uplet, calcul relationnel variable domaine.

  5. Interrogation d'une base de données en SQL: requêtes simples, requêtes imbriquées, agrégats et groupement.

  6. Définition et modification d'une base de données en SQL: création des tables, insertion, suppression et mise à jour des données. Contraintes d'intégrité : typologie, vérification, définition en SQL 2.

  7. Triggers: définition (événement, condition et action), modèle d'exécution, expression en SQL3.

  8. Conception et optimisation de schéma relationnel : notion de redondance, dépendance fonctionnelle, déduction (axiome d'Armstrong) et couverture minimale, formes normales.

  9. Evaluation et optimisation de requête : arbre algébrique, optimisation logique par réécriture, opérateurs physiques et modèle de coût, choix du meilleur plan d'exécution. Vues : définition, utilisation pour l'interrogation, mise à jour au travers des vues, matérialisation des vues et OLAP.

  10. Transactions : définition, propriétés (Atomicité, Cohérence, Isolation, Durabilité), résistance aux pannes (journalisation, validation, reprise à froid et à chaud.

  11. Contrôle de concurrence : problème de la concurrence, notion de sérialisabilité, verrouillage deux phases.

  12. Contrôle de concurrence (suite) : résolution d'interblocages, ordonnancement par estampillage.