Spé. NSI · Terminale · cours rédigé et vérifié par Claryo, conforme au Bulletin officiel
Un SGBDR (système de gestion de bases de données relationnelles) est le logiciel qui gère une base de données relationnelle. Il ne faut pas le confondre avec la base elle-même (les données) ni avec SQL (le langage) : le SGBDR est l'outil qui stocke physiquement les données, exécute les requêtes SQL, et fait respecter les contraintes. Des exemples courants sont PostgreSQL, MySQL/MariaDB, SQLite et Oracle.
Le SGBDR assure plusieurs fonctions essentielles : le stockage et l'organisation des données ; l'interrogation et la mise à jour via SQL ; la gestion des droits d'accès (qui peut lire ou écrire quoi, via GRANT et REVOKE) pour la sécurité et la confidentialité ; la gestion de la concurrence (plusieurs utilisateurs en même temps) ; la garantie de l'intégrité (contraintes de clés et de domaine) ; et la sauvegarde / restauration pour la pérennité.
Le concept clé est la transaction : une suite d'opérations formant un tout indivisible, soit entièrement validée (COMMIT), soit entièrement annulée (ROLLBACK). Les transactions respectent les propriétés ACID : Atomicité (tout ou rien), Cohérence (la base reste valide), Isolation (les transactions simultanées ne se perturbent pas) et Durabilité (une transaction validée survit aux pannes).
Ces garanties sont indispensables lors d'accès concurrents. Sans contrôle, deux opérations simultanées peuvent provoquer une mise à jour perdue (deux retraits lisant le même solde) ou une surréservation (deux clients réservant le dernier siège). L'isolation sérialise alors les accès, et l'atomicité évite les états partiels.
· ACID : Atomicité · Cohérence · Isolation · Durabilité.
· Transaction : BEGIN ... COMMIT (valider) ou ROLLBACK (annuler).
· Droits : GRANT (accorder) / REVOKE (retirer).
Schéma : un SGBDR au centre, recevant des requêtes SQL de plusieurs clients, et gérant l'accès concurrent à la base.
Pour justifier l'emploi d'un SGBDR dans un contexte (banque, cinéma, scolarité) : 1) citer les garanties pertinentes (intégrité, concurrence, durabilité, sécurité) ; 2) les contextualiser ; 3) si on parle de concurrence, décrire l'anomalie évitée (mise à jour perdue, surréservation) et nommer la propriété ACID en jeu (isolation, atomicité).
· Ne pas confondre SGBDR (logiciel), base de données (les données) et SQL (le langage). · ACID s'applique aux transactions, pas à une requête isolée prise hors transaction. · « Cohérence » (ACID) signifie respect des contraintes, pas « absence de redondance » (qui relève de la conception). · La sécurité (droits d'accès) est gérée par le SGBDR, pas par le langage SQL en lui-même.
Savoir définir un SGBDR, citer ses fonctions, énoncer et expliquer ACID, et raisonner sur un cas d'accès concurrent (banque, réservation) en mobilisant atomicité et isolation. Distinguer clairement SGBDR, base et SQL est un attendu fréquent.