Partager cette page :
Discipline(s) : Infomatique et télécommunications

Bases de données avancées

Semestre Semestre 2
Type Obligatoire
Nature UE

Pré-requis

  • Algorithmique élémentaire
  • Architecture des machines élémentaire
  • Logique du premier ordre

Objectifs

La technologie des bases de données est omniprésente, que ce soit pour réaliser un système d’information à part entière ou pour stocker de façon sûre les données d’un programme. Ainsi, le moindre téléphone mobile contient maintenant un système de gestion de bases de données (par exemple SQLite). L’objectif de ce cours est d’avoir une vue globale de ces systèmes. La première partie s’intéresse aux aspects concrets, en partant du modèle relationnel jusqu’aux techniques d’indexation des données et d’optimisation des requêtes. La seconde partie présente les fondements théoriques des bases de données relationnelles.



Compétences acquises :

  • Modélisation et implantation d’une base de données relationnelle
  • Interrogation d’une base de données relationnelle (SQL)
  • Interrogation en SQL avancé (récursivité, types complexes, …)
  • Mise en place d’index
  • Obtention de plans d’exécutions efficaces
  • Contrôle de l’accès concurrent aux données
  • Formalisation de la notion de requête
  • Estimation de la complexité algorithmique de l’évaluation d’une requête
  • Estimation de la limite du pouvoir d’expression d’une langage de requête

Contenu

Cours

  • Modèle relationnel, LDD, LMD, algèbre relationnelle
  • Modélisation, MCD, MPD, MERISE ou UML, formes normales
  • SQL
  • SQL avancé : récursivité (éventuellement types abstraits de données, relationnel-objet)
  • Représentation physique des données et indexation : stockage séquentiel, indexé, arbres B et B+, hachage
  • Principes de l’optimisation des requêtes, plan d’exécution
  • Algorithmes de jointure
  • L’outils EXPLAIN
  • Concurrence (transaction, sérialisabilité des transactions, recouvrabilité, annulations en cascade, exécutions strictes, 2PL)
  • Ouverture au NoSQL
  • Formalisation du modèle relationnel
  • Théorème de Codd, requêtes sûres, domaine actif, théorème de Trakhtenbrot
  • Complexité des langages de requêtes (requêtes conjonctives, théorème d’homomorphisme, largeur d’arbre)
  • Datalog
Travaux dirigés

  • Illustration des notions du cours

Travaux pratiques

  • Illustration des notions du cours sous Oracle

Mise à jour le 12 avril 2018