Gestion De Données 5:Serie
Exercice N°1 :
Soit la représentation textuelle de la base de données relative à la gestion d’une bibliothèque régionale
Livre (CodeL, Titre, Auteur, Editeur)
Abonné (NumA, NomA, PrenomA, Adresse)
Emprunt (CodeL#, NumA#, DateEmp, DateRetour)
Livre Abonné
CodeL Titre Auteur Editeur NumA NomA PrenomA Adresse
A34 Candide Camus Sigma 456 Abbasi Ali Rue Paris Tunis
B180 La peste Hugo Parnasse 460 Sassi Chokri Rue Tunis Nabeul
Emprunt
CodeL NumA DateEmp DateRetour Sachant que :
A34 460 04/02/2008 10/02/2008 - Le champ Adresse est obligatoire
B180 456 18/02/2008 02/03/2008 - Le champ Editeur est non obligatoire
1- Corriger, dans la deuxième colonne, les fautes dans cette suite de requêtes
Requête Anomalie
INSERT INTO Livre Le livre de code A34 existe déjà,
VALUES ('A34', 'Genial', 'Zola', 'Sigma') ; Le CodeL c’est une clé primaire, il doit être unique
INSERT INTO Livre (Titre, Auteur, Editeur) Le champ CodeL est obligatoire car c’est une clé
VALUES ('Les miserables', 'Hugo', 'Sigma') ; primaire, donc on ne peut pas l’ignorer
INSERT INTO Abonne
Le champ Adresse est obligatoire
VALUES (478, 'Mekki', 'Ahmed') ;
INSERT INTO Emprunt Le code A130 n’existe pas dans la table mère
VALUES ('A130', 460, '2008-04-12', '2008-04-27') ; (livre)
2- Lors de la saisie de ces données, une faute s’est introduite puisque le livre « La peste » a été écrit
par « Camus » et non par « Hugo »
Exprimer en SQL une requête pour corriger cette faute
UPDATE Livre
SET Auteur= "Camus"
WHERE Titre=" La peste " ;
3- L’abonné « Sassi Chokri » a rendu tous les livres empruntés et ne veut plus renouveler son
abonnement.
Exprimer en SQL une requête pour le supprimer de la base de données
DELETE
FROM Abonné
WHERE NomA ="Sassi" AND PrenomA ="Chokri" ;
Exercice N°2 (bacCtr2012) :
Soit la base de données simplifiée relative à la gestion d’activités sportives, décrire par la représentation
textuelle suivante :
Lycée Elmorouj6 4si2(sti) 2021-
2022
- -
Gestion De Données 5:Serie
1- Compléter le tableau ci-dessous par le résultat retourné par chacune des requêtes proposées :
N° Requête Résultat
1 SELECT CodAdh ‘Code’, NomAdh ‘Nom’, PrenAdh ‘Prénom’
FROM ADHERENT Code Nom Prénom
WHERE GenreAdh=’F’ 300 Dziri Ines
200 Zitouni Abir
400 Abid Rana
2 SELECT NomAdh, PrenAdh, NomAct
FROM ADHERENT AD, PRATIQUER P, ACTIVITE AC NomAdh PrenAdh NomAct
WHERE AD.CodAdh = P.CodAdh Tounsi Rayen Judo
AND P.CodAct = AC.CodAct Zitouni Abir Judo
AND P.CodAct =’A2’;
2- Ecrire une requête SQL, en interrogeant la table PRATIQUER, permettant d’obtenir le résultat
cicontre. CodAct
SELECT DISTINCT (CodAct) A2
FROM PRATIQUER ; A1
A3
Exercice N°3 (bacCtr2019) :
Soit la base de données intitulée "Club_Robotique" permettant à un club d’amateurs de robotique de
gérer leurs activités.
Cette base est décrite par la représentation textuelle simplifiée suivante :
ROBOT (IdRob, NomRob)
FABRICANT (IdFab, LibFab)
COMPOSANT (CodeComp, LibComp, PoidsComp, PrixComp, IdFab#)
MEMBRE (IdMemb, NomMemb, PreMemb)
MONTAGE (IdRob#, CodeComp#, IdMemb#, DateMont)
1- Pour visualiser les images capturées par les robots, nous avons besoin d’un nouveau composant
«Caméra vidéo». Ecrire une requête SQL, permettant d’ajouter ce composant avec les
caractéristiques suivantes :
CodeComp LibComp PoidsComp PrixComp IdFab
C0015 Caméra vidéo 150 180.250 F234
Lycée Elmorouj6 4si2(sti) 2021-
2022
- -
Gestion De Données 5:Serie
INSERT INTO COMPOSANT VALUES ('C0015', 'Caméra vidéo', 150, 180.250 , ‘F234’) ;
2- Pour encourager les activités du club, les fournisseurs accordent une réduction de 20% sur le prix
des composants dont le libellé commence par « Diode LED ». Ecrire une requête SQL permettant
de faire cette mise à jour.
UPDATE COMPOSANT
SET PrixComp =PrixComp*80%
WHERE LibComp Like ‘Diode LED % ' ;
3- Ecrire les requêtes SQL permettant d’afficher :
a. La liste nominative des fabricants de composants, triée par ordre alphabétique croissant. SELECT
LibFab
FROM FABRICANT ;
ORDER BY LibFab ;
b. Les nom et prénom des membres qui ont participé dans le montage du robot identifié par 'R101'.
SELECT NomMemb, PreMemb
FROM MEMBRE Mb, MONTAGE Mt
WHERE Mt.IdMemb = Mb.IdMemb
AND IdRob = ‘R101’;
c. Le nombre de composants ayant comme libellé " Capteur de couleurs", montés pendant l’année
2018.
SELECT COUNT(*)
FROM MONTAGE M, COMPOSANT C
WHERE M.CodComp = C.CodComp AND
LibComp = ‘Capteur de couleurs’
AND DateMont >= ‘01/01/2018’ AND DateMont <=’31/12/2018’;
d. Le nom des robots dans lesquels on a monté le composant ayant comme libellé "Caméra
infrarouge".
SELECT NomRob
FROM Robot R, MONTAGE M, COMPOSANT C
WHERE C.CodComp = M.CodComp AND R.IdRob = M.IdRob
AND LibComp = ‘Caméra infrarouge’ ;
e. Pour chaque robot, le montant total de son montage ainsi que le nombre total de composants
montés.
SELECT Sum(PrixComp), COUNT(CodComp)
FROM COMPOSANT C, MONTAGE M
WHERE C.CodComp = M.CodComp
GROUP BY IdRob ;
Lycée Elmorouj6 4si2(sti) 2021-
2022
- -