Bases de données

Durée

2h de cours, 2h d'exercices par semaine (56 h au total)

Enseignants

Christelle Vangenot
Stefano Spaccapietra

Assistants

Janaina Oleinik
Zhixian Yan

Objectifs

Ce cours forme les étudiants aux taches de conception, mise en oeuvre et utilisation de bases de données relationnelles. Il apprend notamment à :

  • exprimer les besoins en information des applications de manière simple et rigoureuse,
  • concevoir une base de données avec une demarche d'ingénieur,
  • implanter une base de données sur un système de gestion de bases de données (SGBD) relationnel,
  • utiliser les bases de données au travers des langages de manipulation offerts par les SGBD classiques.

Contenu

  1. L'approche base de données
    • Nature et objectifs de l'approche;
    • Architecture d'un SGDB;
    • Cycle de vie d'une base de données.
  2. Conception d'une base de données
    • Le formalisme conceptuel (objets, liens et propriétés);
    • Règles de vérification et de validation;
    • Règles de transformation.
  3. Bases de données relationnelles
    • Le modèle relationnel et ses règles;
    • Les bases théoriques des langages relationnels: algèbre relationnelle, calculs relationnels;
    • Langages utilisateurs: SQL, QUEL, QBE;
    • Passage de la conception entité-association à la mise en oeuvre relationnelle.
  4. Pratique d'un SGBD
    • Mise en place et utilisation d'une base de données sur ORACLE, via SQL et via SQL-Forms et embedded SQL.
  5. Fonctionnement d'un SGBD
    • Dictionnaires de données et gestion du schéma
    • Mécanismes de personnalisation et de confidentialité des données: vues externes
    • Performances du moteur relationnel: optimisation du traitement des requêtes
    • Performances de stockage et d'accès: fichiers aléatoires dynamiques, B-trees, grid files, signature files
    • Gestion du partage des données et des accès concurrents
    • Fiabilité des données et des applications