Le langage SQL
En 1969, un chercheur d’IBM nommé Edgar Frank Codd publie un article aux allures anodines : « Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks ». Personne ne se doute que ce texte va bouleverser la façon dont nous stockons et manipulons les données informatiques. L’année suivante, Codd récidive avec un papier plus ambitieux dans Communications of l’ACM : « A Relational Model of Data for Large Shared Data Banks ». Cette fois, l’industrie prête attention.
Le modèle relationnel de Codd rompt avec les approches hiérarchiques et réseau dominantes à l’époque. Il propose d’organiser les données dans des tables simples, liées entre elles par des relations mathématiques. L’idée paraît presque triviale aujourd’hui, mais elle révolutionne la pensée informatique. Les communautés universitaire et industrielle s’emparent de ces concepts théoriques.
Chez IBM, Donald Chamberlin et son équipe ne perdent pas de temps. En 1974, ils développent System R, le premier prototype de base de données relationnelle digne de ce nom. Le langage de requête associé reçoit le nom de SEQUEL, pour Structured English QUEry Language. Ce choix trahit une ambition : créer un langage proche de l’anglais naturel, accessible aux utilisateurs non spécialistes. Fini les commandes cryptiques, place à des instructions compréhensibles par le plus grand nombre.
Le projet avance par étapes. SEQUEL-XRM voit le jour entre 1974 et 1975, suivi d’une réécriture complète en 1976-1977. Cette nouvelle mouture, baptisée SEQUEL/2, introduit des fonctionnalités indispensables : requêtes multi-tables, support multi-utilisateurs, gestion avancée des données. Mais un obstacle imprévu surgit : la société britannique Hawker Siddeley Aircraft Company possède déjà la marque SEQUEL. IBM doit rebaptiser son langage avec l’acronyme SQL.
L’histoire prend une tournure inattendue en 1979. Alors qu’IBM peaufine ses prototypes, une petite société californienne nommée Relational Software commercialise le premier système de gestion de base de données relationnelle. Dans un trait de génie marketing, cette entreprise numérote son produit « Version 2 », évitant ainsi les réticences habituelles face aux premières versions. Relational Software deviendra Oracle Corporation, prenant de vitesse le géant IBM sur son propre terrain.
IBM rattrape son retard avec SQL/DS en 1981, et DB2 en 1983. Entre-temps, les tests clients menés dès 1978 ont validé l’approche : SQL séduit par sa simplicité d’usage et sa puissance, permettant de décrire ce que l’on veut obtenir sans préciser comment l’obtenir. Cette approche déclarative contraste avec les langages procéduraux traditionnels et démocratise l’accès aux bases de données.
La standardisation s’impose naturellement. En 1986, l’American National Standards Institute certifie SQL comme norme officielle. L’Organisation internationale de normalisation suit en 1987. Ces premières normes, d’environ 150 pages, standardisent le dialecte SQL d’IBM DB2. Mais elles souffrent de lacunes et d’imprécisions, conséquences des intérêts commerciaux divergents des éditeurs.
La norme SQL2 de 1992 corrige ces défauts. Ce document de 500 pages élimine quelques unes des faiblesses de la version précédente et standardise des fonctionnalités conceptuelles avancées, parfois au-delà des capacités techniques admissibles. Trois niveaux de conformité voient le jour : Entry pour les modifications mineures, Intermediate pour au moins 50% de la norme, et Full pour la conformité totale.
SQL99, ou SQL3, marque une nouvelle évolution à la fin des années 1990. Cette norme de 2000 pages intègre les modèles objet-relationnels, les interfaces d’appel et la gestion avancée de l’intégrité. Elle remplace les anciens niveaux de conformité par deux catégories : Core SQL99 et Enhanced SQL99. Le document se structure désormais en cinq parties spécialisées, témoignant de la complexité croissante du langage.
Le XXIe siècle voit naître SQL :2003, SQL :2008 et SQL :2011, chaque version enrichissant le langage de nouvelles capacités. Mais au-delà de cette chronologie technique, SQL doit son succès à des qualités plus profondes. Sa syntaxe inspirée de l’anglais naturel le rend abordable aux non-spécialistes. Sa nature déclarative libère l’utilisateur des contraintes procédurales. Le modèle relationnel sous-jacent structure les données de façon claire et cohérente.
Les concepts de clés primaires et étrangères, de normalisation et d’intégrité référentielle garantissent la cohérence des données stockées. Cette rigueur mathématique, alliée à la flexibilité d’usage, explique l’adoption massive de SQL par l’industrie. Oracle, MySQL, PostgreSQL, Microsoft SQL Server et tant d’autres systèmes perpétuent cet héritage, étendant les capacités du langage tout en préservant la compatibilité.