SGBD : à quoi sert un système de gestion de base de données
Sommaire5 sections
Un SGBD est le logiciel qui se place entre vous et vos données pour vous éviter de les manipuler à la main. Derrière ce sigle un peu froid se cache un outil que tout le monde côtoie sans le savoir : le carnet de contacts d'un téléphone, l'historique d'achats d'un site marchand ou le catalogue d'une bibliothèque reposent sur un système de gestion de base de données.
Son rôle tient en trois verbes : enregistrer, retrouver et mettre à jour. Un programme classique stocke ses informations dans des fichiers qu'il lit et réécrit lui-même. Un SGBD fait ce travail à la place de toutes les applications qui en ont besoin, avec des garanties qu'un simple fichier texte n'offre pas : deux personnes qui modifient la même fiche au même moment ne s'écrasent pas l'une l'autre, une coupure de courant en plein enregistrement ne laisse pas la base à moitié écrite, et retrouver une ligne parmi des millions se fait en un instant grâce à des index.
Des tables, des colonnes et des clés
Dans un SGBD relationnel, l'information est rangée en tables, un peu comme des feuilles de tableur. Une table clients a des colonnes (nom, adresse, date de naissance), et chaque ligne correspond à un client. Pour relier deux tables entre elles, par exemple une table commandes à la table clients, chaque commande porte une colonne qui contient l'identifiant du client concerné : c'est la clé étrangère. Ce mécanisme évite de répéter l'adresse du client sur chacune de ses commandes.
SQL, le langage pour interroger la base
Pour parler à un SGBD relationnel, on écrit des requêtes en SQL. Une commande du type « donne-moi le nom et la ville de tous les clients de Nantes » se traduit en quelques mots et renvoie la liste demandée, sans que le développeur ait à écrire de boucle pour parcourir les fichiers un par un. C'est le SGBD qui choisit la meilleure façon d'exécuter la demande, souvent en s'appuyant sur des index construits à l'avance sur les colonnes les plus consultées. Apprendre les bases du SQL fait partie des langages de programmation à connaître quand on débute en développement, tant il revient dans les métiers techniques.
Relationnel ou NoSQL : deux familles, deux usages
MySQL, PostgreSQL, SQLite ou Microsoft SQL Server appartiennent à la famille relationnelle : les données sont structurées à l'avance dans des tables aux colonnes fixes, ce qui garantit leur cohérence mais demande de définir un schéma avant d'écrire la moindre ligne. Une autre famille, dite NoSQL (MongoDB, Redis, Cassandra), stocke des documents ou des paires clé-valeur sans schéma rigide. Elle convient bien à des données très changeantes ou à des volumes énormes répartis sur plusieurs machines, au prix d'une cohérence parfois plus souple entre les données.
SQLite mérite une mention à part : contrairement aux autres, il ne tourne pas en tant que serveur séparé, il vit directement dans un fichier sur le disque. C'est le SGBD que l'on retrouve dans la plupart des applications mobiles et dans une bonne partie des petits sites web, faute d'avoir besoin d'une infrastructure dédiée.
Ce qu'un SGBD protège concrètement
Deux garanties séparent un SGBD sérieux d'un simple fichier partagé. La cohérence d'abord : si un virement doit débiter un compte et en créditer un autre, le SGBD s'assure que les deux opérations réussissent ensemble ou échouent ensemble, jamais l'une sans l'autre. Les droits d'accès ensuite : chaque utilisateur ou chaque application reçoit une autorisation précise, lecture seule ou écriture sur une table donnée, plutôt qu'un accès total au fichier brut.
Quand se poser la question du SGBD
Un développeur qui construit une application avec plus de quelques centaines de fiches à gérer, plusieurs utilisateurs qui modifient les mêmes données, ou un besoin de recherche rapide sur de gros volumes, a intérêt à s'appuyer sur un SGBD plutôt que d'inventer son propre système de fichiers. C'est un choix qui se fait tôt dans un projet : changer de SGBD en cours de route demande souvent de réécrire une bonne partie du code qui interroge la base.
Résumer cet article avec :
Partager :
