Le SGBD : rôle, fonctions et principaux logiciels
Derrière chaque ERP, chaque site e-commerce, chaque application métier, un même logiciel travaille en coulisses : le système de gestion de bases de données. Connaître la définition du SGBD, son rôle et ses fonctions est un attendu direct du programme de l'UE 8 du DCG, et une question de cours classique : le candidat doit comprendre la logique de ces outils et savoir les situer dans le système d'information.
SGBD : définition et rôle
Un SGBD (système de gestion de bases de données), et plus précisément un SGBDR pour les bases relationnelles, est le logiciel qui stocke la base de données et exécute les requêtes. C'est lui qui donne vie au modèle relationnel : il permet de créer les tables, d'y saisir des données, de les interroger en SQL et de produire des résultats exploitables. Access, MySQL ou PostgreSQL en sont des exemples.
Son rôle dépasse le simple stockage : le SGBDR garantit l'organisation, la cohérence et la sécurité des données. Il est au coeur de tout système d'information informatisé : qu'un comptable consulte une facture dans l'ERP ou qu'un client valide un panier en ligne, c'est un SGBDR qui lit et écrit les données.
Les fonctions d'un SGBD
Cinq fonctions structurent le rôle du SGBDR :
- L'organisation des données : tables (lignes et colonnes typées), relations entre tables, index qui accélèrent les recherches.
- L'intégrité des données : le SGBDR fait respecter les contraintes, au premier rang desquelles l'intégrité référentielle, qui interdit de référencer une ligne inexistante. Concrètement, impossible d'enregistrer une commande pour un client qui n'existe pas, ou de supprimer un client tant qu'il possède des commandes.
- La gestion des transactions : un ensemble d'opérations s'exécute en « tout ou rien » ; soit tout réussit, soit tout est annulé. Indispensable en gestion : un virement qui débite un compte sans créditer l'autre serait une catastrophe.
- La sécurité et les habilitations : chaque utilisateur reçoit des droits précis (lecture, écriture, modification, suppression) ; un commercial peut consulter les clients sans pouvoir effacer les factures.
- Les accès concurrents et la sauvegarde : plusieurs utilisateurs travaillent simultanément sur la base sans se corrompre mutuellement, et des copies de sauvegarde permettent de restaurer la base après un incident.
Les composants d'un SGBDR : tables, requêtes, formulaires, états
Quatre objets composent une base de données bureautique type :
- Les tables stockent effectivement les données ; chaque champ a un type (texte, entier, décimal, date, booléen, numéro auto-incrémenté) et des propriétés (obligatoire, valeur par défaut, règle de validation).
- Les requêtes exploitent les données : requêtes de sélection (SELECT, qui lisent sans modifier) et requêtes d'action (INSERT, UPDATE, DELETE, qui modifient les données).
- Les formulaires sont des interfaces de saisie conviviales : ils remplacent la saisie directe dans la grille par un écran structuré, avec des contrôles (listes déroulantes, masques de saisie, valeurs par défaut) qui améliorent la productivité, la qualité des données et la sécurité.
- Les états sont des documents imprimables ou exportables : rapports mis en forme avec regroupements, sous-totaux et totaux généraux.
Un point qui surprend les débutants : les modifications de données sont enregistrées automatiquement, mais les modifications de structure (ajout d'un champ, modification d'une propriété) doivent être sauvegardées explicitement.
Les principaux logiciels du marché
Le paysage des SGBDR s'organise autour de six acteurs à connaître :
- Microsoft Access : propriétaire (suite Office), adapté aux TPE/PME, au prototypage et à la bureautique ; pas conçu pour des millions de lignes.
- MySQL : open source (licence GPL), très répandu pour le web et les applications légères à moyennes.
- PostgreSQL : open source (licence BSD), réputé pour les applications exigeantes et la conformité aux standards.
- SQL Server : propriétaire (Microsoft), orienté grandes entreprises en environnement Windows.
- Oracle Database : propriétaire, pour les très grandes bases et les systèmes critiques.
- SQLite : domaine public, embarqué directement dans les applications mobiles et locales, sans serveur.
Un exemple appliqué : quel SGBD pour quelle organisation ?
Prenons le cas de la société Mediplan, qui conseille quatre organisations clientes. Un cabinet de cinq salariés veut gérer contacts et factures : Access suffit, simple et sans serveur à administrer. Un site e-commerce visant 100 000 visiteurs par jour : MySQL ou PostgreSQL, performants et adaptés au web. Une application mobile qui stocke des données localement sur le téléphone : SQLite, léger et embarqué. Un hôpital gérant 200 000 dossiers patients : Oracle ou PostgreSQL, pour la robustesse transactionnelle et la conformité réglementaire. Le bon choix dépend du volume, de la criticité, du budget et de l'environnement technique : il n'existe pas de « meilleur » SGBDR dans l'absolu.
L'exemple se prolonge dans la conception : pour le cabinet, Mediplan crée une table CLIENT avec un numéro auto-incrémenté en clé primaire, un formulaire de saisie avec liste déroulante (impossible de facturer un client inexistant : l'intégrité référentielle est activée dans la fenêtre des relations), et un état « Factures par mois » avec sous-total par mois et total général.
Les erreurs fréquentes
- Ne pas activer l'intégrité référentielle lors de la création des relations : la base accepte alors des clés étrangères orphelines (une commande sans client), et la cohérence est perdue.
- Stocker un code postal en type numérique : « 01000 » perd son zéro initial ; les codes (postaux, SIRET, téléphones) se stockent en texte.
- Créer une table sans clé primaire : sans elle, impossible d'identifier chaque enregistrement de manière unique.
- Confondre formulaire et état : le formulaire sert à la saisie interactive, l'état à l'impression et à l'export.
- Activer la suppression en cascade sans réfléchir : supprimer un service effacerait tous ses employés ; mieux vaut bloquer et réaffecter avant suppression.
- Oublier d'enregistrer les modifications de structure : contrairement aux données, la structure n'est pas sauvegardée automatiquement.
FAQ
Quelle différence entre SGBD et base de données ?
La base de données est l'ensemble organisé des données (les tables et leur contenu). Le SGBD est le logiciel qui gère cette base : il stocke, interroge, protège et sauvegarde les données. L'analogie : la base est la bibliothèque, le SGBD est le bibliothécaire qui range, retrouve et contrôle les accès.
Pourquoi l'intégrité référentielle est-elle si importante en gestion ?
Parce qu'elle garantit la fiabilité des informations comptables et commerciales : une facture rattachée à un client inexistant, une ligne de commande pointant vers un produit supprimé seraient des incohérences graves. L'intégrité référentielle interdit ces situations à la source : insertion refusée si la clé étrangère ne correspond à rien, suppression bloquée tant que des lignes liées existent.
Access peut-il gérer une grande entreprise ?
Non. Access est conçu pour la bureautique, les TPE/PME et le prototypage. Pour des volumes importants, de nombreux utilisateurs simultanés ou des applications critiques, on se tourne vers MySQL, PostgreSQL, SQL Server ou Oracle, qui fonctionnent en architecture client-serveur et offrent des garanties supérieures de performance et de fiabilité.
Entraînez-vous
Un cabinet médical informatise la gestion de ses rendez-vous : des médecins (nom, spécialité), des patients (nom, prénom, date de naissance, téléphone) et des rendez-vous (date, heure, motif). Un patient peut avoir plusieurs rendez-vous avec différents médecins. 1) Proposez le modèle relationnel (tables, clés primaires et étrangères). 2) Indiquez le type de données de trois champs sensibles : le téléphone, la date du rendez-vous, l'identifiant du médecin. 3) Décrivez le formulaire de prise de rendez-vous (contrôles à prévoir).
Afficher le corrigé
- Modèle relationnel (clé primaire soulignée par convention, # = clé étrangère) :
- MEDECIN(NumMedecin, NomMedecin, Specialite)
- PATIENT(NumPatient, NomPatient, PrenomPatient, DateNaissance, Telephone)
- RENDEZVOUS(NumRDV, DateRDV, HeureRDV, Motif, #NumMedecin, #NumPatient)
La table RENDEZVOUS porte deux clés étrangères : chaque rendez-vous référence un médecin et un patient existants (intégrité référentielle à activer sur les deux relations, de type un à plusieurs).
- Types de données :
- Telephone : VARCHAR(15), c'est-à-dire du texte, jamais un type numérique, car un numéro commençant par 0 perdrait son zéro initial.
- DateRDV : DATE, avec contrainte NOT NULL (champ obligatoire) ; l'heure est stockée à part en TIME.
- NumMedecin : INT AUTO_INCREMENT en clé primaire dans MEDECIN (identifiant généré automatiquement), repris en INT simple comme clé étrangère dans RENDEZVOUS.
- Formulaire de prise de rendez-vous :
- NumPatient : liste déroulante alimentée par la table PATIENT (affiche nom et prénom, stocke le numéro) ; empêche de saisir un patient inexistant.
- NumMedecin : liste déroulante affichant nom et spécialité.
- DateRDV : sélecteur de date avec valeur par défaut égale à la date du jour.
- HeureRDV : liste déroulante par créneaux de 15 minutes.
- Motif : zone de texte libre.
- Un bouton « Valider » enregistre le rendez-vous et réinitialise le formulaire.
Ces contrôles illustrent l'apport du formulaire : productivité (saisie guidée), qualité (formats imposés) et sécurité (l'utilisateur ne manipule jamais directement les tables).