Aller au contenu
Sommaire

Fiche mémo Bases de données

Fiche mémo · environ 3 min de lecture

Validé

Validé. Ce site n’exécute aucune commande. Sources

Familles

FamilleIdéeExemple cité
Relationnelletables + clés + SQLPostgreSQL, MySQL/MariaDB, SQLite, SQL Server
DocumentsJSON/BSON imbriquésMongoDB
Clé-valeurclé vers valeur/structureRedis
Colonnes largesnon documenté icinon vérifié

Embarqué (fichier, SQLite) ou serveur (processus + réseau).

Clés et contraintes

NotionRappel
Clé primaireidentifie une ligne, unique, jamais nulle
Clé étrangèreréférence la clé d'une autre table
UNIQUEpas de doublons ; traitement de NULL variable selon le moteur
NOT NULLvaleur obligatoire
CHECKrègle sur la valeur
Association N:Ntable avec deux clés étrangères

SQLite : clés étrangères désactivées par défaut (à activer par connexion).

Normalisation

  • 1re forme : une valeur atomique par cellule.
  • 2e forme : dépend de toute la clé.
  • 3e forme : pas de dépendance entre attributs non clés.
  • Dénormaliser : après mesure, en connaissance de la cohérence à maintenir.

Index

SujetRepère
Gainégalité, plage, tri, jointure
Coûtespace, écritures plus lentes
PostgreSQLB-tree (défaut), Hash, GiST, SP-GiST, GIN, BRIN
Compositel'ordre des colonnes compte (à confirmer par moteur)
VérifierEXPLAIN avant et après

ACID et isolation

LettreSens
Aatomicité : tout ou rien
Ccohérence : contraintes respectées
Iisolation : transactions simultanées sans interférence
Ddurabilité : un COMMIT survit à une panne
MoteurNiveau par défaut
PostgreSQLRead Committed (Read Uncommitted se comporte comme lui)
MySQL 8.4 (InnoDB)Repeatable Read
SQL ServerRead Committed (versionnement de lignes en option)
SQLitesérialisable, un seul écrivain

Repeatable Read / Serializable (PostgreSQL) : erreur 40001 possible, rejouer la transaction.

Sauvegarde et restauration

TypeExempleRemarque
Logiquepg_dump, mysqldump, .dump (SQLite)portable, restauration plus lente
Physiquecopie de fichiers, instantanéliée à la version
Continue / PITRWAL (PostgreSQL), journal binaire (MySQL)restauration à un instant
RedisRDB, AOF, les deux, aucuneRDB copiable à chaud
  • pg_dump : une base, vue cohérente, sans bloquer ; pas les rôles (pg_dumpall).
  • SQLite : ne pas copier le fichier en cours d'écriture ; .backup, VACUUM INTO.
  • Restaurer en test, chiffrer, garder une copie hors de la machine.

Réplication

ModeEffet
Synchronepas de perte à la bascule, plus lent
Asynchronerapide, perte possible à la bascule, lectures parfois périmées

Une réplique n'est pas une sauvegarde (elle copie aussi les erreurs).

Performances

  1. Mesurer. 2. Lire le plan (EXPLAIN). 3. Corriger (index, requête, volume). 4. Remesurer.

PostgreSQL : EXPLAIN ANALYZE exécute la requête ; pour une écriture, BEGIN puis ROLLBACK.

Sécurité des accès

  • Moindre privilège, un compte par application, lecture seule si possible.
  • Écoute limitée (boucle locale en développement), TLS, pare-feu.
  • Aucun secret dans le code, les commits, les URL ni les journaux.
  • Requêtes paramétrées, jamais de concaténation de texte saisi.
  • Sauvegardes protégées comme la base ; ne pas copier la production en développement sans anonymiser.

Check-list avant d'agir sur une base

  1. Quel moteur, quelle version, quel environnement (jamais la production par défaut) ?
  2. Lecture ou écriture ? Quel effet sur les données ?
  3. Sauvegarde récente et restauration testée ?
  4. Commande relue, WHERE présent pour toute modification ?
  5. Vérification du résultat, retour arrière connu.

Sources

Consultées le 17 octobre 2026.