Bases de données
Ecole Marocaine des Sciences de l’Ingénieur
© Yousra Lembachar
Questions sur les
premières parties?
Chapitre 4
SQL
PLAN
• Création de tables
• Insertion de données
• Mise à jour de données
• Suppression de données
SQL
• Structured Query Language
• Langage de manipulation et de consultation
d’une BD
• Supporté par la plupart des SGBD
Requêtes de création
et de manipulation
Les clauses CREATE/DROP
CREATE SCHEMA nomSchema;
CREATE TABLE nomTable(
attribut1 type, attribut2 type, ...
contrainte1, contrainte2, ...);
type: INT, TEXT, CHAR,VARCHAR(n),..
DROP TABLE nomTable;
Contrainte d’intégrité:
La clé primaire
CONSTRAINT nomContrainte
PRIMARY KEY (attribut1 [, attribut2,...] )
Contrainte d’intégrité:
La clé étrangère
CONSTRAINT nomContrainte
FOREIGN KEY (attribut)
REFERENCES nomTable(attribut)
La clause CREATE
La clause CREATE
La clause CREATE
La clause INSERT
INSERT INTO nomTable [(col1, col2, ...)]
VALUES (valeurAttr1, valeurAttr2, ...)
La clause INSERT
La clause INSERT
Contrainte d’intégrité (clé primaire) violée!
La clause INSERT
La clause UPDATE
UPDATE nomTable
SET attribut = valeur
WHERE condition
La clause UPDATE
Avant la requête
Après la requête
La clause DELETE
DELETE FROM nomTable
WHERE condition
La clause DELETE
Avant la requête
Après la requête
Requêtes de
consultation
La clause SELECT
SELECT attribut1, attribut2, ...
FROM table1, table2, ...
WHERE condition
La clause SELECT
La clause SELECT
SELECT
Tous les attributs de la
table Etudiant
Equivalent à ETUDIANT en algèbre
relationnelle
La clause SELECT - Opérateur de sélection
Les étudiants avec un identifiant > 4
La clause SELECT - Opérateur
La clause
deSELECT
sélection
Les étudiants qui s’appellent Samantha
La clause SELECT - Opérateur
La clause
deSELECT
sélection
Les étudiants dont le nom commence avec ‘S’
La clause SELECT - Opérateur
La clause
de SELECT
projection
Les noms des étudiants
La clause SELECT - Opérateur
La clause
de SELECT
projection
Le nom de l’étudiant avec
l’identifiant 4
La clause SELECT - Opérateur
La clause
de SELECT
projection
Les matières dont le nom
contient la chaîne ‘Art’
La clause SELECT - Opérateur
La clause
de SELECT
projection
Les notes divisées par 2
La clause SELECT - Opérateur
La clause
de SELECT
projection
Notion d’alias
Les notes divisées par 2
Le produit cartésienLa
et clause
les jointures
SELECT
ETUDIANT X NOTE
LaLe
clause
produit
SELECT
cartésien
- LeLa
produit
et clause
les jointures
cartésien
SELECT
Le nom de tous les étudiants
ayant une note
LaLe
clause
produit
SELECT
cartésien
- LeLa
produit
et clause
les jointures
cartésien
SELECT
Le nom de tous les étudiants
ayant une note sans duplication
Le produit cartésienLa
et clause
les jointures
SELECT
Le nom de tous les étudiants ayant
une note > 15 sans duplication
Le produit cartésienLa
et clause
les jointures
SELECT
Le nom et la note de tous les
étudiants ayant une note > 15
Le produit cartésienLa
et clause
les jointures
SELECT
Le nom, la note et la matière de tous
les étudiants ayant une note > 15
Le produit cartésienLa
et clause
les jointures
SELECT
Le nom et la note de tous les
étudiants ayant une note >10 en Maths
Le produit cartésienLa
et clause
les jointures
SELECT
L’identifiant, le nom et la note de
tous les étudiants ayant une note >10
en Maths
La colonne idEtudiant est ambigüe!
Le produit cartésienLa
et clause
les jointures
SELECT
L’identifiant, le nom et la note de
tous les étudiants ayant une note >10
en Maths
La colonne idEtudiant n’est plus ambigüe!
Le produit cartésienLa
et clause
les jointures
SELECT
L’identifiant, le nom et la note de tous
les étudiants ayant une note >10 en
Maths, par ordre ascendant des notes
Le produit cartésienLa
et clause
les jointures
SELECT
L’identifiant, le nom et la note de tous
les étudiants ayant une note >10 en
Maths, par ordre descendant des notes