Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
Soit la base de l’extension suivante de la relation Personne :
Numero Nom Prenom
1 Bonicoli Pierre-Louis
2 Grossetete Sandrine
3 Renaud Stephane
4 Rum Alexandra
Que valent les expressions suivantes ?
1. [ ; ] [ ] (Personne)
2. [ # ] (Personne)
3. [ ] [ # ]( [ , ] (Personne)))
Solution 1
1. [ ; ]( [ ] (Personne)
Nom Prenom
Grossetete Sandrine
Renaud Stephane
Rum Alexandra
2. [ # ] (Personne)
Numero Nom Prenom
2 Grossetete Sandrine
3. [ ] ( [ # ]( [ , ] (Personne)))
Prenom
Pierre-Louis
Stephane
Alexandra
Exercice 2 :
On considère les relations suivantes:
PERSONNE (CIN, NOM, Prenom, Adresse) ;
Voiture(NCarteGrise, CIN, Modele)
Moto(NCarteGrise, CIN, Modele)
Ecrire les expressions représentant:
1. Afficher les personnes qui possèdent une voiture mais pas de moto?
2. Afficher les personnes qui possèdent une voiture et une moto?
3. Afficher les personnes qui ne possèdent ni voiture ni moto?
Solution 2
1. Afficher les personnes qui possèdent une voiture mais pas de moto?
[ , !, ," ## ] [( [ ]$ % − [ ] ! % ) Personne]
Exercice 3 :
On considère la relation suivante : Projet (numP, nomP, budget, ville).
Projet
numP nomP Budget Ville
P1 Musique 150 000 Douala
P2 Developpement des bases de 135 000 Bafoussam
données
P3 CAD/CAM 250 000 Bafoussam
P4 Maintenance 310 000 Dschang
Représenter pour chaque relation suivante, l’opération de fragmentation ainsi que la table
résultante, en tenant compte des requêtes suivantes :
Solution 3
1. R1 : SELECT nomP, budget FROM Projet WHERE ville = “Bafoussam”;
Opération : [ ;) * %] ( [+ ," . ## "] Projet)
Table résultante :
nomP Budget
Developpement des bases de données 135 000
CAD/CAM 250 000
3. R3: SELECT nomP, ville FROM Projet WHERE Budget > 200 000;
Opération : [ ;+ ] ( [) * % /00 000] Projet)
Table résultante :
nomP Ville
CAD/CAM Bafoussam
Maintenance Dschang
Table résultante :
numP nomP Budget Ville
P1 Musique 150 000 Douala
P2 Developpement des bases de données 135 000 Bafoussam
Exercice 4:
La base de données d'une entreprise d'informatique, IfriCréa, a le schéma global suivant:
SERVICE (#service, nom, chef, site)
PROJET (#projet, #service, nom, chef, budget, durée, date-début)
EMPLOYE (#emp, #service, nom, prénom, fonction, salaire, prime-annuelle, date-naiss,
adresse, #tel)
IfriCréa est localisé sur trois sites de la région de Douala: Douala Akwa, Douala Bonabéri, et
Douala Bépanda. Le site de Douala Akwa tient également lieu de siège pour l'entreprise.
Pour la mise en place de sa base de données, l’on tient compte des hypothèses suivantes :
L'attribut « site » de SERVICE prend une des valeurs suivantes: "Akwa", "Bonabéri", et
"Bépanda".
L'attribut « nom » de SERVICE prend une des valeurs suivantes: "commercial", "financier",
"technique", "maintenance", "recherche et développement", etc.
#service (resp. #emp) est clé primaire de SERVICE (resp. EMPLOYE).
#projet est local à un service.
Le chef d'un service ou d'un projet est un employé désigné par son numéro.
Les employés sont affectés à un site donné, sauf pour les employés du service de maintenance
qui interviennent dans tous les sites.
Les données concernant la rémunération ainsi que les informations personnelles des employés
sont regroupées et centralisées au siège de l'entreprise.
1.
a) Donner les trois (03) opérateurs de l’algèbre relationnel pour fragmenter la table SERVICE
sur les sites "Akwa", "Bonabéri", et "Bépanda" ;
b) Définir les requêtes SQL associées à chacun des opérateurs définis à la question 1.a) ;
2. Proposer trois (03) opérateurs de l’algèbre relationnel permettant d’effectuer les fragmentations
dérivées sur la table PROJET (à chaque opérateur on obtiendra les fragments
123456789: , 123456;<=:>é@A et 123456;éB:=C: ) ;
Solution 4
1.
a) Opérateurs pour fragmenter la table SERVICE
SERVICEAkwa = D[#EF@GAHF,=<I,HJFK] (L[EAMF,"789:"] (SERVICE)) ;
SERVICEBonabéri = D[#EF@GAHF,=<I,HJFK] (L[EAMF,";<=:>é@A"] (SERVICE)) ;
SERVICEBépanda = D[#EF@GAHF,=<I,HJFK] (L[EAMF,";éB:=C:"] (SERVICE))
EMPLOYEPersonnelle :
Exercice 5 :
Soit le schéma de la base de données Bibliothèque suivante :
Etudiant(NumEtd,NomEtd,PrenomEdt,AdresseEtd)
Livre(NumLivre,TitreLivre,NumAuteur,NumEditeur,NumTheme,AnneeEdition)
Auteur(NumAuteur,NomAuteur,AdresseAuteur)
Editeur(NumEditeur,NomEditeur,AdresseEditeur)
Theme(NumTheme,IntituléTheme)
Prêt(NumEtd,NumLivre,DatePret,DateRetour)
1. Insérer les avions suivants dans la table Avion : (100, AIRBUS, 300, RABAT),
(101,B737,250,CASA), (101, B737,220,RABAT)
10. Afficher les données des avions dont la capacité et la plus basse
11. Afficher les données des avions dont la capacité et supérieure à la capacité moyenne
12. Afficher le nom et l’adresse des pilotes assurant les vols IT100 et IT104
14. Afficher les numéros des pilotes qui ne sont pas en service
Solution 6
1.
Insert into avion values (100, 'AIRBUS', 300, 'RABAT');
Insert into avion values (101,'B737',250,'CASA');
Insert into avion values (101, 'B737',220,'RABAT');
2.
select *
from avion;
3.
select *
from avion
order by Nom asc;
4.
select nom, Capacite
from avion;
5.
select distinct Localite
from avion;
6.
select *
from avion
where Localite='Rabat' or Localite='Casa' ;
7.
Update avion set Capacite=220
where NA=101;
8.
Delete from avion
where Capacite <200;
9.
Select Max(Capacite), Min(Capacite), Avg(Capacite)
from avion;
10.
Select *
from avion
where Capacite=min(Capacite);
11.
Select *
from avion
where Capacite>=avg(Capacite);
12.
Select Nom, Adresse
from Pilote, Vol
where Pilote.NP= Vol.NP and NV='IT100' and NV='IT104';
13.
Select NP
from Vol;
14.
Select NP
from Pilote
where NP not in (select NP from Vol);
15.
Select Pilote.NOM
from Pilote, Vol, Avion
where Pilote.NP= Vol.NP and Avion.NA=Vol.NA
and Avion.NOM='AIRBUS';