Architecture Ansi/Sparc

Architecture Ansi/Sparc

L'architecture Ansi/Sparc est une architecture fondamentale sur laquelle reposent les SGBD modernes. Issue des travaux du groupe d'étude ANSI/X3/SPARC Study Group on Data Base Management Systems mis en place en 1972, elle est esquissée dans un rapport intérimaire publié en 1975 puis formalisée dans le rapport final The ANSI/X3/SPARC DBMS Framework édité par Dionysios Tsichritzis et Anthony Klug en 1978[1]. Charles Bachman, qui prend part au comité initial, reçoit en 1973 le prix Turing pour l'ensemble de ses contributions à la technologie des bases de données — en particulier l'invention du SGBD Integrated Data Store et son rôle moteur dans le modèle CODASYL — et y défend, dans son discours d'acceptation The Programmer as Navigator, une vision où les structures de données complexes deviennent le cadre des systèmes informatiques d'entreprise[2],[3]. L'architecture Ansi-Sparc est divisée en trois niveaux, celui du schéma interne (SI), celui du schéma conceptuel (SC) et celui des schémas externes (SE).

La première innovation de l'architecture Ansi-Sparc est la distinction claire entre la représentation interne des données au niveau physique (structure de données) et la représentation logique de celles-ci. Une base de données est définie et manipulée via le niveau conceptuel (SC) sans avoir à se soucier des détails de l’implémentation physique (SI). Par exemple, il est possible de définir un index sur un ensemble de données, mais comment celui-ci est réalisé au niveau physique n’a pas besoin d’être spécifié. Sur le même principe, lors d’une requête, l’usager n’a pas besoin d’indiquer comment utiliser l’index pour maximiser l’efficacité de la recherche. Cette dissociation fonde le principe d'indépendance physique des données : le schéma interne peut évoluer (changement d'organisation des fichiers, ajout d'index, optimisation du stockage) sans que les schémas conceptuel et externes, ni les programmes applicatifs, aient à être modifiés[4].

La deuxième grande innovation de ce modèle est la possibilité de créer des schémas externes qui sont en fait des portions de la base de données (sous-bases virtuelles) destinées à différents usagers. Un usager particulier ne peut manipuler que les données appartenant à son propre schéma externe. De nos jours, le terme schéma externe est remplacé par celui de « vue ». Ce mécanisme constitue le second pilier du modèle, l'indépendance logique : la modification du schéma conceptuel n'impacte que les schémas externes effectivement concernés, ce qui permet à des catégories distinctes d'usagers de partager une même base sans interférences.

Le cadre Ansi/Sparc, sans avoir donné lieu à un produit commercial direct, a durablement structuré la conception des SGBD relationnels puis des SGBD modernes : il est cité comme l'une des bases conceptuelles ayant rendu possibles les architectures à plusieurs vues et la séparation des préoccupations dans la gestion des données[5].

Notes et références

  1. (en) D. C. Tsichritzis et A. Klug, « The ANSI/X3/SPARC DBMS framework: report of the study group on database management systems », Information Systems, vol. 3, no 3, , p. 173–191 (DOI 10.1016/0306-4379(78)90001-7).
  2. (en) « Charles W. Bachman — A.M. Turing Award », sur amturing.acm.org, Association for Computing Machinery (consulté le ).
  3. (en) Charles W. Bachman, « The Programmer as Navigator », Communications of the ACM, vol. 16, no 11, , p. 653–658 (DOI 10.1145/355611.362534, lire en ligne).
  4. Georges Gardarin, « Objectifs et architecture des SGBD », sur georges.gardarin.free.fr (consulté le ).
  5. (en) Thomas Haigh, « How Charles Bachman Invented the DBMS, a Foundation of Our Digital World », Communications of the ACM, (lire en ligne).
  • icône décorative Portail de l’informatique
  • icône décorative Portail des bases de données