Aller au contenu principal

Bases de données & SQL · L2 · Section 11/11

Ressources

Progression

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Ressources : Bases de données et SQL

#Cours, TD et TP UCA

  • Syllabus officiel SPUF302 : modèle relationnel, entité-association, algèbre relationnelle, SQL, normalisation et contrôle de concurrence.
  • Le fonds local du semestre 3 comprend neuf cours magistraux, dix TD, cinq TP, leurs corrections, des séances de révision et des annales. La progression suit exactement ce module : création d'un schéma relationnel, algèbre relationnelle, consultation SQL, définition de schémas, modélisation entité-association, passage au relationnel, normalisation, puis sérialisabilité des transactions.

#Inventaire détaillé des documents du cours

Cours magistraux. Cours 1 : objectifs, base de données et SGBD, historique et terminologie du modèle relationnel. Cours 2 : introduction à MySQL et phpMyAdmin, types d'attributs, InnoDB, intégrité référentielle et actions ON UPDATE/ON DELETE, résumé du modèle relationnel. Cours 3 : algèbre relationnelle — opérateurs unaires, ensemblistes, jointures, division. Cours 5 et 6 : le langage SQL (partie I : format des requêtes, conditions de recherche, fonctions d'agrégat ; partie II : définition et modification de schémas). Cours 8 : gestion des transactions et contrôle de concurrence. Cours 9 : passage du modèle E-A au relationnel et normalisation.

Travaux dirigés et pratiques. TD 1 et TP 1 : création de bases relationnelles avec phpMyAdmin, schéma Etudiant/UE, puis bibliothèque de DVD. TD 2 : conception de schémas (chantiers, cinémas). TD 3 et sa correction : utilisation du langage algébrique, base MICRO et base des transports. TD 4 : élections cantonales. TD 5 et sa correction : consultation des données en SQL, avec requêtes d'agrégation. TD 6 et TP 3 : création de schémas et modification de données et de structure en SQL. TD 7, TP 4 et leur correction : modélisation Google Calendar (sept tables) et requêtes de consultation. TD 8 et sa correction : diagramme UML. TD 9 et sa correction : transformation E-A vers le relationnel et normalisation. TD 10 et sa correction : contrôle de concurrence, graphes de précédence et graphes d'attente. TP 5 : contrôle continu n°2 de 2013 (CarTrack et Armazon).

Annales et révisions. CC d'octobre 2015 (compagnie maritime, algèbre relationnelle), CC de novembre 2020 (base d'hôtels), CC d'avril 2012 (Apple Store), extraits du contrôle terminal de décembre 2016 (verrouillage en deux phases, ordre des clauses, base Zoo, graphe d'attente, médiathèque), et une session de révision qui reprend les exercices de normalisation et de concurrence. Ces documents sont la source des exercices de la page Annales corrigées.

#Références en ligne

#Outils à installer chez vous

  • sqlite3 en ligne de commande : présent dans les dépôts de toutes les distributions ; .mode column, .headers on et .explain on rendent l'exploration confortable.
  • DBeaver ou Beekeeper Studio : clients graphiques multi-SGBD pour explorer schémas et données.
  • DB Fiddle ou SQLite Online : bancs d'essai SQL dans le navigateur, utiles pour partager une requête avec son schéma.

#Bonnes pratiques à emporter

  • Écrire le modèle et les cardinalités avant la première requête.
  • Préférer les requêtes paramétrées (jamais de concaténation de chaînes) et nommer explicitement les colonnes utiles.
  • Vérifier les dépendances fonctionnelles avant de normaliser.
  • Mesurer avec EXPLAIN QUERY PLAN avant d'ajouter un index, et re-mesurer après.
  • Entraînement conseillé : refaire les TD 3 à 10, puis une annale en temps limité. La page Annales corrigées de ce module rassemble les sujets réellement posés avec leurs corrections détaillées.