SQL | |
Apparu en | 1974 |
---|---|
Auteur | Donald D. Chamberlin et Raymond F. Boyce |
Développeur | IBM |
Dernière version stable | SQL:2008 (en 2009)[+/−] |
Paradigme | déclaratif, procédural, orienté objet |
Typage | statique et fort |
Implémentations | beaucoup |
SQL (sigle de Structured Query Language) est un langage informatique normalisé qui sert à demander des opérations sur des bases de données. La partie langage de manipulation de données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données.
En plus du langage de manipulation de données, la partie langage de définition de données permet de créer, et de modifier l'organisation des données dans la base de données, la partie langage de contrôle de transaction permet de commencer et de terminer des transactions, et la partie langage de contrôle de données permet d'autoriser ou d'interdire l'accès à certaines données à certaines personnes.
Créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des systèmes de gestion de bases de données (abr. SGBD) du marché.
SQL fait partie de la même famille que les langages SEQUEL (dont il est le descendant), QUEL ou QBE (Zloof).
En juin 1970 Edgar Frank Codd publia l'article « A Relational Model of Data for Large Shared Data Banks » ("Un modèle de données relationnel pour de grandes banques de données partagées") dans la revue Communications of the ACM (Association for Computing Machinery). Ce modèle relationnel basé sur la logique des prédicats du premier ordre a été rapidement reconnu comme un modèle théorique intéressant pour l'interrogation des bases de données, et a inspiré le développement du langage Structured English Query Language ("SEQUEL") (langage d'interrogation structuré en anglais), renommé ultérieurement SQL pour cause de conflit de marque déposée.
Développée chez IBM en 1970 par Donald Chamberlain et Raymond Boyce, cette première version a été conçue pour manipuler et éditer des données stockées dans la base de données relationnelle à l'aide du système de gestion de base de données IBM System R. Le nom SEQUEL, qui était déposé commercialement par l'avionneur Hawker Siddeley pour un système d'acquisition de données, a été abandonné et contracté en SQL en 1975. SQL était censé alors devenir un élément clé du futur projet FS.
En 1979, Relational Software, Inc. (actuellement Oracle Corporation) présenta la première version commercialement disponible de SQL, rapidement imité par d'autres fournisseurs.
SQL a été adopté comme recommandation par l'Institut de normalisation américaine (ANSI) en 1986, puis comme norme internationale par l'ISO en 1987 sous le nom de ISO/CEI 9075 - Technologies de l'information - Langages de base de données - SQL.
La norme internationale SQL est passée par un certain nombre de révisions :
Année | Nom | Appellation | Commentaires |
---|---|---|---|
1986 | ISO/CEI 9075:1986 | SQL-86 ou SQL-87 | Édité par l'ANSI puis adopté par l'ISO en 1987. |
1989 | ISO/CEI 9075:1989 | SQL-89 ou SQL-1 | Révision mineure. |
1992 | ISO/CEI 9075:1992 | SQL-92 ou SQL2 | Révision majeure. |
1999 | ISO/CEI 9075:1999 | SQL-99 ou SQL3 | Expressions rationnelles, requêtes récursives, déclencheurs, types non-scalaires et quelques fonctions orientées objet (les deux derniers points sont quelque peu controversés et pas encore largement implémentés). |
2003 | ISO/CEI 9075:2003 | SQL:2003 | Introduction de fonctions pour la manipulation XML,« window functions », ordres standardisés et colonnes avec valeurs auto-produites (y compris colonnes d'identité). |
2008 | ISO/CEI 9075:2008 | SQL:2008 | Ajout de quelques fonctions de fenêtrage (ntile, lead, lag, first value, last value, nth value), limitation du nombre de ligne (OFFSET / FETCH), amélioration mineure sur les types distincts, curseurs et mécanismes d'auto incréments. |
Comme toute norme internationale publié par l'ISO, ISO/CEI 9075 est disponible à l'achat sur le site de cette organisation : http://www.iso.org. Le dernier brouillon (working draft) de la norme est disponible à cette adresse http://www.wiscorp.com/sql_2003_standard.zip sur le site de http://www.wiscorp.com/about_wiscorp.html.