Académique Documents
Professionnel Documents
Culture Documents
Website : www.TakiAcademy.com 1
Résumé Base de données
• La confidentialité : Tous les utilisateurs d'une base de données ne sont pas supposés
pouvoir consulter toutes les informations
• La sécurité du fonctionnement
Types de contraintes :
• Les contraintes d'intégrité de domaines : valeur autorisées pour une colonne (valide si)
• Les contraintes d'intégrité de table: clé primaire
• Les contraintes d'intégrité référentielle : Champ clé étrangère ne peut contenir qu'une
valeur déjà existante dans le champ clé primaire correspondant
Website : www.TakiAcademy.com 2
Résumé Base de données
Exemple :
Create table produit
( code int(3) PRIMARY KEY,
libelle varchar(30) not null,
prix_unit decimale(8,3) check(pu>0));
Website : www.TakiAcademy.com 3
Résumé Base de données
• ADD CONSTRAINT: Ajouter une nouvelle contrainte
Exemple: Alter table produit ADD CONSTRAINT check(Qte_stock>=0);
• MODIFY COLUMN : modifier la structure d’une colonne
Exemple: Alter table produit MODIFY COLUMN (libelle varchar(50)) ;
• DROP COLUMN : Supprimer une colonne
Exemple: Alter table produit DROP COLUMN (Qte_stock) ;
• DROP CONSTRAINT: Supprimer une contrainte
Exemple: Alter table produit DROP CONSTRAINT check(Qte_stock>=0);
• DISABLE CONSTRAINT: Désactiver une contrainte
Exemple: Alter table produit DISABLE CONSTRAINT PRIMARY KEY;
• ENABLE CONSTRAINT: Activer une contrainte
Exemple: Alter table produit ENABLE CONSTRAINT PRIMARY KEY;
Suppression d'une table
DROP TABLE nom_table
EXEMPLE :
DROP table produit ;
Chapitre 6 : (Manipulation d'une base de données)
Langage de manipulation des données ( LMD) : Permet de consulter / modifier le contenu
de la base de données
Mise à jour des données
• Insertion de ligne :
Syntaxe : insert into nom_table (colonne1, colonne2,…) values (valeur1, valeur2,…) ;
Exemple : insert into client(code,nom,adresse) values (12,"Ali", "Nabeul") ;
Ou bien, on peut écrire aussi :
insert into client values (12,"Ali", "Nabeul") ;
• La modification d'une ligne
Syntaxe : update nom_table set champ1 = expression1, champ2=expression2,… [where
condition] ;
Exemple : update produit set prix_unit=prix_unit + (prix_unit*0.2) where code=12
Website : www.TakiAcademy.com 4
Résumé Base de données
select nom, adresse from client ;
Ou bien afficher toutes les informations de tous les clients :
Select * from client ;
• Une sélection (avec la clause where) : Afficher certaines lignes d'une table
Syntaxe : select colonne1, colonne2,… from nom_table where condition ;
Exemple : Afficher les noms et les adresse de tous les clients de Tunis :
select nom, adresse from client where Adresse="Tunis" ;
Ou bien afficher dans l’ordre alphabétiques, toutes les informations de tous les clients de
Tunis : Select * from client where Adresse="Tunis" order by nom;
Les conditions : Se sont des expressions logiques utilisant les opérateurs suivants :
1) =, <, >, !=, <=, >=
2) BETWEEN
3) IN
4) IS NULL, IS NOT NULL
5) LIKE
6) AND, OR, NOT
La clause order by sert à trier la table résultat dans un ordre croissant ou décroissant
(asc,desc)
• Une jointure (recherche à partir de plusieurs tables)
Exemple :
Soit la base de données BD_location suivante :
Client(code,Nom, ville)
Voiture(matricule,Marque,couleur, prix_jour)
Location(Code,matricule,date_loc,nb_jours_loc)
Req1 : Afficher la liste de clients qui ont loués des voitures après entre le 12/02/2011 et le
19/05/2011
Select C.code, C.Nom
From Client C, Location L
Where (C.code = L.code) and (date_loc between 12/02/2011 and 19/05/2011)
NB. Dans la requête ci-dessus, on a une seule jointure
Req2 : Afficher les marques de voitures qui ont étés loués par des clients de Tunis et de
couleur rouge.
Select marque
From Client C, Location L, Voiture V
Where (C.code = L.code) and (V.matricule = L.matricule) and (ville="Tunis") and
(couleur="rouge")
NB. Dans la requête ci-dessus, on a deux jointures
Website : www.TakiAcademy.com 5
Résumé Base de données
Les fonctions agrégats
• COUNT Exemple : Calculer le nombre de clients total : Select COUNT(*) from
client ;
• SUM Exemple : Afficher pour chaque client son nom et son nb_jour_loc total.
Select nom, SUM(nb_jour_loc) from client C, location L Where (C.code=L.code) group
by nom
• MAX Exemple : Afficher le prix_jour maximal : select MAX (prix_jour) from voiture
• MIN Exemple : Afficher le prix_jour minimal : select MIN (prix_jour) from
voiture
• AVG Exemple : Afficher la moyenne de nb_jour_loc : select AVG (nb_jour_loc)
from location
Les requêtes de calcul:
Exemple : Calculer le montant total à payer pour le client num 125
Select prix_jour * nb_jour_loc "Montant total"
From voiture V, location L
Where (V.matricule = L.matricule) and (code=125);
Website : www.TakiAcademy.com 6