Académique Documents
Professionnel Documents
Culture Documents
Auditoire : GINF1
Chapitre 5 :
Langage SQL
82
Historique
Depuis l’apparition de la théorie des bases de données relationnelles en 1970,
plusieurs laboratoires de recherche et universités ont intensifié leurs travaux
pour expérimenter cette théorie.
IBM et l’université de Berkeley ont commencé à développer leurs prototypes
respectifs System R et INGRES.
Plusieurs langages ont ainsi fait leur apparition entre les années 70 et 76 dont les
principaux sont QUEL et SEQUEL implantés respectivement sur INGRES et
System R.
SEQUEL a connu des améliorations pour devenir en 1980 SQL (Structured
Query Language) et a été commercialisé par ORACLE Corporation. SQL a été
utilisé en 1981 et 1983 par les SGBD d'IBM, SQL/DS et DB2.
En 1986, une norme a été adoptée par l'Institut National Américain de
Normalisation ANSI et englobait la version IBM de SQL, puis a été adoptée par
d'autres organismes de normalisation tels que ISO et X/Open en 1987.
La simplicité du langage SQL, sa richesse en fonctionnalités et sa normalisation
sont les principales raisons de son succès.
Cours BD © M. TURKI (2020 / 2021) 83
Structure de SQL
Le langage SQL (Structured Query Language) d’oracle
concerne les commandes de définition, de manipulation,
d’interrogation et de contrôle de données :
Langage de Définition de Données (LDD) : permet de décrire la
structure de la BD (tables, vues, champs, index…).
Exemple :
La vue CLT_SOUSSE dérivée de la table client a la même structure
que cette table mais ne contient que les clients dont la condition
particulière est habitant Sousse.
Chapitre 6 :
Définition de Données avec SQL
90
Introduction
1ère Forme : Création simple : elle permet de créer une table vide
SYNTAXE
Remarque : Il est impossible de créer une clé étrangère si la clé primaire associée
n'existe pas.
Cours BD © M. TURKI (2020 / 2021) 98
Définition de contraintes
Exemple :
CREATE TABLE CLIENT CREATE TABLE CLIENT
(numclt number(6) , (numclt number(6) PRIMARY KEY,
nom varchar2(15) , nom varchar2(15) ,
tel number(8) , tel number(8) ,
adr varchar2(30) , adr varchar2(30) ,
cod_post number(4) , cod_post number(4) ,
ville char(12) , ville char(12)
CONSTRAINT pk_client PRIMARY KEY numclt );
);
SYNTAXE
AS ordre Select ;
Remarque : Oracle hérite les noms de colonnes de la requête. En effet, la requête est une
opération de sélection qui indique les colonnes sources, les tables auxquelles elles appartiennent et
éventuellement des critères de sélection.
Exemple : Supposons qu'on veut ajouter une colonne type_clt à la table client :
Exemple :
ALTER TABLE client
DROP COLUMN type_clt ;
L'option cascade est ajoutée pour pouvoir supprimer une clé primaire référencée.
Suppression d'une contrainte autre que la clé primaire :
ALTER TABLE nom_table
Exemple :
Supposons qu'on veut supprimer la table client_Sousse :
DROP TABLE client_Sousse ;
Remarque :
Remarque :
La suppression d'une table implique la suppression des synonymes correspondants.