UML 2 pour les bases de données
178
© Éditions Eyrolles
Le langage SQL
C’est IBM, avec System-R [AST 76], qui a mis en œuvre le premier le modèle relationnel à
travers le langage SEQUEL (Stuctured English as QUEry Language), rebaptisé par la suite
SQL (Structured Query Language). SQL provient également du langage SQUARE (Specifying
Queries As Relational Expressions), développé avant System-R, qui était plus structuré que SQL,
mais utilisait moins de commandes.
SQL est inclus dans des logiciels commerciaux dès la fin des années 1970 avec la première
version d’Oracle et de SQL/DS d’IBM. Les derniers SGBD open source du marché (MySQL,
PostgreSQL, MaxDB, Firebird) ont adopté ce langage âgé de plus de 30 ans.
Les normes
SQL1
Le langage SQL est normalisé depuis 1986. Cette norme s’est enrichie au fil du temps. Cette
première mouture, appelée SQL86 ou SQL1 (norme décrite en une centaine de pages), est le
résultat de compromis entre constructeurs, bien que l’empreinte IBM soit forte. En 1989,
d’importantes mises à jour sont faites en matière d’intégrité référentielle.
SQL2
La norme SQL2 (appelée aussi SQL92 [MAR 94] est présentée en 600 pages) est finalisée en
1992. Elle définit quatre niveaux de conformité : le niveau d’entrée (entry level), les niveaux
intermédiaires (transitional et intermediate levels) et le niveau supérieur (full level). Les langages SQL des principaux éditeurs sont tous conformes au premier niveau, et ont beaucoup de
caractéristiques relevant des niveaux supérieurs.
SQL3
Les groupes de travail X3H2 de l’ANSI et WG3 de l’ISO se penchent à partir de 1993 sur les
extensions à apporter à la précédente norme. Les optimistes prévoient SQL3 pour 1996 mais rien
ne se passe comme prévu. C’est en 1999 que naît SQL:1999, appelé aussi SQL3 (présenté dans
un volume de 1 600 pages). Ce retard est probablement dû aux nombreux protagonistes (Oracle,
IBM, Microsoft, Digital, Computer Associates…) qui rechignent à remettre en cause leur mode
de pensée, au risque de ne pouvoir assurer la compatibilité des bases de leurs clients.
Les évolutions de l’ancienne norme ne sont pas limitées qu’aux extensions objet. Bien d’autres
mécanismes sont introduits dans SQL:1999 (géographie, temps réel, séries temporelles, multimédia, OLAP, données et routines externes).
La dernière version de SQL est référencée SQL:2003. Ses apports concernent l’auto-incrément
des clés, de nouvelles fonctions d’agrégation, de ranking et de calculs statistiques, les colonnes
178
© Éditions Eyrolles
Le langage SQL
C’est IBM, avec System-R [AST 76], qui a mis en œuvre le premier le modèle relationnel à
travers le langage SEQUEL (Stuctured English as QUEry Language), rebaptisé par la suite
SQL (Structured Query Language). SQL provient également du langage SQUARE (Specifying
Queries As Relational Expressions), développé avant System-R, qui était plus structuré que SQL,
mais utilisait moins de commandes.
SQL est inclus dans des logiciels commerciaux dès la fin des années 1970 avec la première
version d’Oracle et de SQL/DS d’IBM. Les derniers SGBD open source du marché (MySQL,
PostgreSQL, MaxDB, Firebird) ont adopté ce langage âgé de plus de 30 ans.
Les normes
SQL1
Le langage SQL est normalisé depuis 1986. Cette norme s’est enrichie au fil du temps. Cette
première mouture, appelée SQL86 ou SQL1 (norme décrite en une centaine de pages), est le
résultat de compromis entre constructeurs, bien que l’empreinte IBM soit forte. En 1989,
d’importantes mises à jour sont faites en matière d’intégrité référentielle.
SQL2
La norme SQL2 (appelée aussi SQL92 [MAR 94] est présentée en 600 pages) est finalisée en
1992. Elle définit quatre niveaux de conformité : le niveau d’entrée (entry level), les niveaux
intermédiaires (transitional et intermediate levels) et le niveau supérieur (full level). Les langages SQL des principaux éditeurs sont tous conformes au premier niveau, et ont beaucoup de
caractéristiques relevant des niveaux supérieurs.
SQL3
Les groupes de travail X3H2 de l’ANSI et WG3 de l’ISO se penchent à partir de 1993 sur les
extensions à apporter à la précédente norme. Les optimistes prévoient SQL3 pour 1996 mais rien
ne se passe comme prévu. C’est en 1999 que naît SQL:1999, appelé aussi SQL3 (présenté dans
un volume de 1 600 pages). Ce retard est probablement dû aux nombreux protagonistes (Oracle,
IBM, Microsoft, Digital, Computer Associates…) qui rechignent à remettre en cause leur mode
de pensée, au risque de ne pouvoir assurer la compatibilité des bases de leurs clients.
Les évolutions de l’ancienne norme ne sont pas limitées qu’aux extensions objet. Bien d’autres
mécanismes sont introduits dans SQL:1999 (géographie, temps réel, séries temporelles, multimédia, OLAP, données et routines externes).
La dernière version de SQL est référencée SQL:2003. Ses apports concernent l’auto-incrément
des clés, de nouvelles fonctions d’agrégation, de ranking et de calculs statistiques, les colonnes
