Bases de données relationnelles : comprendre pour maîtriser

Description

Les systèmes de gestion de bases de données relationnelles (SGBDR),
avec des produits phares comme le système commercial Oracle Serveur, ou
un open source comme MySQL, font partie des logiciels les plus
populaires au monde. Le cours "Bases de données relationnelles :
comprendre pour maîtriser" a pour ambition d’expliquer
comment fonctionnent ces systèmes. Il permettra à leurs utilisateurs de
mieux les maîtriser, notamment en comprenant les problèmes de
performance que ces systèmes peuvent rencontrer.

À qui s'adresse ce cours ?

Ce cours s’adresse à toute personne utilisant une base de données ou
souhaitant comprendre comment fonctionne le système. Cela recouvre,
entre autres :

- les étudiants en informatique : M1, première année d’école d’ingénieur ou L3 ;
- les ingénieurs en informatique utilisateurs de ces systèmes ;
- les chercheurs/étudiants utilisateurs confrontés au besoin de
créer et d’exploiter des bases de données dans des domaines
scientifiques comme la physique, la biologie, l’histoire, la géographie…
- et plus généralement les personnes curieuses de comprendre un outil utilisé quotidiennement.

Pré-requis

- Une connaissance pratique des bases de données est préférable
mais pas indispensable.
- Connaître l'algèbre relationnelle et SQL.

Il est fortement recommandé aux élèves qui ne maitriseraient pas SQL et l'algèbre relationnelle de suivre au minimum les semaines 1-3-4 du Mooc Sillages : http://flot.sillages.info/?portfolio=bases-de-donnees-relationnelles

Plan du cours :

Partie 1
Transactions et concurrence
Partie 2
Indexation
Partie 3
Exécution et optimisation
Partie 4
Contrôle d'accès
Partie 5
Reprise sur panne
Partie 6
Bases de données distribuées

Les
différents supports de ce cours sont constitutifs d'un MOOC en 6
semaines hébergé sur la plate-forme France Université Numérique : https://www.fun-mooc.fr/courses/inria/41008/session01/about

Pour aller plus loin

En complément de ce Mooc, on pourra consulter les ressources suivantes sur le Web :

- Serge Abiteboul, Benjamin Nguyen et Yannick Le Bras. Flot sillage : Bases de données relationnelles, 2013

- Philippe Rigaux. Cours de bases de données - Modèles et langages, 2002-2015
- Philippe Rigaux. Cours de bases de données - Aspects système, 2002-2014
- Serge Abiteboul. Sciences des données : de la Logique du premier ordre à la Toile, Collège de France, 2012
- Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, and Pierre Senellar. Web data management, Cambridge : University Press, 2011
- Serge Abiteboul, Rick Hull and Victor Vianu. Foundations of Databases, Addison-Wesley, 1995


 
 



Collections

Pannes de disque
collection
6 vidéos

Reprise sur panne

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Un système informatique est sujet aux pannes, qui peuvent être légères (coupure électrique) ou graves (dégradation générale ou locale d’un disque). Un des rôles des SGBD est d’assurer la pérennité des données, même en cas de panne. Nous expliquons les techniques et méthodes permettant de reprendre le fonctionnement d’un SGBD après une panne, en garantissant l’absence de perte de données
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3
Verrouillage hiérarchique
collection
7 vidéos

Transactions et concurrence

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Une application qui utilise un SGBD doit pouvoir fonctionner (i) sans courir de risque en cas de panne, et (ii) sans être perturbée par d’autres applications qui s’exécutent en même temps. Nous présenterons le concept fondamental pour garantir que c’est le cas, la transaction, et des techniques pour garantir que plusieurs applications ne puissent se gêner mutuellement.
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3
Optimisation
collection
7 vidéos

Exécution et optimisation

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Une des fonctionnalités les plus puissantes et les plus appréciables des SGBD est leur capacité à engendrer à la volée un programme d’évaluation très performant quand une requête leur est soumise. Cela décharge l’utilisateur de cette tâche complexe, et surtout cela garantit une adaptation constante aux ressources disponibles et au contexte. Nous expliquerons comment une requête SQL est transformée en un plan d’exécution, les principaux opérateurs constituant ce dernier, et les méthodes d’optimisation pour arriver au meilleur plan possible.
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3
Conclusion : cinq tendances
collection
7 vidéos

Bases de données distribuées

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Les données d’une application sont très souvent distribuées entre plusieurs systèmes. Le but de cette partie est d’expliquer pourquoi, dans le cadre de la gestion de données, on distribue des données ou des calculs entre plusieurs machines, et comment une telle distribution est réalisée.
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3
Modèle de contrôle d'accès obligatoire (MAC)
collection
4 vidéos

Contrôle d'accès

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Le contrôle d'accès permet de définir qui a le droit d'accéder à certaines informations de la base, afin d'assurer la confidentialité des données.
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3
Multi-hachage
collection
7 vidéos

Indexation

  • ABITEBOUL Serge
  • NGUYEN Benjamin
  • RIGAUX Philippe
Un index permet de retrouver une information élémentaire dans une grande collection. Nous présenterons les deux structures de données les plus standards pour implémenter efficacement des index, l’arbre B, et la table de hachage. Ces structures sont au cœur de l’optimisation de requêtes que nous considèrerons dans la semaine suivante.
02.03.2015
  • niveau 1 niveau 2 niveau 3
  • document 1 document 2 document 3

Vidéo pédagogique

Intervenants