0% ont trouvé ce document utile (0 vote)
134 vues2 pages

Gestion de locations : MySQL et MongoDB

Transféré par

Asmaë Asmaë
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
134 vues2 pages

Gestion de locations : MySQL et MongoDB

Transféré par

Asmaë Asmaë
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

‫ﻣﻜﺘﺐ اﻟﺘﻜﻮﯾﻦ اﻟﻤﮭﻨﻲ وإﻧﻌﺎش اﻟﺸﻐﻞ‬

OFFICE DE LA FORMATION PROFESSIONNELLE


ET DE LA PROMOTION DE TRAVAIL

Contrôle Continu N° 2
Promotion : 2024-2025 Année de formation : 2A
Filière : DDOWFS – DD. Option Web Full Stack Epreuve : TH/TP
Niveau : Technicien Spécialisé Durée : 2H
Module : M203. Gérer les données Barème : / 20

Partie 1 : MySQL

Une entreprise de location de voitures utilise une base de données MySQL pour gérer ses clients, ses véhicules et
leurs locations. Le schéma de la base de données MySQL gère trois tables principales :

clients ( idclient, nom, prenom, email, telephone);


voitures ( idvoiture, marque, modele, annee, disponibilite);
locations ( idlocation, #idclient, #idvoiture, date_debut, date_fin, tarif_journalier);

Questions
1. Créez une procédure stockée appelée AjouterLocation qui ajoute une nouvelle location à la table
locations en prenant les paramètres suivants : idclient, idvoiture, date_debut, et date_fin et
tarif_journalier. La procédure doit incrémenter automatiquement le champ idlocation.
2. Créez une fonction appelée CalculMontantTotal qui prend en paramètre l’id d’une location, et retourne le
montant total de la location.
3. Créez une procédure stockée appelée ProlongerLocation qui met à jour la date de fin d'une location
existante.
4. Créez un trigger appelé MAJDisponibilite qui se déclenche après une insertion dans la table locations pour
mettre à jour la disponibilité de la voiture concernée (disponibilite = false).
5. Créer la vue vwLocationEnCours pour retourner la liste de toutes les locations en cours, en incluant les
informations suivantes : le nom et le prénom du client, la marque et le modèle de la voiture, ainsi que les
dates de début et de fin de location.
6. Créez une fonction appelée VerifierDisponibilite qui prend l’identifiant d’une voiture en paramètre et une
période et retourne true si la voiture est disponible dans cette période, et false sinon.
7. Créez une fonction CalculCAVoiture qui calculer le chiffre d’affaires mensuel par année généré par chaque
voiture, en affichant également la marque et le modèle de la voiture.
8. Créez un trigger appelé VerifDatesLocation qui empêche l’insertion d’une location si la date de fin est
antérieure à la date de début, ou la voiture n’est pas disponible.

NB : vérifier l’intégrité des données des paramètres passées aux fonctions et procédures

Page 1/2
M203. Gérer les données Contrôle Continu

Partie 2 : NoSQL MongoDB

Utilisant une base de données MongoDB. Les données sont stockées dans les collections suivantes :

Clients : { Voitures : { Locations : {


" idclient» : "C001", " idvoiture» : "V001", "_id» : "12345",
"nom» : "Nabil", "marque» : "Toyota", " idclient» : "C001",
"prenom» : "Amine", "modele» : "Corolla", " idvoiture» : "V001",
"email" : "[email protected]", "annee» : 2020, "date_debut» : "2024-12-16",
"telephone" : "0123456789", "disponibilite» : true "date_fin» : "2024-12-31",
"historique_locations» : [ } "tarif_journalier" : 500
{"idvoiture» : "V001", "date_debut» : }
"2024--12-16", "date_fin» : "2024-12-31"} ]
}

Questions

1. Rédigez une requête MongoDB pour lister toutes les voitures disponibles ayant un prix journalier inférieur
à 600 dhs.
2. Rédigez une requête d'agrégation pour calculer le chiffre d'affaires total généré par les locations de
chaque voiture.
3. Un client souhaite prolonger une location en cours. Rédigez une requête MongoDB pour modifier la date
de fin de location de l'identifiant 12345, en la passant de "2024-12-16" à "2024-12-20".
4. Rédigez une requête MongoDB utilisant l'opération $lookup pour obtenir une liste des clients avec le
détail des voitures qu'ils ont louées (incluant marque, modèle et prix journalier), triée par date de début
de location (croissante).

Page 2/2

Vous aimerez peut-être aussi