Salut tout le monde ! Aujourd’hui, on démarre un nouveau cours de ouf sur SQL.
Ce cours est fait pour les gens (t’es sûr que t’es pas un robot ?) qui ne connaissent rien à SQL, mais qui veulent vraiment changer ça 🧠. Tu vas commencer par les bases, et finir par apprendre les procédures stockées, les transactions imbriquées, les triggers et même l’automatisation de la création de rapports.
Dans ce cours, tu vas avoir des centaines d’exos pratiques pour bien connecter la théorie à la vraie vie avec SQL. Et à la toute fin, il y aura un gros projet final avec 100+ tables 😅.
Notre but — te rendre à l’aise avec SQL pour résoudre n’importe quel problème de data. À la fin du cours, SQL sera pour toi un outil super intuitif. Tu ne vas plus galérer à écrire des requêtes, à designer des bases ou à résoudre des problèmes analytiques — tout va devenir naturel et rapide.
Notre façon de présenter le contenu
Pendant le cours, certains sujets seront juste évoqués, puis détaillés dans des leçons séparées. Par exemple, quand on découvre le modèle relationnel, on ne peut pas ne pas parler des liens entre les tables. Pareil, au début, on va montrer des schémas de bases ou des exemples très simples, sans trop de détails, pour ne pas te noyer d’infos.
Cette approche est nécessaire pour apprendre étape par étape — pour expliquer un truc, il faut souvent donner une idée de base sur d’autres. Donc t’inquiète, tous les trous seront comblés au fur et à mesure.
Structure du cours
Le cours est organisé par niveaux, chacun avec plusieurs leçons. Dans chaque leçon, tu trouveras de la théorie, des exos pratiques et des tests pour bien ancrer tout ça.
Au début, tu pourras tout faire direct sur le site — pas besoin d’installer quoi que ce soit. Et après quelques niveaux, on installera ensemble PostgreSQL, une IDE pro et les plugins nécessaires. Tout doucement, dans l’ordre.
Pourquoi PostgreSQL ?
PostgreSQL — c’est une base de données super puissante et ultra populaire, ses possibilités suffisent pour n’importe quel projet. Les banques, les startups, les shops, les studios de jeux l’utilisent. Avec, tu peux créer un Instagram ou même une centrale nucléaire qui gère des machines à café. Et si tu veux aller plus loin, après PostgreSQL, c’est super simple de passer à des trucs plus “lourds” comme Microsoft SQL Server ou même Oracle DB(!).
On va tout faire sur la base PostgreSQL 17. Et franchement, fais pareil !
Tout ça, c’est pour plus tard, mais aujourd’hui on commence par le tout début...
Mais c’est quoi une base de données ?
Imagine que tu gardes toutes tes infos importantes — mots de passe, listes de courses, numéros d’ex, recettes préférées — dans un énorme tableau Excel appelé "vie.xlsx" 📉. Chaque jour, ce tableau grossit, rame, bug, et à un moment tu piges : il est temps de passer à un truc plus sérieux pour stocker tes données. Il est temps de passer aux bases de données.
Une base de données — ce n’est pas juste un tableau. C’est comme Excel, mais en mode Super-Excel : elle sait chercher vite, filtrer, mettre à jour les données. Elle n’a pas peur des millions de lignes, elle rame pas et elle ne te sort jamais « fichier corrompu » 💔. Bref, c’est comme un assistant boosté qui n’oublie jamais où t’as mis le numéro de cette fameuse personne croisée en 2019, avant le covid.
Pourquoi j’en aurais besoin ?
— tu vas demander. Et est-ce que j’en ai vraiment besoin ? Je m’en sers jamais... T’es sûr ?
Tout dans ton téléphone est stocké dans des bases de données. Les photos, messages, mails, notes — TOUT est dans des bases de données. Même si t’es passé au cloud, c’est pas fini — maintenant tes données sont dans le cloud, mais toujours dans des bases de données 😬. Tout le web, toutes les données du monde sont dans des bases de données. Et si t’es dans l’IT, tu peux bien gagner ta vie avec ça 💰.
Non, sérieux, c’est vrai ! Regarde :
- E-shops : quand tu ajoutes un produit au panier, la base de données s’active pour garder ton choix et ensuite envoyer les infos pour le paiement.
- Réseaux sociaux : likes, commentaires, potes — tout ça est stocké dans des bases de données.
- Système bancaire : les bases de données permettent de suivre le solde, faire des transactions et avoir un accès instantané à l’info.
Tout ça, c’est possible grâce aux bases de données, qui assurent :
- Stockage : les données ne se perdent pas, comme une caisse entière de papiers.
- Gestion : les données sont organisées, structurées et accessibles.
- Extraction : tu peux choper une info précise vite fait, bien fait.
Les éléments de base d’une base de données
Une base de données est construite sur quelques briques de base, que tu vas découvrir maintenant. Pour l’instant, on va comparer simplement — une base de données, c’est comme des tableaux dans Excel (mais en mieux !).
Les tables
Imagine un tableau Excel : il y a des lignes et des colonnes, tout est bien rangé. Pareil pour une table dans une base de données. Une table, c’est la structure principale pour stocker les données dans une base.
Chaque table :
- A un nom (genre
studentsoucourses). - Est composée de lignes et de colonnes.
Les lignes
Les lignes — ce sont les enregistrements ou objets que tu stockes. Une ligne = un objet/une entité, par exemple les infos d’un étudiant.
Exemple de ligne dans une base sur les étudiants :
id: 1, nom: Alex, âge: 20, groupe: A1
Les colonnes
Les colonnes — ce sont les propriétés ou attributs de l’objet. On peut aussi dire “colonnes”. Par exemple :
id— numéro unique de l’étudiant.nom— son prénom.âge— son âge.groupe— le nom du groupe où il étudie.
Ce système permet de découper les données et de toujours savoir où chercher quoi.
Voilà à quoi ressemble notre table students :
Comment ça marche en vrai ?
Pour les tableaux Excel, on a un logiciel (Microsoft Excel) et ses fichiers. Pareil pour les bases de données. Le logiciel de base de données, on l’appelle SGBD (Système de gestion de base de données), et ses “fichiers” — juste des bases de données.
Le SGBD permet de :
- Ajouter de nouvelles lignes dans les tables (genre un nouvel étudiant).
- Modifier les données dans n’importe quelle colonne.
- Chercher des infos, par exemple : "Trouve tous les étudiants du groupe A1".
- Supprimer des lignes si elles ne servent plus.
Le process pour bosser avec les données via un SGBD
Toi, en tant qu’utilisateur ou dev, tu bosses pas direct sur les fichiers où sont les données. À la place, tu formules ta “requête” — ce que tu veux obtenir ou modifier — et tu l’envoies au SGBD. Le plus souvent, on utilise un langage spécial pour ça, et le plus connu, c’est SQL, qu’on va apprendre ici. Le SGBD prend ta requête SQL, la “comprend”, va voir la base, fait les opérations nécessaires et te renvoie le résultat.
Un schéma ultra simple du fonctionnement d’une base :
- L’utilisateur crée une requête.
- La requête part au SGBD.
- Le SGBD va voir la base de données.
- La base renvoie l’info au SGBD.
- Le SGBD traite les données selon la requête.
- Le résultat revient à l’utilisateur.
Pourquoi utiliser des bases de données ?
À ce stade, certains se disent : "C’est juste un Excel amélioré, pourquoi se prendre la tête ?"
Voilà quelques raisons pour lesquelles les bases de données sont indispensables :
- Gérer de gros volumes de données. Imagine gérer les données de millions d’utilisateurs. Excel va exploser.
- Accès facile à l’info. Si tu demandes "Trouve tous les étudiants de plus de 20 ans du groupe A1", une base de données fait ça en quelques millisecondes. Excel... bon courage.
- Organisation et intégrité des données. Les bases garantissent que l’info reste organisée et cohérente.
- Accès multi-utilisateurs. Toi et ton collègue pouvez bosser sur la même base sans souci. Sa structure le permet.
Imagine que tu crées un e-shop. Tu dois stocker les infos sur les produits (noms, prix, catégories), sur tes clients (noms, contacts) et bien sûr sur les commandes (qui a acheté quoi et quand). Si tu mets tout ça dans un seul gros tableau, il va vite devenir ingérable, les données vont se répéter, et tu vas galérer à trouver ou mettre à jour sans faire d’erreurs.
Les bases de données proposent une solution plus élégante : séparer l’info en blocs logiques (tables). Chaque table va garder les données d’un seul type d’objet (genre que les produits ou que les utilisateurs). Et le plus cool, c’est qu’on peut relier ces tables entre elles pour refléter les vraies relations, genre quel utilisateur a commandé quel produit.
Mais pourquoi t’as besoin de tout ça ?
Si tu fais du backend ou que tu bosses avec des données — les bases de données seront toujours là.
Et voilà à qui ça sert vraiment :
- 💻 Aux devs web — pour stocker les users, posts, paniers et tout le reste.
- 📊 Aux analystes — pour sortir les bons chiffres et faire des rapports.
- 🛠️ Aux admins — pour que les bases ne rament pas et ne plantent pas.
- 🧠 Aux devs — pour que les applis soient pas juste vivantes, mais intelligentes et dynamiques.
Et ouais — en entretien, on adore parler bases de données. Presque toujours, on te demandera au moins d’écrire une requête SQL ou d’expliquer c’est quoi un JOIN.
Donc si tu veux avancer — mieux vaut devenir pote avec les bases. C’est un de ces skills qui te rend vraiment confiant en tant que dev.
GO TO FULL VERSION