2 BDD
2 BDD
2 BDD
Cycle d’Ingénieurs
PLAN
I. Rappel
II. Clauses et contraintes d’ intégrité SQL
III.Exemples de syntaxes
V. Applications
2
RAPPEL
Interface physique
Implémentation
Maintenance 3
Création avec clé étrangère
CREATE TABLE Employes (Id_Emp INT NOT NULL, Nom_Emp VARCHAR (80) NOT
NULL, Age INT NOT NULL, Salaire Float
);
--Table Service avec clé étrangère 1
CREATE TABLE Services(Id_Sce INT NOT NULL, nom_Sce VARCHAR (30), fk Id_Emp
INT REFERENCES Employes(Id_Emp), PRIMARY KEY (Id_Sce)
);
ALTER TABLE Commande, ADD foreign key (Code_Clt) references Clt (Code_Clt);
7
EXEMPLES
8
COMMANDES/CLAUSES SQL
(suite)
▪ Exist/not exist
▪ Show
▪ Distinct
▪ Group By
▪ Order By
▪ Where
▪ Having
9
EXIST/NOT EXIST
• Dans le langage SQL, la commande EXIST s’utilise dans une
clause conditionnelle pour savoir s’il y a une présence ou non
de lignes lors de l’utilisation d’une sous-requête.
• Exist < > IN. (IN vérifie la concordance d’une à plusieurs
données).
10
SHOW
SHOW TABLES répertorie les tables, séquences et vues
non TEMPORAIRES dans une base de données.
11
DISTINCT
Pour éviter des redondances dans les résultats, il faut ajouter la
clause DISTINCT après le mot SELECT.
12
GROUP BY
La commande GROUP BY sert à grouper plusieurs résultats et
à utiliser une fonction de totaux sur un groupe de résultat.
Exemple : Sur une table qui contient toutes les ventes d’un magasin, il est par
exemple possible :
➢ de regrouper les ventes par clients identiques
➢ d’obtenir le total des achats pour chaque client.
✓ WHERE spécifie les conditions de sélection des tuples (lignes) dans les
tables, y compris les conditions de jointure si nécessaire.
✓ HAVING spécifie une condition sur les groupes sélectionnés.
SELECT colonne A,colonne B
FROM table X
SELECT colonne1, colonne2,…
WHERE condition
FROM table X
GROUP BY colonneA,…
WHERE condition; 24
HAVING condition
ORDER BY colonne A,…;
CONTRAINTES D’INTÉGRITÉ
• Une contrainte d'intégrité est une clause permettant de
contraindre la modification de tables, faite par l'intermédiaire de
requêtes d'utilisateurs, afin que les données saisies dans la base
soient conformes aux données attendues.
• Ces contraintes doivent être exprimées dès la création de la table
grâce aux mots clés suivants:
• CONSTRAINT
• DEFAULT
• NOT NULL
• UNIQUE
• CHECK 26
EXPRESSION
DE CONTRAINTE D’INTEGRITE
• Exemple : syntaxe d'une instruction de création de table avec
contraintes
Exemple :
ALTER TABLE Nom_table DROP CONSTRAINT nom_contrainte
20
INSERTION DANS CRÉATION DETABLES
• Il est possible de créer une table en insérant directement des lignes lors de la
création.
• Les lignes à insérer peuvent être alors récupérées d'une table existante grâce au
prédicat AS SELECT.
22
TP EXIST
Soient 2 tables : Table Commande et Table Produit.
De la table commande, affichez les données pour lesquels il y a effectivement un produit=Id pdt
de la table produit. (A appliquer sur vos machines )
Id Cde Date Cde P_Id Qté_pdt Table commande
1 2019-01-08 2 1
2 2019-01-24 3 2
3 2019-02-14 8 1
4 2019-03-23 10 1
24
TP COUNT DISTINCT
De cette table, on souhaite récupérer le nombre des différents magasins d’abord
comme 1er résultat. Ensuite, le nombre des différents magasins comme 2e résultat.
Exprimez les 2 syntaxes correspondantes. (A appliquer sur vos machines)
Table Magasin
Id Magasin Nom Magasin Ventes Magasin
1 Casablanca 3020
2 Fès 3700
3 Agadir 2800
4 Tanger 1600
5 Casablanca 2000
25
CREATION + FOREIGN KEY (1)
26
CREATION + FOREIGN KEY (2)
27
APPLICATION INDIVIDUELLE
Soient les deux tables suivantes :
• Départements ( NumDép, NomDép, VilleDép)
• Employés ( IdEmp, NomEmp, DateEmbEmp,
SalaireEmp, ComEmp, #NumDép)
36