Tous les systèmes de gestion de données utilisent SQL pour
l'accès aux données ou pour communiquer avec un serveur de données.
SQL (Standard Query Language) est né à la suite des travaux
mathématiques de Codd, travaux qui ont fondé les bases de données
relationnelles. SQL, défini d'abord chez IBM, a subi trois tentatives
de normalisation en 86, 89 et 92 (SQL 2 ou SQL 92). Nous présentons
trois raisons fondamentales qui justifient l'utilisation de SQL.
D'une part, la structuration et la manipulation des données sont
devenues très complexes. Pour une application de taille moyenne, la
base de données contient fréquemment plus de trente tables fortement
interconnectées. Il est donc hors de question de manipuler les
données de façon algorithmique traditionnelle. Une
requête SQL dans un langage logique simple remplace donc bien
avantageusement plusieurs dizaines de lignes d'un langage de
programmation tel C ou Cobol.
D'autre part, l'architecture client-serveur
est omniprésente. Tandis que la station client exécute le code de
l'application en gérant, en particulier, l'interface graphique, le
serveur optimise la manipulation et le contrôle des données. De
plus, les applications doivent être portables et gérer des données
virtuelles, c'est-à-dire émanant de n'importe quel serveur.
Développer une application dans un environnement hétérogène n'est
possible que parce que la communication entre l'applicatif client et
le serveur est réalisée par des primitives SQL normalisées.
Enfin, les applications à développer (même sur un PC) sont
devenues de plus en plus complexes. Le profil du programmeur a
fortement changé. Il doit maintenant traiter des données de plus en
plus volumineuses, intégrer les techniques de manipulation des
interfaces, maîtriser la logique événementielle et la programmation
orientée objet, tout celà dans un contexte d'architecture
client-serveur où se cotoient les systèmes d'exploitation et les
protocoles de réseaux hétérogènes. L'accès et la
manipulation des données ne sont que l'un des aspects de la
conception et de la réalisation de programmes. On cherche donc à
acquérir un environnement de développement performant qui prend en
charge un grand nombre de tâches annexes. Des outils de
développement sont apparus pour permettre au développeur de se
concentrer sur l'application proprement dite : générateurs d'écrans,
de rapports, de requêtes, d'aide à la conception de programme, de
connection à des bases de données distantes via des réseaux. Dans
tous ces outils, la simplicité et la standardisation de SQL font que
SQL est utilisé chaque fois qu'une définition, une manipulation, ou
un contrôle de données est nécessaire. SQL est donc un
élément central entre les divers composants d'un environnement de
développement dans une
architecture client-serveur.