Introduction aux bases de données — SQLite, requêtes CRUD, Python
Créer et exploiter une base de données SQLite locale avec DB Browser et Python. Passer d'un inventaire Excel fragile à une base structurée et interrogeable.
Le contexte
Kréol’Tek, PME d’infogérance basée à Sainte-Clotilde (8 salariés), gère son inventaire d’équipements clients dans un fichier Excel partagé. Forcément, ça déraille : doublons, données incohérentes, deux techniciens qui éditent en même temps et écrasent leurs modifs, et personne ne sait plus quel poste est encore sous garantie. Le responsable technique en a marre.
La mission, dans la peau d’un technicien Kréol’Tek : migrer cet inventaire vers une base SQLite locale, structurer les tables proprement, écrire les requêtes CRUD pour saisir et chercher l’info, puis automatiser une interrogation avec Python pour générer un état rapide. Pas de serveur SQL, pas de cloud — juste un fichier .db que chacun peut copier sur sa clé USB.
Problématique : comment remplacer un fichier Excel fragile par une base de données SQLite, créer les tables adaptées aux besoins métier, saisir et manipuler les données avec des requêtes SQL, et automatiser les interrogations avec Python ?
Livrable observable — Base kreoltek_inventaire.db avec tables structurées + dossier de preuves CRUD (captures SELECT/INSERT/UPDATE/DELETE) + script Python d’interrogation fonctionnel + fiche de synthèse SQL réutilisable.
Le plan séance par séance
| Séance | Durée | Type | Objectif |
|---|---|---|---|
| S1 | 3 h | TP guidé MAX | Installer DB Browser, créer la base, définir la table equipements, insérer 5 enregistrements de test |
| S2 | 3 h | TD | Requêtes CRUD complètes : SELECT (filtres WHERE, tri ORDER BY), INSERT, UPDATE, DELETE |
| S3 | 3 h | Cours + TP | Synthèse SQL (jointures simples, agrégats COUNT/SUM) + connexion Python avec le module sqlite3 |
| S4 | 3 h | Évaluation | Sommatif : base complète + requêtes + script Python d’interrogation |
Outils : DB Browser for SQLite, Python 3 (sqlite3, optionnel pandas).
Ratio pratique / théorie : ~85 % / 15 %. On crée la base au premier clic, on formalise SQL une fois qu’on a déjà tapé quelques requêtes.
Ce que les élèves repartent capables de faire
- Créer une base SQLite avec DB Browser et définir des tables avec les bons types de colonnes
- Écrire les quatre requêtes CRUD (
SELECT,INSERT,UPDATE,DELETE) sans regarder l’aide - Utiliser des filtres (
WHERE), des tris (ORDER BY) et des agrégats (COUNT,SUM) pour répondre à un besoin métier - Écrire une jointure simple entre deux tables liées
- Connecter Python à une base SQLite avec le module
sqlite3(curseur, exécution, récupération des résultats) - Interroger et afficher des données depuis un script Python autonome
- Argumenter face à un collègue : pourquoi une base bat un fichier Excel partagé en environnement pro
Pour aller plus loin
La séquence est volontairement mono-table au démarrage (la table equipements) pour éviter de noyer les élèves dans le modèle relationnel dès la S1. La jointure n’arrive qu’en S3, quand les requêtes CRUD sont fluides. C’est la première rencontre des élèves avec SQL, et l’objectif est qu’ils en repartent capables de réutiliser SQLite seuls sur un mini-projet, pas qu’ils maîtrisent la troisième forme normale.
Le fichier Excel d’inventaire fictif fourni en S1 sert d’élément déclencheur : les élèves le voient déraper en direct (deux techniciens éditent simultanément, des doublons apparaissent), ce qui motive le passage à SQLite.
L’évaluation sommative (S4, 3 h) reproduit la même situation pro avec un autre client fictif : c’est un test de transfert direct, pas un exercice abstrait.
Documents inclus dans le ZIP
Tous les documents élève prêts à imprimer ou projeter.
Compétences du référentiel visées
Codes du référentiel Bac Pro CIEL.