Bases de Données Relationnelles et SQL
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
- https://laurent-audibert.developpez.com/Cours-BD/
- https://upinfo.univ-cotedazur.fr/im/bases-de-donnees/
- https://oseox.fr/sql/
- https://learnsql.fr/blog/aide-memoire-pour-les-entretiens-sql/
- https://datascientest.com/base-de-donnees-definition
- https://www.postgresql.org/docs/current/sql.html
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