Académique Documents
Professionnel Documents
Culture Documents
de Données
CHAPITRE IV:
DÉFINITION DE DONNÉES AVEC SQL
Eléments de contenu
Introduction à SQL
Création d’une table
Types de données
Suppression de colonnes
Ajout de contraintes
Suppression de contraintes
1979 : premier SGBD basé sur SQL par Relational Software Inc. (Oracle)
1989 : Adjonction des contraintes d’intégrité de base (clé primaire et clé étrangère)
3
SQL
Il est composé de quatre parties :
Le Langage de Définition de Données (LDD) pour créer et supprimer des
objets dans la BD (tables, contraintes d'intégrité, vues, etc.).
utilise les commandes : CREATE, DROP, ALTER
4
Langage de Définition de Données : LDD
5
Création d’une table
[contrainte(s) de tables] );
6
Création d’une table
Types de données
Types de données de SQL2 Types de données ORACLE
CHAR(taille) CHAR(taille) ou NCHAR(taille)
chaînes de caractères de longueur fixe NCHAR(taille) : chaîne de caractères enregistrée dans le
Chaines de
caractères
DATE (pour les dates) le type DATE remplace DATE et TIME de SQL2
Temporel
TIME (pour les heures, minutes et secondes) DATE correspond à une date avec une précision jusqu`a la
TIMESTAMP (pour un moment précis : date et seconde
heure, minutes et secondes
7
Création d’une table
Types de données ORACLE
Caractères : CHAR, CHAR(N), VARCHAR2(N), LONG, CLOB, …
CHAR (n) : stocke des chaînes comportant au maximum 255 caractères dans une colonne de longueur fixe.
Remarque : une colonne de type CHAR ne stocke qu'un seul caractère.
VARCHAR / VARCHAR2 : stocke jusqu'à 4000 caractères dans une seule colonne pour des chaînes de
longueur variable.
LONG : donnée de type caractère, de longueur variable, allant jusqu'à 2 G. On peut stocker et récupérer
ces données mais pas les manipuler.
CLOB (Character Large Object) : données en volume important à base de caractères, allant jusqu’à 4 G
8
Création d’une table
Types de données
Exemple : Créer la table Produit ayant comme schéma :
Produit (Numprod, Desprod, Couleur, Poids, Qte_stk, Qte_seuil, Prix)
9
Création d’une table
Définition de contraintes
10
Création d’une table
Définition de contraintes
Contraintes de colonne :
NULL / NOT NULL : précise si une valeur doit obligatoirement être saisie dans la
colonne ou non
CHECK (condition) : impose un domaine de valeurs pour une colonne en vérifiant une
certaine condition. La condition sur la colonne peut utiliser :
un opérateur de comparaison CHECK (salaire >= 500)
la clause between val1 and val2 CHECK (note BETWEEN 0 AND 20)
ON DELETE CASCADE
13
Création d’une table
Définition de contraintes
14
Création d’une table
Définition de contraintes
Exemples :
CREATE TABLE Produit (id_pd number primary key,
Des_pd varchar2(15) unique,
Poids number(8,3),
Qte_stk number(7,3),
Qte_seuil number(7,3),
Prix number(10,3),
Constraint CK1_Produit CHECK (Poids >=0),
Constraint CK2_Produit CHECK (Qte_stk >= Qte_seuil) );
Suppression de colonnes
Ajout de contraintes
Suppression de contraintes
16
Modification de la structure d’une table
1ère forme : Ajout de nouvelles colonnes
Syntaxe :
...
Exemple :
Syntaxe :
ALTER TABLE nom_table
19
Modification de la structure d’une table
4ème forme : Ajout de contraintes
Syntaxe :
Exemple :
Ajouter à la table Magasin la contrainte suivante : la surface doit être
comprise entre 10 et 100 m2
20
Modification de la structure d’une table
5ème forme : Suppression de contraintes
Remarque :
L'option CASCADE supprime les contraintes des clés étrangères dans
les tables dépendantes (fils)
Exemple :
Supprimer la contrainte clé primaire de la table magasin
21
Modification de la structure d’une table
5ème forme : Suppression de contraintes
N.B. Pour cette commande, le nom de la table doit être écrit en majuscule
22
Suppression d’une table
Syntaxe :
DROP TABLE nom_table [CASCADE CONSTRAINTS] ;
Exemple :
Supprimer la table Magasin :
23
Synonyme d’une table
CHAPITRE V :
MANIPULATION DE DONNÉES AVEC SQL
Eléments de contenu
Les ordres SQL de manipulation
INSERT
Insertion (ajout) de ligne(s) dans une table
UPDATE
Mise à jour (modification) de une ou plusieurs colonnes de
une ou plusieurs lignes
DELETE
Suppression de une ou plusieurs lignes
26
Insertion
Syntaxe :
Pour insérer un tuple complètement spécifié : Nom_table
INSERT INTO nom_Table VALUES (val1,..., valn); col1 col2 …. coln
… …. … …..
… …. … …
val1 val2 ….. valn
27
Insertion
EXEMPLES
Sur les relations Étudiant (Num, Nom, Prénom, Age, Ville, CodePostal)
ClubThéâtre(Num, Nom, Prénom)
Ajouter l'étudiant Salah Aloui, 21 ans, habitant Sfax ville avec le numéro 634
INSERT INTO Étudiant
VALUES (634, 'Aloui', 'Salah', 21, 'Sfax ville', '3000');
Syntaxe :
UPDATE nomTable
SET colonne1 = expr1, colonne2 = expr2 , …
[WHERE condition] ;
29
Modification
EXEMPLES
Etudiant (Num, Nom, Prénom, Age, Ville, CodePostal)
Augmenter d'un an l’âge de tous les étudiants.
UPDATE etudiant SET age = age +1 ;
•Pour vider une table (supprimer tous ses tuples), on peut utiliser
TRUNCATE :
TRUNCATE TABLE nomTable ;
Exemple : TRUNCATE TABLE etudiant ;