Site de Bertrand LIAUDET

GC4-2024-2025 - S1 - Bases de données - MySQL - Dév - Lundi après-midi

21 octobre 2024, par Bertrand LIAUDET


Objectifs du cours

  • L’objectif est de savoir créer des bases de données, des tables et des données dans les tables ; et de pouvoir sélectionner-créer-modifier-supprimer des données.
  • 8 séances :
  • Introduction générale aux bases de données
  • Installation d’un client et d’un serveur de BD MySQL
  • Traitements de données SQL sur une seule table : SELECT-FROM-WHERE-ORDER BY-etc.
  • Création de la base de données : DDL et DML-Insert.
  • Création et modification de données : DML (insert, update, delete).
  • Traitements dans plusieurs tables : SELECT-JOIN-LEFT-IN-NOT IN-etc. : SELECT, DDL et DML.
  • Plan du cours 2024-2025 - 1er semestre

    J-1 Lundi 21/10 : Introduction et bases du langage SQL

  • SGBD_SQL_intro_courte -> ici
  • Informatique et computer science
  • Composants matériels d’un ordinateurs.
  • Composants logiciels d’un ordinateurs.
  • Fichiers et dossiers.
  • Arborescence
  • La BD, c’est quoi ?
  • Principes des données
  • Principes des traitements
  • Sélectionner et trier les données
  • Créer la table pour les données
  • Créer les données dans la table
  • Créer la BD dans laquelle on met la table et ses données (la BD joue le rôle d’un dossier)
  • La BD, c’est pour qui ?
  • Organisation client-serveur.

  • Exercice de SQL : sur papier pour commencer.
  • On fait de requêtes sur la base de l’introduction.
  • On fait de requêtes sur la base de ce code : ici

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relisez tous les documents et codes du jour :
  • Comprennez bien le format d’une table de BD
  • Refaites tous les exemples et exercices de SQL


  • J-2 Lundi 28/10 : Introduction et bases du langage SQL


  • Installation d’un Système de Gestion de Base de Données (SGBD) : le programme pour coder du SQL
  • On installe WAMP
  • On peut le charger sur internet :
  • Attention quand on fait l’installation, il faut lire et traiter le message en rouge
  • On peut prendre la version du prof : il y a un "lisez-moi" dedans et les 4 programmes à installer numéroté dans l’ordre.
  • Document pour l’usage de WAMP et de PhpMyAdmin -> ici
  • TP 0 : élèves -> ici
  • TP 1 : emp -> ici

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relisez tous les documents et codes du jour : c’est le corrigé du TP 0 : élèves, étape par étape.
  • Finissez le TP-0 : il reste des questions à traiter.
  • Commencez le TP 1 : emp (les 19 premières questions).


  • J-3 Lundi 4/11 : Bases du langage SQL - Select mono-tables


  • Fin du TP 0 de la semaine passée : on part du corrigé livré et des questions dans le sujet : ici et
  • On revient sur les jointures.
  • On aborde la relation 1 à plusieurs et la modélisation de relations 1 à plusieurs (cf les tableaux livrés).
  • Début du TP 1 de la semaine passée : Select mono-table
  • On part des questions dans le sujet : ici
  • la présentation théorique est faites pour chaque bloc de question dans un sharemycode
  • Cours Select mono-table : présentation complète -> ici
  • Première approche du DML : insert, update, delete sur la table employes

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Finir l’installation de WAMP !
  • Faire, refaire ou finir le TP0 :
  • Relisez le corrigé du TP 0 qui est fini.
  • Relisez les tableau SQL et modélisation pour accompagner le TP 0.
  • Faire, refaire ou finir les exercices 3 à 5 du TP1 :
  • Relisez le corrigé des exercices 1 à 5 du TP 1.
  • Relisez le document sharemycode.txt.
  • Continuez le TP 1 : faire les séries 6 0 9 puis 10 à 14.



    J-4 Lundi 18/11 : Bases du langage SQL - Select mono-tables


  • Suite du TP 1 de la semaine passée : Select mono-table
  • On part de la livraison de la semaine dernière -> ici
  • Les questions sont dans le sujet. On commence à partir de 6 -> ici
  • la présentation théorique est faites pour chaque bloc de question dans un sharemycode
  • Cours Select mono-table : présentation complète -> ici

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relire les exercices jusqu’au 24
  • Faire les exercices 15, 16, 17, 21, 22
  • Faire les exercices 24, 8ter et 27bis


  • J-5 Lundi 25/11 : Bases du langage SQL - Select mono-tables

  • Point d’étape : on vérifie l’état d’acquisition des connaissances sur le corrigé des exercices demandés : 1 élève au tableau, vérification du code de tout le monde !
  • Corrigé des exercices demandés : 15, 16, 17, 21, 22, 24, 8ter et 27bis
  • variables @nom_var : 8bis et 9bis
  • Première approche du DML : insert, update, delete sur la table employes : cours et TD. On a commencé.
  • Ensuite, pas fait, on fera les jointures. En dernier, on fera les statistiques

  • Documents et code du jour (quand le cours est fini !) -> ici


  • J-6 Lundi 2/12 : Bases du langage SQL - Select mono-tables

  • Suite et fin du DML : insert, update, delete sur la table employes : cours et TD. On finit les exercices en partant du corrigé de la semaine dernière.
  • On commence les jointures en abordant les notions de clé primaire et de clé étrangère à l’occasion des update et des delete.
  • On ajoute une clé étrangère dans le DDL avec un ALTER : on montre qu’il vaut mieux la mettre après les INSERT.
  • On montre les conséquences de la clé étrangère sur les update et les delete : ça empêche des opérations qui ferait qu’une clé étrangère, c’est-à-dire une référence, référencerait une ligne (identifiée par sa clé primaire) qui n’existe pas.
  • Dans le DDL, on trouve une jointure un peu subtile avec LEFT JOIN

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relire les exercices de DML
  • Comprendre l’ALTER
  • Créez une table des départements avec un nom de département et une ville de département. On rappelle qu’un département, c’est un service de l’entreprise. Mettez autant de départements que nécessaire, plus 1. Ajoutez l’ALTER pour gérer la clé étrangère.
  • Ecrivez une requête qui supprime un département vide. Un département vide est un département dans lequel aucun employé ne travaille.
  • Ecrivez une requête qui essaye de supprimer un département non vide.


  • J-7 Lundi 9/12 : Bases du langage SQL - Select multi-tables

  • Cours : Select multi-tables. Essentiellement la "jointure naturelle : clé étrangère vers clé primaire. Présentation complète -> ici
  • TP : la BD de travail avec les jointures : -> ici
  • TP : les questions à traiter sur les jointures : -> ici

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour la prochaine fois :

  • Relire les exercices de SELECT
  • Finir tout jusqu’à la 403.


  • J-8 Lundi 16/12 : Bases du langage SQL - Select multi-tables

  • On continue le TP avec les exercices sur la BD employés et projets.
  • On fait les jointures non naturelles (uniquement avec des requêtes imbriquées).

  • Documents et code du jour (quand le cours est fini !) -> ici
  • A faire pour vous entrainez :

  • Relire les corrigés
  • Faire ious les exercices qu’on n’a pas fait !


  • Modalités d’examens

  • L’examen se fera sur papier, sans machine, sans téléphone, sans réseau, sans document, sans communication avec d’autres personnes.
  • L’examen portera sur le SQL : DDL, DML et SELECT : vous devez savoir faire les exemples vus en cours.
  • Appuyez-vous sur les corrigés donnés sur la site à la fin des cours.


  • X



    Compléments de cours :

  • Introduction courte aux bases de données SQL -> ici
  • Introduction aux bases de données SQL - 1 : présentation complète -> ici
  • Introduction aux bases de données SQL - 2 : présentation complète -> ici
  • Select mono-table : présentation complète -> ici
  • Select multi-tables : présentation complète -> ici
  • Liste des principaux mot-clés du SQL -> ici
  • Document pour l’usage de WAMP et de PhpMyAdmin -> ici
  • Raccourcis VS Code -> ici


  • X



    Installations de base :

  • Chrome ou Firefox. Pas Edge !!!
  • Visual Studio Code
  • Sublime Text
  • WAMP : le relier à Chrome ou Firefox et à Sublime Text