Historique des systèmes de gestion de base de données

Stocker et retrouver, ont toujours été les défis de la base de données depuis son apparition. Ces deux principaux défis, se déclinent en différentes sous-fonctions importantes comme assurer la sécurité ou se protéger des incohérences. Il faut cependant noter que les premiers défis des SGBD furent simplement techniques et concernaient seulement les deux fonctions importantes : stocker et retrouver.

1. Le modèle hiérarchique

Le modèle hiérarchique est la première forme de modélisation de données sur un système informatique. son développement débuta vers 1950.

On l’appelle “modèle hiérarchique” à cause de la direction des relations qui s’établissent uniquement du parent vers les enfants. Une base de données hiérarchique est composée d’enregistrements (records) qui contiennent des champs et qui sont regroupés en types d’enregistrements parents et types d’enregistrements fils, ce qui forme un modèle hiérarchique. La différence entre ce modèle et le modèle relationnel, est la limitation de l’arbre il ne peut y avoir qu’un seul arbre et les relations ne peuvent se dessiner que du parent vers l’enfant.

Il faut noter que l’implémentation la plus connue du modèle hiérarchique, est le moteur IMS (Information control system) d’IBM au nommé ICS (Information Control System), qui fut développé pour assurer la gestion des matériaux de construction du programme spatial de la NASA qui voulait envoyer des hommes sur la lune.

2. Codasyl et Cobol

En 1959, le Codasyl (Conférence on Data Systems Language, pour Conférence sur les langages de systèmes de traitement de données) conduit à la création d’un consortium avec pour objectif de développer des standards de gestion de données et le développement d’un langage d’accès à ces données. Les membres du Codasyl (des entreprises, universitaires et membres du gouvernement), établirent d’abord un langage d’interrogation de données, le Cobol (Common Business Oriented Language), qui fut développé la même année à l’université de Pennsylvanie.

Après avoir établi le langage de traitement de données, les membres du Codasyl établirent un standard de structuration des données, qu’on nomme “modèle de données réseau”. Fondamentalement, il annonce le modèle relationnel. Le modèle réseau permet de décrire des liens entre des articles. Ces liens sont appelés des sets, et on peut les considérer, si on veut faire une comparaison avec le modèle relationnel, comme des tables de correspondance entre des articles, propriétaire d’un côté et type membre de l’autre. Les systèmes de gestion de bases de données réseau n’ont pas l’élégance du modèle relationnel, principalement à cause de leur langage de requête, complexe et navigationnel (Cobol).

Notons que le Cobol est un langage qualifié de “navigationnel”, à cause de pointeurs sont posés et maintenus sur une entité, appelée “entité courante”, et le pointeur se déplace au gré des besoins vers d’autres entités.

3. La conception du modèle relationnel par Edgar Frank Codd

Edgar Frank Codd est un britannique qui étudia les mathématiques et la chimie en Angleterre, et qui se rendit aux États-Unis en 1948 pour travailler comme programmeur chez IBM. Il obtint son doctorat de Computer Science à l’université du Michigan.

Au milieu des années 1960, Codd commença à travailler comme chercheur aux laboratoires de recherche d’IBM à San Jose, en Californie. C’est dans ce laboratoire qu’il élabora l’organisation des données selon un modèle basé sur la théorie mathématique des ensembles. Il publia à ce sujet un document interne en 1969, pour exposer sa théorie au sein d’IBM. Malheureusement, les investissements effectués par la société dans le système IMS n’incitèrent pas IBM à s’intéresser à ce modèle différent. Un an plus
tard, Codd publia donc un article intitulé «A Relational Model of Data for Large Shared Data Banks».

L’article d’Edgar Frank Codd pose les bases du modèle relationnel en indiquant les bases mathématiques et algébriques de relations.

Le modèle Codd privilégiait un système de relations basé uniquement sur les valeurs des données, contrairement à d’autres types de relations utilisant des pointeurs sur des entités (modèle réseau), et une manipulation de ces données à l’aide d’un langage de haut niveau implémentant une algèbre relationnelle, sans se préoccuper du stockage physique des données.

4. Le développement des moteurs relationnels

En 1974, le laboratoire de San Jose commença à développer un prototype, le System R, pour expérimenter les concepts avancés par Codd. Ils développèrent un langage de manipulation de données nommé Sequel (Structured English Query Language) et un moteur en deux parties, RSS (Research Storage System) et RDS (Relational Data System), une séparation utilisée de nos jours
dans tous les moteurs relationnels sous forme de moteur de stockage et de moteur relationnel et qui permet la séparation entre la gestion physique et la gestion logique des données.

System R est l’ancêtre de tous les moteurs de bases de données relationnelles contemporains et a introduit un certain nombre de concepts qui constituent encore aujourd’hui la base de ces moteurs, comme l’optimisation de requêtes ou les index en B-tree (arbre balancé). Comme Sequel était une marque déposée par une compagnie britannique, le nom du langage fut changé en SQL.

En même temps, à l’université de Berkeley, Eugene Wong et Michael Stonebraker s’inspirèrent des travaux de Codd pour bâtir un système nommé Ingres, qui aboutira plus tard à PostgreSQL, Sybase et Informix. De son côté, vers la fin des années 1970, Larry Ellison s’inspira aussi des travaux de Codd et de System R pour développer son moteur de bases de données, Oracle, dont la version 2 fut en 1979 le premier moteur relationnel commercial. IBM transforma System R en un vrai moteur commercial, nommé SQL/DS, qui devint par la suite DB2.

À partir des années 1980, le modèle relationnel supplanta toutes les autres formes de structuration de données. System R avait prouvé qu’un langage déclaratif pouvait s’avérer être un excellent choix pour une interrogation performante des données. Oracle, DB2 et les descendants d’Ingres furent les implémentations qui rendirent les SGBDR populaires auprès des entreprises et des universités.

Retour en haut