TOPCHRONO développe une plateforme de réservation de courses similaire à Uber. L’objectif est de gérer chauffeurs, passagers, trajets et tarifications, avec des règles métier encapsulées dans la base via fonctions et procédures stockées.
Cela permet :
Remarque sur le type d’une personne : une personne est soit « Passager » (par défaut) soit « Inscription » pour une personne qui a fait une demande d’inscription pour devenir chauffeur sans être déjà passager. Elle devient « Chauffeur » si sa demande d'inscription a été acceptée. Un passager qui demande à devenir chauffeur est un « PassagerInscription ». Si sa demande d’inscription pour devenir chauffeur est acceptée elle devient « ChauffeurPassager».
Note: Implanter le script de création de la base de données fourni pour faire le travail suivant
Implémenter la fonction stockée tarifCommission(distance INT) AS DECIMAL qui retourne la commission pratiquée en fonction de la longueur d’un trajet :
CREATE FUNCTION tarifCommission(distance INT) RETURNS DECIMAL DETERMINISTIC BEGIN RETURN ( SELECT tarif FROM Commission WHERE distance >= min AND distance < max ) ; END$$
Implémenter la fonction stockée tarifChauffeur(numChauffeur INT, distance INT) qui retourne le tarif* pratiqué par un chauffeur en fonction de la longueur d’un trajet.
*Remarque : tarif d'un chauffeur = partie fixe + partie variable selon la distance
Coder la procédure stockée tarifChauffeurs(distance INT) qui affiche le tarif pratiqué par chaque chauffeur en fonction de la longueur d’un trajet.
Coder la procédure stockée validerInscription(numChauffeur INT) permettant de valider(accepter) l’inscription d’un chauffeur.
Remarques :
En PHP(pdo) ou en Java(jdbc)