Chapitre 2
Chapitre 2
Chapitre 2
Qu’est-ce que S QL ?
2
Types de données principaux
contrainte
Clé primaire :
PRIMARY KEY (clé)
Clé étrangère :
FOREIGN KEY (clé) REF EREN C ES table(attribut)
Contrainte de domaine :
CHECK (condition) 4
Définition des données (1/2)
ex.
5
Définition des données (2/2)
ex.
CREATE TABLE Passer ( NumEtu NUMBER(8),
CodeEpr VARCHAR(10),
Note NUMBER(5, 2),
Ajout d’attributs
ALTER TABLE nom_table A D D (attribut TYPE, … )
ex. ALTER TABLE Etudiant A D D (tel NUMBER(8))
Modifications d’attributs
ALTER TABLE nom_table MODIFY (attribut TYPE, … )
ex. ALTER TABLE Etudiant MODIFY (tel NUMBER(10))
Suppression d'attributs
ALTER TABLE nom_table D R O P COLUMN attribut, ...
ex. ALTER TABLE Etudiant D R O P COLUMN tel
7
Modifications structurelles (2/2)
Ajout de contrainte
ALTER TABLE nom_table
A D D CONSTRAINT nom_contrainte définition_contrainte
ex. ALTER TABLE Epreuve
A D D CONSTRAINT LieuValide CHECK (Lieu IN (‘Say’, ‘Aubrac’))
Suppression de contrainte
ALTER TABLE nom_table D R O P CONSTRAINT nom_contrainte
ex. ALTER TABLE Epreuve
D R O P CONSTRAINT LieuValide
8
Index
9
Vues
10
Intérêt des vues (1/2)
11
Intérêt des vues (2/2)
Suppression de n-uplets
ex. DELETE F RO M Etudiant
WH ERE Ville = ‘Lyon’
ex. DELETE F RO M Epreuve
13
Interrogation des données
Tri du résultat
ex. Par ordre alphabétique [inverse] de nom
SELECT * F R O M Etudiant
O R D E R BY N o m [DESC]
Champs calculés
ex. Transformation de notes sur 2 0 en notes sur 1 0
SELECT Note / 2 F R O M Passer
15
Projection et restriction
Projection
ex. N o m s et Prénoms des étudiant·es, uniquement (pas
les autres attributs)
SELECT Nom, Prénom F R O M Etudiant
Suppression des doublons
ex. SELECT DISTINCT N o m F R O M Etudiant
Restriction
ex. Étudiant·es qui habitent à Lyon
SELECT * F R O M Etudiant
W H E R E Ville = ‘Lyon’
16
Opérateurs de restriction (1/3)
ex. Épreuves se déroulant après le 01/01/2016
SELECT * FROM Epreuve
WHERE DateEpr >= '01-01-2016'
18
Opérateurs de restriction (3/3)
19
Opérateurs logiques
20
Fonctions d’agrégat
Elles opèrent sur un ensemble de valeurs et les agrègent.
AVG(), VARIANCE(), STDDEV() : moyenne, variance et
écart-type des valeurs
SUM() : s o m m e des valeurs
MIN(), MAX() : valeur minimum, valeur maximum
COUNT() : nombre de valeurs
ex. Moyenne des notes
SELECT AVG(Note) F R O M Passer
21
Fonction COUNT et opérateur DISTINCT
22
Exemple COUNT/DISTINCT
Table PASSER
COUNT(NumEtu) ⇒ Résultat = 3
23
Jointure (1/3)
NumEtu NumEtu
=
ETUDIANT PASSE
R
24
Jointure (2/3)
NB : Utilisation d’alias (E
et P) pour alléger l’écriture
+ tri par nom (croissant) et
note (décroissante). 25
Jointure (3/3)
WHERE CodeEpr IN (
S ou s-
SELECT CodeEpr FROM Epreuve requête
WHERE DateEpr = ‘23-09-2016’ )
26
Groupement (1/2)