Cours de Bases de Données de L2
(2018-2019)

Organisation
Le cours d'amphi a lieu le vendredi de 8h30 à 10h30 en Amphi 2A à la Halle
aux Farines (premier cours le 14 septembre). Le premier TP aura lieu la
semaine du 17 septembre 2018. Des informations concernant les TPs sont
disponibles sur la page
Moodle du cours.
Transparents du cours
- Séance du 14/09/2018:
Introduction et modèle relationnel, début SQL et Algèbre
Relationnelle (jusqu'au transparent 63), (ici
un mémo avec les définitions des opérateurs principaux de l'algèbre
relationnelle)
- Séance du 21/09/2018: SQL et Algèbre Relationnelle (jusqu'au
transparent 108)
- Séance du 28/09/2018: SQL
et Algèbre Relationnelle (fin, i.e., jusqu'au transparent 195)
- Séance du 05/10/2018: Contraintes,
SQL comme langage de définition et manipulation de données, Introduction
à la notion d'index (pour la syntaxe postgresql, voir e.g.
https://www.postgresql.org/docs/9.6/static/sql-createindex.html)
- Séance du 12/10/2018: Modélisation Conceptuelle (jusqu'au transparent
91)
- Séance du 19/10/2018: Modélisation
Conceptuelle (jusqu'au transparent 142), exemple
détaillé de modélisation avec passage aux tables
- Séance du 26/10/2018: fin formes normales et post scriptum dernière
séance + début SQL avancé (début agrégation)
- Séance du 02/11/2018: SQL avancé
(agrégation, sous requêtes)
- Séance du 09/11/2018: Information
incomplète : sémantique de SQL en présence de nulls, jointures
externes
- Séance du 16/11/2018: SQL avancé (vues et
tables temporaires, mise à jour de vues, requêtes récursives)
- Séance du 23/11/2018: Séance annulée
- Séance du 30/11/2018: Calcul relationnel et
théorème de Codd
- Séance du 07/12/2018: Révisions (correction de l'examen
de seconde session de l'année dernière)
Lectures et documents complémentaires
- La documentation officielle
de PostgreSQL en français.
- Database
System Concepts: ouvrage de référence utilisé pour ce cours. A
lire en particulier si vous avez envie d'en savoir plus sur
l'architecture physique d'un SGBD et sur l'optimisation des requêtes
(chapitres 10 à 13). Malgré quelques petites différences, le chapitre 7
peut également servir de référence pour la partie du cours traitant de
la modélisation conceptuelle.
- Database Systems - Concepts,
Languages and Architectures : un livre de référence très clair et
complet. Pour ce cours vous pouvez vous limiter à regarder
l'introduction, ainsi que les parties I et II (une partie du reste est
d'ailleurs probablement déjà un peu datée).
- Bases de Données
et Modèles de Calcul: la partie sur les modèles de calcul ne nous
concerne pas mais le reste a le mérite d'être en français et pourrait
vous être utile!
- FLOT
: Bases de données relationnelles: un excellent MOOC en Français
de Serge Abiteboul (assez accès sur les fondements théoriques).
- Introduction
to Databases: un excellent MOOC en anglais de Jennifer Widom.
- Cours de bases de données - Modèles
et langages, 2002-2015 : le cours de Philippe Rigaux, en français,
très complet.
- Introduction aux Bases de données
relationnelles: le programme d'informatique non optionnelle en
classes préparatoires scientifiques.
- Foundations of Databases:
un ouvrage de référence classique, à consulter si les fondements
théoriques du domaine vous intéressent (disponible également en
Français).
-
Bases de données : comprendre pour maîtriser : un cours avancé, en
ligne, clair, concis et en vidéo, si vous avez envie d'aller plus loin.
- Cours
de Serge Abiteboul au Collège de France: une série de vidéos pour
comprendre les questions actuelles liées aux bases de données.
Pour s'entraîner en ligne à l'écriture de
requêtes SQL
- SQL sandbox :
un environnement SQL qui vous permet de pratiquer librement depuis votre
navigateur (schéma et tables déjà créés).
- SQL Fiddle : une application pour
tester vos requêtes SQL (en créant vos propres schémas et tables).
Contrôle des connaissances
Il y aura un projet (note 1), dont le sujet sera diffusé à la mi octobre,
deux interrogations écrites faites en TP, dont la moyenne donnera une note
de contrôle continu (note 2) et un examen terminal (note 3). Le projet
sera à rendre en deux temps : modélisation conceptuelle, puis création
d'une base de données et écriture de requêtes sur cette base. En première
session, la note finale sera obtenue de la façon suivante: (0,35 *
Moyenne(note 1, note 2)) + (0,65 * note 3). En seconde session la note
obtenue lors de l'examen de rattrapage sera simplement substituée à Note
3. Attention : le premier contrôle aura lieu en TP la
semaine du 8 octobre. Trois exemples d'examen des années passées
non corrigés : 2012-2013-1, 2012-2013-2
et 2013-2014 et deux exemples
corrigés : 2016-2017-1, 2016-2017-2.
Un exemple de partiel non corrigé : 2015-2016-partiel.
Attention: la partie 4 des deux premiers énoncés ne nous concerne pas, car
nous n'aborderons pas la concurrence.