Guide · Données

Bases de données et SQL

Presque toute application repose sur une base de données. En comprendre les principes évite bien des ennuis.

Lecture ~12 minBases de données · SQL · Guide

Une base de données range l'information de façon à pouvoir la retrouver, la relier et la mettre à jour de manière fiable. SQL est le langage pour l'interroger. Ces notions servent à tout développeur, même sans être spécialiste.

Elles complètent Apprendre à coder.

01 — Relationnel ou non

Deux familles, deux usages

TypeIdéeBon pour
Relationnel (SQL)Des tables reliées par des clésDonnées structurées, cohérence, comptabilité, catalogues
Non relationnel (NoSQL)Documents, clé-valeur, graphesVolumétrie élevée, schéma souple, cache, temps réel

02 — Les briques

Tables, clés, relations

  • Une table = des lignes (enregistrements) et des colonnes (champs).
  • Clé primaire : identifie chaque ligne de façon unique.
  • Clé étrangère : relie une table à une autre (une commande appartient à un client).

03 — Les requêtes de base

Lire et croiser

  • SELECT … WHERE … : lire des lignes selon un critère.
  • JOIN : combiner des tables reliées.
  • GROUP BY … avec des fonctions d'agrégat : compter, sommer, moyenner.
  • ORDER BY, LIMIT : trier et paginer.

04 — Performance

Les index, à bon escient

Un index accélère la lecture sur une colonne souvent filtrée, au prix d'écritures un peu plus lentes et d'espace disque. On indexe les colonnes des JOIN et des WHERE fréquents, pas tout.

05 — Sécurité et sauvegardes

Deux erreurs à ne jamais faire

  • Ne jamais construire une requête en collant l'entrée utilisateur : utiliser des requêtes paramétrées (contre l'injection SQL).
  • Sauvegardes automatiques testées : une base sans sauvegarde vérifiée est une bombe à retardement.

06 — Questions fréquentes

Questions fréquentes

Faut-il connaître SQL si on utilise un ORM ?

Oui. L'ORM aide au quotidien, mais comprendre le SQL généré est indispensable pour déboguer et optimiser.

Quelle base choisir pour débuter ?

Une base relationnelle éprouvée (PostgreSQL, MySQL/MariaDB, SQLite pour l'apprentissage). NoSQL vient pour des besoins précis.

Comment éviter les injections SQL ?

Requêtes paramétrées systématiques, validation des entrées, droits minimaux pour le compte applicatif.

07 — Ressources & liens

Où aller, concrètement

Apprendre