Aller au contenu

TP - Agences de location de véhicules

Ce TP utilise SQLite compiled to JavaScript.
Il est mis à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International et adapté du TP originel de Jacques Le Coupanec.

Synopsis

Vous venez de finir brillamment vos études en Bretagne, et, confiant dans vos capacités, vous décidez de monter votre petite entreprise. Vous avez choisi de vous lancer dans la location de véhicules et en à peine 6 mois vous êtes déjà à la tête d'un réseau d'agences.

Malheureusement, il apparaît que les rentrées financières ne décollent pas vraiment et il est temps d'analyser en détail votre historique des locations, le déplacement de vos véhicules et la synergie entre vos différentes agences.

Schéma relationnel

Votre base de données est constituée des trois tables suivantes :

Diagramme locations

  • Table Vehicules :

    • l'attribut nom regroupe la marque et le modèle du véhicule ;
    • l'attribut age est l'ancienneté, en mois, du véhicule au sein de la flotte.
  • Table Locations :

    • l'attribut vehicule fait référence à l'attribut immatriculation d'un véhicule ;
    • l'attribut depart fait référence à l'identifiant id d'une agence ;
    • l'attribut retour fait référence à l'identifiant id d'une agence ;
    • l'attribut kilometrage est le kilométrage parcouru par le véhicule durant cette location.
      Cet attribut est NULL si la location est en cours ;
    • l'attribut date est la date de la location ;
    • l'attribut duree indique le nombre de jours de location.
  • Table Agences :

    • l'attribut code correspond au code postal.

Partie A - Étude de la relation Agences

Dans cette partie, vous allez utiliser la commande SELECT associée aux commandes :

  • WHERE ... ;
  • WHERE ... LIKE ... ;
  • WHERE ... IN ....

Vous utiliserez également les fonctions d'agrégation COUNT() et SUBSTR().

Pour commencer, suivez ce lien.

Fonction SUBSTR

Internet est votre ami : https://www.sqlitetutorial.net/sqlite-functions/sqlite-substr/.

Partie B - Étude de la relation Véhicules

Dans cette partie, vous allez utiliser la commande SELECT associée au mot-clef AS et à la commande ORDER BY.

Vous utiliserez également les fonctions d'agrégation MIN(), MAX() et AVG().

Pour continuer, suivez ce lien.

Partie C - Étude de la relation Locations

Dans cette partie, vous définirez des jointures entre les trois relations à l'aide de la commande JOIN ... AS .... ON ....

Pour effectuer cette nouvelle étude, suivez ce lien.

Partie D - Gestion du réseau d'agences

Dans cette partie, vous utiliserez toutes les commandes SQL découvertes dans ce chapitre, ainsi que celles étudiées dans le chapitre précédent.

Pour réaliser la dernière partie de ce TP, suivez ce lien.