© Éditions Eyrolles
179
chapitre n° 3
Le niveau physique : de SQL2 à SQL3
calculées, et surtout une prise en charge de XML. Il est prévu de s’occuper des aspects relatifs
aux bases de données déductives dans SQL4.
Les raisons du succès
Le succès que connaissent les grands éditeurs de SGBDR repose notamment sur SQL :
●
SQL peut s’interfacer avec des langages de troisième génération (C, Ada ou Cobol), mais
aussi avec des langages plus évolués (C++, Java, Delphi, C#).
●
L’indépendance entre les programmes et les données (la modification d’une structure de
données n’entraîne pas forcément une importante refonte des programmes).
●
Ces systèmes sont bien adaptés aux grandes applications informatiques de gestion et ont
acquis une maturité sur le plan de la fiabilité et des performances, même avec de forts volumes (actuellement plusieurs dizaines de téraoctets).
●
Ils intègrent des outils de développement comme les précompilateurs, les générateurs de
code, d’états, de formulaires, et des outils d’administration, de réplication, de sauvegarde,
de surveillance, etc.
●
Ils offrent la possibilité de stocker des informations non structurées (texte, images…) dans
des champs appelés BLOB (Binary Large OBject).
Résumons les principales caractéristiques de SQL. Le lecteur intéressé par des aspects plus
précis pourra consulter [BRO 05].
Afin de rendre les scripts plus clairs, les instructions SQL seront notées en MAJUSCULES et les
noms de tables, de colonnes et de contraintes en minuscules.
Définition des données
Le langage SQL permet de déclarer tous les éléments d’une base de données, en particulier les
tables, qui sont les conteneurs d’informations.
Création de tables
Dans notre premier exemple, nous allons travailler sur deux tables : une qui contiendra les compagnies aériennes, et l’autre qui décrira les pilotes rattachés à leur compagnie. Les commandes
suivantes créent les tables Compagnie et Pilote avec les syntaxes SQL d’Oracle et Microsoft.
La clause PRIMARY KEY permet de déclarer une clé primaire, la clause FOREIGN KEY, une clé
étrangère.
Avec la clause CONSTRAINT, vous pouvez programmer tout autre type de contrainte en la
nommant (valable également pour les clés primaires ou étrangères). Nous avons limité à l’aide
d’une contrainte le domaine de valeurs de l’âge des pilotes (ici la contrainte se nomme ck_age_
pilote et assurera que l’âge de chaque pilote sera toujours compris entre 20 et 60 ans).
Précédent

- 185/316

Suivant