Bases de Données Relationnelles et SQL

Author

Ludovic Deneuville

Bases de Données Relationnelles et SQL

  • 6h CM
  • 15h TP + 3h TD
  • ludovic.deneuville@ensai.fr
  • bureau 161
  • sur la base des cours de Benjamin Girault

Objectifs

  • Interrogation
  • Création
  • Modélisation
  • Savoir utiliser le langage SQL

UML pour la modélisation

SQL

  • Syntaxe simple
  • Efficace
  • Très utilisé
  • Compétence indispensable du Datascientist
  • ça s’encapsule dans plein de langages (R, Python, Julia, Stata, SAS…)
  • utile pour Big Data

Conventions

  • <...> : texte à remplacer
  • [...] : élément optionnel
  • Une requête se termine par un ;
  • -- Ce qui vient ensuite est commenté
  • Parfois possible d’utiliser /* commentaire */
  • ; : même si les logiciels souvent s’en moquent

Requêtes SQL jolies

  • retour à la ligne
  • mots clés alignés
  • Mots clés en MAJUSCULE
  • Mots clés en MAJUSCULE, reste en minuscules

pasbien.sql
SELECT c.nom AS club, AVG(j.elo) AS moyenne_elo FROM joueuse j INNER JOIN club c USING (id_club) WHERE mail IS NOT NULL GROUP BY c.nom ORDER BY 2 DESC;


bien.sql
SELECT c.nom AS club, 
       AVG(j.elo) AS moyenne_elo
  FROM joueuse j 
 INNER JOIN club c USING (id_club) 
 WHERE j.mail IS NOT NULL 
 GROUP BY c.nom 
 ORDER BY 2 DESC;

Faites un effort pour vous même et pour vos relecteurs

Les TP

  • 5 TP + 1 TD
  • Base de données : PostgreSQL
  • Outils : Datalab, cloudBeaver, DBeaver
  • BDD : PostgreSQL + DuckDB
  • Peut-être un TP sur les VM
    • Dbeaver installé
    • une bdd chacun sur un serveur ENSAI

Ce qu’il faut faire

  • Lire attentivement les consignes
  • Essayer de résoudre par soi même
  • Chercher dans le cours / sur internet
  • Demander de l’aide à ses camarades
  • Demander de l’aide à l’enseignant

ça peut paraitre un peu infentilisant mais c’est nécessaire de le rappeler !!!

si je demande un setup… faites le sinon ça risque de péter plus tard.

À ne pas faire

  • Poster l’énoncé sur ChatGPT
  • Copier / Coller la réponse sans rien comprendre

Sauf si vous voulez ne rien retenir…

  • Je ne dis pas qu’il ne faut jamais utiliser les LLM
  • ça peut servir pour débgugger
  • ou pour des taches sans VA

Évaluation

  • Lundi 6 Janvier 10h
  • Durée : 2h
  • Sur papier
  • Sans documents
  • partie QCM
  • des requêtes SQL à écrire
  • pas de pièges
  • pour vérifier que vous retenez l’essentiel

Bibliographie

Importance de la biblio en projet, stage

  • désolé s’il y a des fautes, j’ai écrit ce cours un peu dans l’urgence
  • n’hésitez pas à me les notifier (pas de point bonus)
  • moi j’ai le droit, après je serai assez intransigent si vous laissez des fautes dans vos rapports