La norme SQL 2 (dit aussi SQL-92) qui fait suite à la norme SQL-89 et maintenant reconnue, souvent que
partiellement, par l'ensemble des systèmes de gestion de bases de données.
Quelques définitions :
Une table, ou relation, est un ensemble de données relatives à un même sujet
La clé primaire d'une relation est un attribut ou groupe d'attribut de la relation qui détermine univoquement tous
les autres.
Tout attribut est associé à un domaine.
Un domaine est l'ensemble de valeurs que peut prendre un attribut.
Un domaine est constitué d'un type d'une longueur et de contraintes (dites contraintes de domaines) qui réduisent
l'ensemble des valeurs permises (restriction).
Une clé étrangère dans une table est un attribut (ou ensemble d'attribut) de cette table dont la valeur est valeur
de clé primaire ou candidate dans une autre table.
Structure générale du langage
•Les instructions SQL se répartissent en trois familles fonctionnellement distinctes (LDD, LMD et LCD)
LDD : permet la description de la structure de la base : table, vue, index, attributs...
CREATE, DROP, ALTER
LMD : les quatre opérations fondamentales sur les données
SELECT, INSERT, DELETE, UPDATE
LCD : pour le contrôle de données : contient
COMMIT, ROLLBACK : Les primitives de gestion des transactions.
Une transaction est un ensemble indivisible d'opérations.
GRANT, REVOKE : privilèges d'accès au données
CONNECT : connexion au serveur
SET : permet de paramétrer la session
Trois formes d'utilisation :
•SQL interactif (requête avec résultat immédiat),
•Module SQL (SQL intégré dans un langage de troisième génération C, Cobol...)
•SQL dynamique qui est une extension du SQL intégré permettant des requêtes SQL non connues a
priori, c'est à dire au moment de la compilation.
Exemple d'API : ODBC (Open DataBase Connectivity), sous forme de bibliothèques de fonction.
JDBC (Java DataBase Connectivity), permettre à des applications Java, via des pilotes JDBC,
d'accéder à des sources de données communues.
2