Avant les bases de données relationnelles, interroger signifiait naviguer : l'utilisateur spécifiait les chemins d'accès, les index et des procédures enregistrement par enregistrement, et chaque système avait son propre langage. En 1970, Edgar Codd, chez IBM Research, a publié A Relational Model of Data for Large Shared Data Banks, plaidant pour un modèle fondé sur des tables et visant l'indépendance des données.

IBM a bâti SQL sur cette fondation relationnelle, et au milieu des années 1980, le langage avait suffisamment d'élan pour être normalisé : ANSI X3.135-1986, Database Language SQL. En mars 1987, le National Bureau of Standards américain l'a adopté sous le nom de FIPS PUB 127, en déclarant que son objectif était de favoriser la portabilité des définitions de bases de données et des programmes d'application de bases de données entre différentes installations.

La conception déclarative était l'essentiel : les applications disent quelles données elles veulent, et la base de données décide comment les obtenir. Cette séparation a permis à SQL de survivre d'un fournisseur à l'autre, des grands systèmes aux appareils embarqués, et en a fait l'unique langage de requête que tout système de base de données devait parler.

Déclarez ce que vous voulez ; laissez le système décider comment

Les requêtes déclaratives ont libéré les applications de leur dépendance aux détails de stockage d'un seul fournisseur.

Une norme ANSI unique a donné aux acheteurs un langage d'approvisionnement commun.

L'adoption gouvernementale (FIPS 127) a imposé la portabilité dans les exigences du secteur public.

Le langage qui survit déplace le travail difficile vers la plateforme : les requêtes déclaratives permettent aux utilisateurs de changer librement de base de données, et la normalisation a transformé la portabilité en exigence d'approvisionnement.

SQL est devenu le langage universel des bases de données : ISO/IEC 9075 continue de le faire évoluer, chaque grand moteur de base de données en implémente un dialecte, et le modèle relationnel qu'il incarnait a alimenté l'industrie des bases de données pendant des décennies. Les systèmes NoSQL ultérieurs se sont définis par opposition à lui, ce qui ne fait que confirmer son statut de référence par défaut.

VÉRIFIEZ LES SOURCES

Les sources

  1. A Relational Model of Data for Large Shared Data Banks (E.F. Codd, CACM 13(6), 1970) Communications of the ACM / University of Pennsylvania · seas.upenn.edu
  2. FIPS PUB 127: Database Language SQL (adopting ANSI X3.135-1986) US National Bureau of Standards (NIST) · nvlpubs.nist.gov