Exploitation et Administration de Bases de Données
– Cours 1 –
Chapitre 0 : Rappels SQL
Dr. Bouaicha Souad
Nouvelles Technologies
[Link]@[Link]
Etudiants concernés
Faculté/Institut Département Niveau Spécialité
Nouvelles technologies TLSI Licence 3 Système d’Information (SI)
Université Constantine 2 2022/2023. Semestre 1
Résumé
Objectifs du cours
Comprendre et maitriser les notions suivantes :
SGBD
LDD et LMD
Types d’instructions SQL
Université Constantine 2 © [Link] Souad 2
Section 1 :
Introduction
Université Constantine 2 © [Link] Souad 3
Introduction
SQL (Structured Query Language) est un langage qui permet
de communiquer avec le SGBD.
Un SGBD (Système de Gestion de BD) est un logiciel
complexe qui permet de gérer et d’utiliser les données que
l’on stocke tout en cachant la complexité des opérations.
Université Constantine 2 © [Link] Souad 4
Section 2 :
Types d’instructions SQL
Université Constantine 2 © [Link] Souad 5
Types d’instructions SQL
SQL offre deux langages de haut niveau:
LDD: Un langage de Description de Données qui permet d’agir sur
la structure de la base de données (ajout, suppression et
modification des tables).
LMD : Un langage de Manipulation de Données qui permet
d’interroger et de mettre à jour le contenu de la base de
données(Entrer de nouvelles lignes, modifier des lignes ou les
supprimer).
LCT : langage de contrôle des transactions. Les instructions SQL
peuvent être regroupées au sein de transactions logiques.
LCD : langage de contrôle des données. Accorder ou retirer des
privilèges, des droits d’accès à la base de données.
Université Constantine 2 © [Link] Souad 6
SQL: LDD, LCD,LMD,LCT
• LDD : • LCD :
Le Langage de Le Langage
Définition de de
Données Contrôle de
Création et
Gestion des Données
suppression des
droits sur les
objets dans la base
objets de la base
de données (tables,
(création des
contraintes
utilisateurs et
d'intégrité, vues,
affectation de
etc.).
leurs droits).
Gestion des
Recherche, transactions
insertion, mise (validation ou
à jour et la annulation de
suppression de modifications
données. de données
• LMD : dans la BD) • LCT :
Le Langage de Le Langage de
Manipulation Contrôle de
de Données Transaction
7
Université
Université Constantine 2 © [Link] Souad
Types d’instructions SQL
Langage SQL
LMD LDD LCD LCT
Create, Alter, Begin, Tran,
Select, Insert,
Drop, Grant Commit,
Update,
Rename, Revoke Rollback,
Delete, Merge
Truncate Savepoint
Université Constantine 2 © [Link] Souad 8
Exemple
Instruction SELECT élémentaire
Voici le Schéma de données utilisé dans les TP
EMP (empno, ename, job, mgr, hiredate, sal, comm ,
deptno);
DEPT (deptno , dname, loc );
SALGRADE ( grade, losal, hisal);
Université Constantine 2 © Dr. Bouaicha Souad 9
Création de tables
Syntaxe
Instruction CREATE TABLE
Syntaxe CREATE TABLE nom_table (Col1 type1 [DEFAULT
expression][, col2 type2.] ) ;
Université Constantine 2 © Dr. Bouaicha Souad 10
Création de tables
Règles d’appellation
Les noms de table et colonnes doivent commencer par une
lettre.
Ils peuvent comporter jusqu’à 30 caractères ($, #, _).
Ne comportent pas de tiret (-)
Ne doivent pas être identiques à ceux d’un autre objet (table,
séquence, index, etc.)
L’option DEFAULT expression : indique la valeur à utiliser en cas
d’absence de valeur dans une instruction INSERT.
Col1, col2, … : les noms de colonnes.
Type1, type2… : le type des données et la longueur de la
colonne.
Université Constantine 2 © Dr. Bouaicha Souad 11
Création de tables
Types de données
Type Description
VARCHAR2 (taille) Donnée alphanumérique de longueur
Variable (1car..2000car)exemple: ‘A’ ‘Bonjour’
CHAR(taille) Donnée alphanumérique de longueur fixe.
(1car..255car)exemple: ‘A’ ‘Hi’
NUMBER (p, s) Numérique ( p : nb de position au total; s : nb de positions
après la virgule. (10-84.. 10127)exemple: 10.9999999
DATE Le type de date exemple: ‘10-FEB-04’ ‘10/02/04’
LONG
Donnée alphanumérique de longueur variable pouvant
atteindre 2 Giga-octets.
Université Constantine 2 © Dr. Bouaicha Souad 12
Création de tables
Créer une table à l’aide d’une sous-interrogation
CREATE TABLE nom_table [(col1, col2, ……)]
AS SELECT………;
Exemple:
Université Constantine 2 © Dr. Bouaicha Souad 13
Section 3 :
Modification de structure de table
Université Constantine 2 © [Link] Souad 14
SQL: LDD, LCD,LMD,LCT(Instructions)
• LDD • LCD
CREATE GRANT
DROP REVOKE
ALTER LOCK
INSERT
UPDATE COMMIT
DELETE ROLLBACK
SELECT
• LMD • LTC
15
Université
Université Constantine 2 © [Link] Souad
Modification de structure de table
ALTER TABLE (Ajout d’une colonne )
Instruction ALTER TABLE
Syntaxe ALTER TABLE nom_table ADD (col type [DEFAULT
expression] [, …………] );
Exemple1:
Alter Table EMP ADD N_Tel VARCHAR (10);
Remarque:
La nouvelle colonne est toujours placée en fin de
table.
Université Constantine 2 © Dr. Bouaicha Souad 16
Modification de structure de table
ALTER TABLE (Modification d’une colonne )
Instruction ALTER TABLE
Syntaxe ALTER TABLE nom_table MODIFY (col type [DEFAULT
expression] [, …] );
Exemple:
ALTER TABLE Emp MODIFY sal NUMBER (10, 2) ;
ALTER TABLE Emp MODIFY sal DEFAULT 20000 ;
Université Constantine 2 © Dr. Bouaicha Souad 17
Modification de structure de table
Exemple2:
Modifier le type de donnée de la colonne Adress à
char(100)
Table Utilisateur
ALTER TABLE Utilisateur
MODIFY Address char(100);
Table Utilisateur
18
Université Constantine 2 © [Link] Souad
Modification de structure de table
ALTER TABLE (Suppression d’une colonne )
Instruction ALTER TABLE
Syntaxe ALTER TABLE nom_table DROP COLUMN nom_col;
Exemple:
ALTER TABLE Emp
DROP COLUMN N_tel ;
Université Constantine 2 © Dr. Bouaicha Souad 19
Modification de structure de table
ALTER T ABLE Utilisateur
DROP COLUMN Birth_date;
Table Supprimer la colonne Table Utilisateur
Utilisateur Birth_date
20
Université Constantine 2 © [Link] Souad
Section 4 :
Renommer un objet
Université Constantine 2 © [Link] Souad 21
Renommer un objet
RENAME
Instruction RENAME
Syntaxe RENAME ancien TO nouveau ;
Exemple Renommer une table
ALTER TABLE Emp
RENAME TO Employes ;
Exemple Renommer une colonne
ALTER TABLE Emp
RENAME COLUMN ename TO nom ;
Université Constantine 2 © Dr. Bouaicha Souad 22
Renommer un objet
RENAME
Remarque :
La nouvelle colonne est toujours placée en fin
de table.
On ne peut modifier que le type de la colonne et
pour modifier il faut que les données existantes
dans la table soient compatibles avec le
nouveau type.
Université Constantine 2 © Dr. Bouaicha Souad 23
Section 5 :
Vider une table
Université Constantine 2 © [Link] Souad 24
Vider une table
TRUNCA / DELETE
Instruction TRUNCATE
Syntaxe TRUNCATE TABLE nom-table ;
Cette instruction supprime toutes les lignes d’une table
et libère l’espace de stockage.
TRUNCATE est de type LDD, donc non annulable.
DELETE est de type LMD donc annulable.
Plus rapide que l’instruction DELETE
L’instruction DELETE ne libère pas l’espace de
stockage.
Université Constantine 2 © Dr. Bouaicha Souad 25
Section 6 :
Supprimer une table
Université Constantine 2 © [Link] Souad 26
Supprimer une table
DROP
Instruction DROP
Syntaxe DROP TABLE nom-table;
Cette commande supprime une table de la BD. Toutes les
lignes, les index et les privilèges des tables seront
également supprimés.
L’opération ne peut pas être annulée
Université Constantine 2 © Dr. Bouaicha Souad 27
Supprimer une table
DROP
Instruction DROP
Syntaxe DROP TABLE nom-table;
Exemple Suppression d’une table
DROP TABLE Dept cascade constraints;
Toutes ces instructions sont irréversibles, car la validation
est automatique,
Suppression de table : attention au problème des « enfants
sans parents »
Université Constantine 2 © Dr. Bouaicha Souad 28
DELETE&TRUNCATE & DROP
Table de comparaison entre DELETE & TRUNCATE
DELETE TRUNCATE
Vous pouvez spécifier le tuple que vous souhaitez
Suppression Il supprime tous les tuples d’une relation.
supprimer.
La commande DELETE peut avoir une clause La commande TRUNCATE n’a pas de clause
WHERE
WHERE. WHERE.
La commande DELETE agit plus lentement que
La vitesse TRUNCATE est plus rapide que DELETE.
TRUNCATE.
La commande DELETE peut être suivie par La commande TRUNCATE ne peut pas être suivie
Restauration
COMMIT ou ROLLBACK. par ROLLBACK.
DELETE enregistre le log des transactions pour TRUNCATE enregistre le log des transactions
Transaction
chaque tuple supprimé. pour chaque donnée supprimée.
La commande DELETE supprime les tuples un TRUNCATE supprime les données entière
Suppression
par un. contenant les tuples.
DELETE est une commande du langage de TRUNCATE est une commande du langage de
Le langage
manipulation de données. définition de données.
Le traitement avec suppression dépend de la Ne peut être appliqué lors qu’une clé étrangère
Clés étrangères
configuration des clés étrangères, activée fait référence à la table
Université Constantine 2 © Dr. Bouaicha Souad 29