- Faculté
- Faculté des lettres, Section des sciences du langage et de l’information, Université de Lausanne
- Niveau
- Master
- Semestre
- Automne 2024
- Langue
- Français
- Séances
- 12
- Prérequis
- Aucun
- Outils
- MariaDB, DBeaver
Ce cours est très pratique : chaque séance alterne slides et travaux pratiques sur une vraie base de données. Les fichiers de cours et de TP sont fournis en zip (scripts SQL, sauvegardes de bases à restaurer, données CSV) et les corrigés sont inclus dans les zips de TP.
Outils nécessaires
Le cours utilise deux logiciels libres, à installer avant la première séance de TP en suivant le guide d’installation ci-dessous :
- MariaDB, le système de gestion de bases de données : https://mariadb.org/
- DBeaver, le logiciel d’administration qui sert d’interface graphique : https://dbeaver.io/download/
TP 1 : Guide d’installation de MariaDB et DBeaver
Ressources utiles tout au long du semestre : le MariaDB Tutorial et la documentation de DBeaver.
Séance 1 : Introduction aux bases de données
Date : 18 septembre 2024
Pourquoi des bases de données ? Les notions fondamentales du modèle relationnel : tables, relations, clés, types de données, et le rôle d’un système de gestion de bases de données.
Séance 2 : Prise en main de MariaDB, SQL et DBeaver
Date : 25 septembre 2024
Premiers pas dans DBeaver et premières requêtes SQL : créer une base, créer des tables, importer des données et interroger une base de pays et de langues.
Séance 3 : SQL 2
Date : 2 octobre 2024
Les requêtes SELECT en profondeur : filtres, tri, fonctions, et premières jointures sur la base world. Le TP travaille sur la base employees, à restaurer depuis la sauvegarde fournie.
Séance 4 : SQL 3
Date : 9 octobre 2024
Jointures multiples, agrégations et sous-requêtes. Le TP introduit la base de jeux vidéo, utilisée à plusieurs reprises dans la suite du cours et décrite dans un document à part.
Séance 5 : Récolte de données et pré-traitements
Date : 16 octobre 2024
Les formats de données (CSV, JSON, XML, HTML), les sites de données ouvertes et les API REST. Les scripts Python montrent comment interroger une API et aplatir un JSON en table.
5. Récolte de données et pré-traitements
Fichiers du cours 5 (exemples de formats)
Séance 6 : Conception de bases de données, modélisation logique
Date : 23 octobre 2024
Du besoin au modèle : entités, associations, cardinalités et diagramme entité-association, à partir d’un jeu de données sur les pays européens.
Séance 7 : Schéma relationnel et normalisation
Date : 30 octobre 2024
Passage du modèle logique au schéma relationnel, puis les formes normales pour éviter redondances et anomalies. Le TP poursuit la modélisation des données Airbnb, avec un corrigé détaillé.
Séance 8 : SQL 4
Date : 13 novembre 2024
SQL avancé, première partie : jointures externes, opérateurs ensemblistes et requêtes imbriquées, sur la base golf en cours et la base de jeux vidéo en TP.
Séance 9 : SQL 5
Date : 20 novembre 2024
SQL avancé, seconde partie : fonctions, procédures stockées et transformation de tables (unpivot). Le TP porte sur une base de jeux de société.
Séance 10 : Peuplement d’une base de données
Date : 27 novembre 2024
Comment remplir une base à partir de fichiers bruts : tables temporaires, transformations et insertions, illustrées sur les pays européens et leurs émissions de CO2.
Séance 11 : Vues et statistiques
Date : 4 décembre 2024
Les vues pour simplifier l’accès aux données, et les requêtes statistiques pour explorer une base : comptages, moyennes, distributions.
Séance 12 : Bases de données en backend et NoSQL
Date : 11 décembre 2024
Ouverture : accéder à une base depuis Python et un backend d’application, puis panorama des systèmes NoSQL (documents, clés-valeurs, graphes) et de leurs usages.