Introduction

Objectifs et prérequis

Prérequis : notions de base sur les fichiers et le stockage de données

À l’issue de ce chapitre, vous saurez :

  • expliquer ce qu’est une base de données et pourquoi on ne se contente pas de simples fichiers ;
  • décrire le rôle d’un système de gestion de base de données (SGBD) ;
  • identifier les quatre services fondamentaux d’un SGBD : persistance, accès concurrents, efficacité et sécurisation.

Une base de données (BD) est un ensemble structuré d’informations. Dans le langage courant, le terme peut désigner toute source importante de données telle qu’une encyclopédie. Dans le domaine de l’informatique, c’est un ensemble d’informations regroupées sous la forme d’enregistrements stockés sur un système de fichiers structurés et organisées de manière à pouvoir être facilement manipulées.

L’organisation logique des données se fait selon un modèle de données et la structure physique des fichiers comporte des index destinés à accélérer les opérations de recherche et de tri. Le modèle de données relationnel est aujourd’hui le plus utilisé parce qu’il permet l’indépendance entre la structure physique et l’organisation logique des données.

Le logiciel qui manipule les bases de données est appelé système de gestion de base de données (SGBD). Il permet d’organiser, de contrôler, de consulter et de modifier la base de données. Les opérations sont parfois formulées dans un langage de requête tel que SQL, qui est le plus connu et employé pour les modèles relationnels.

Les services rendus par un SGBD

Un SGBD assure quatre grands services indispensables à la gestion fiable des données.

La persistance des données. Les informations sont stockées de façon durable sur un support physique (disque dur, SSD). Même en cas de coupure de courant ou de redémarrage du système, les données restent disponibles. Le SGBD gère également les sauvegardes et la reprise après incident (crash recovery).

La gestion des accès concurrents. Dans un environnement réel, plusieurs utilisateurs ou applications accèdent simultanément à la même base. Sans mécanisme de contrôle, deux modifications simultanées pourraient corrompre les données. Le SGBD utilise des verrous et des transactions pour garantir que les opérations concurrentes ne produisent pas d’incohérences. Par exemple, si deux guichetiers réservent en même temps le dernier siège d’un avion, le SGBD garantit qu’un seul d’entre eux obtiendra la place.

L’efficacité de traitement. Grâce à des structures d’indexation (arbres B, tables de hachage), le SGBD peut retrouver une information parmi des millions d’enregistrements en un temps très court, sans avoir à parcourir l’intégralité des données. L’optimiseur de requêtes choisit automatiquement la stratégie d’exécution la plus rapide.

La sécurisation des accès. Le SGBD contrôle qui peut lire, modifier ou supprimer des données grâce à un système de droits d’accès. Par exemple, un employé du service commercial peut consulter les fiches clients mais pas les modifier, tandis qu’un administrateur dispose de tous les droits. Cela protège la confidentialité et l’intégrité des données.

Vérifiez votre compréhension
  1. Pourquoi ne pas simplement stocker les données dans un fichier CSV ou texte ?
    RéponseUn fichier CSV ne gère ni les accès concurrents (deux utilisateurs modifiant le fichier en même temps risquent de corrompre les données), ni l'indexation efficace, ni les droits d'accès, ni la reprise après incident. Un SGBD apporte ces quatre services essentiels.
  2. Deux employés tentent en même temps de réserver le dernier exemplaire d’un livre en bibliothèque. Quel service du SGBD empêche un conflit ?
    RéponseC'est la gestion des accès concurrents : le SGBD utilise des verrous et des transactions pour garantir qu'un seul des deux obtiendra le livre, sans incohérence.
  3. Un SGBD utilise des « index » pour accélérer les recherches. À quelle structure de données vue en cours cela peut-il faire penser ?
    RéponseLes index reposent souvent sur des arbres B (une variante d'arbres équilibrés) ou des tables de hachage, des structures étudiées dans le chapitre sur les arbres.
L'essentiel à retenir
  • Une base de données est un ensemble structuré d’informations, organisé pour être manipulé efficacement par un logiciel dédié.
  • Le SGBD (système de gestion de base de données) assure quatre services : la persistance, la gestion des accès concurrents, l’efficacité de traitement (via l’indexation) et la sécurisation des accès.
  • Le modèle relationnel (Codd, 1970) est le modèle dominant ; il sera détaillé dans les chapitres suivants sur le modèle relationnel et le langage SQL .