Professional Documents
Culture Documents
Exemple Exam ECOS6 2020
Exemple Exam ECOS6 2020
Economie et Gestion - S6
Une agence immobilière gère la location (type meublée ou vide) des appartements et des
maisons pour le compte des propriétaires à travers une base de données dont le schéma
simplifié est ci-dessous :
I- Questions
L’intégrité référentielle évite les incohérences, alors en l’activant entre les tables
Proprietaire et Contrat, Access interdira la création d’un contrat si le propriétaire
n'existe pas au préalable.
De l’exemple, le locataire avec l’Id = 2 a loué le même bien (numéro 1) à deux dates
différentes. Alors si on prend le couple ((NumBien, IdLocataire) comme clé primaire
de la table « Bail », le deuxième enregistrement sera rejeté par Access, parce qu’il
contient une valeur de clé répétée (1,2) et ceci contredit la deuxième règle de gestion
qui dit que le même locataire peut louer le même bien à des dates différentes.
Soit NumBail la clé primaire de la table Bail
-2-
II- Soit la requête suivante :
En SQL :
Select NumBien, VilleBien, PrixLocation
From Bien
Where (VilleBien="Casa" Or VilleBien="Rabat") And PrixLocation Not between 5000
And 8000 And TypeDeBien="Appartement" And TypeLocation="Meublée";
En QBE:
Ou
-3-
b. Afficher le numéro de bail, de bien et l’Id de locataire pour les bails effectués le
premier ou le dernier jour des mois de Janvier, Avril ou Juin des années 2017 et
2018 (les mois sont exprimés en lettres).
En SQL :
Select NumBail, NumBien, IdLocataire
From Bail
Where (Day(DateBail) In (1,30) And Format(DateBail,"mmmm") In ("Avril","Juin")
And Year(DateBail) In (2014,2015)) Or (Day(DateBail) In (1,31) And
Format(DateBail,"mmmm")="Janvier" And Year(DateBail) In (2014,2015));
En QBE :
Ou
c. Afficher le nom, le prénom des locataires et la durée de leur bail effectué le mois
courant des années 2014 et 2015. Limiter la sélection pour les bails d’une durée
différente de 5 ans.
En SQL :
Select Nom, Prenom, DuréeBail
From Locataire, Bail
Where Locataire.IdLocataire = Bail.IdLocataire And Bail.DuréeBail <>5 And
Month(DateBail) = Month(Date()) And Year(DateBail) In (2014,2015);
-4-
En QBE :
d. Afficher le numéro et la durée des bails ainsi que le nom et le prénom des
locataires ayant loué le bien numéro 2 dans les six dernières années de la date du
jour.
En SQL :
Select NumBail, DuréeBail, Nom, Prenom
From Locataire Inner Join Bail On Locataire.IdLocataire = Bail.IdLocataire
Where NumBien = 2 And DateDiff("yyyy",[DateBail],Date()) <= 6;
En QBE:
En SQL :
Select Bien.NumBien, TypeDeBien, PrixLocation
From Bien Inner Join Bail On Bien.NumBien = Bail.NumBien
Where (TypeLocation="Meublée") And (DateBail Between [Entrer date début] And
[Entrer date fin]);
En QBE :
En QBE :
g. Afficher le nom, le prénom des locataires et la durée de leurs bails faits les
vendredis du mois de décembre de l’année 2018.
En SQL :
Select Nom, Prenom, DuréeBail
From Locataire Inner Join Bail On Locataire.IdLocataire = Bail.IdLocataire
Where (Format([DateBail],"dddd") = "Vendredi") And (Month([DateBail]) = 12) And
(Year([DateBail]) = 2018);
En QBE :
-6-