diff --git a/organisation_db.md b/organisation_db.md index 40155b4..77fcc4c 100644 --- a/organisation_db.md +++ b/organisation_db.md @@ -1,57 +1,56 @@ # Résumé des éléments de la base de données -## Table Projets +## Table `projects` Contient la liste des projets. -- id: int (clé primaire, auto-incrémentée et unique) -- nom: string (nom du projet, obligatoire) -- description: string (description du projet, optionnelle) -- date_debut: date (date de début du projet, optionnelle) -- status: int (statut du projet, obligatoire) - - Valeurs possibles: 0 (en cours), 1 (terminé), 2 (annulé) -- launched: bool (indique si le projet est lancé, obligatoire, par défaut à false) +- `id`: int (clé primaire, auto-incrémentée et unique) +- `name`: string (nom du projet, obligatoire) +- `description`: string (description du projet, optionnelle) +- `start_date`: date (date de début du projet, optionnelle) +- `status`: int (statut du projet, obligatoire) + - Valeurs possibles: 0 (brouillon), 1 (en cours), 2 (terminé), 3 (annulé) -## Table Mesures +## Table `measurements` Contient l'ensemble des mesures effectuées pour un projet donné. Il peut y avoir plusieurs mesures pour un même projet. -Chaque mesure doit avoir un id incrémenté par rapport à la dernière mesure. -Chaque mesure contient un timestamp, un chemin vers un fichier image, une mesure de température et une mesure d'humidité. +Chaque mesure doit avoir un `id` incrémenté par rapport à la dernière mesure. +Chaque mesure contient un `timestamp`, un chemin vers un fichier image, une mesure de température et une mesure d'humidité. Chaque mesure doit préciser si elle a été effectuée ou non (car le fichier image est généré par la caméra donc lorsque la mesure est ajoutée, le fichier n'existe pas encore). -- id: int (clé primaire, auto-incrémentée et unique) -- id_projet: int (clé étrangère vers la table Projets) -- timestamp: datetime (date et heure de la mesure) -- chemin_image: string (chemin vers le fichier image, optionnel) -- temperature: float (mesure de température, optionnelle) -- humidite: float (mesure d'humidité, optionnelle) -- effectuee: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false) +- `id`: int (clé primaire, auto-incrémentée et unique) +- `project_id`: int (clé étrangère vers la table `projects`) +- `timestamp`: datetime (date et heure de la mesure) +- `image_path`: string (chemin vers le fichier image, optionnel) +- `temperature`: float (mesure de température, optionnelle) +- `humidity`: float (mesure d'humidité, optionnelle) +- `completed`: bool (indique si la mesure a été effectuée, obligatoire, par défaut à false) -## Table Videos +## Table `videos` Contient l'ensemble des vidéos générées par partir des images des mesures d'un projet donné. Il peut y avoir plusieurs vidéos pour un même projet. -Il doit être possible de contenir la liste des id des mesures utilisées pour générer la vidéo. +Il doit être possible de contenir la liste des `id` des mesures utilisées pour générer la vidéo. Il doit être possible de contenir le chemin vers la vidéo générée. -Il doit contenir le timestamp de la première image de la vidéo et le timestamp de la dernière image de la vidéo. +Il doit contenir le `timestamp` de la première image de la vidéo et le `timestamp` de la dernière image de la vidéo. Il doit contenir le nombre d'images utilisées pour générer la vidéo. -Il doit contenir les paramètres de la vidéo (résolution, durée) : +Il doit contenir les paramètres de la vidéo (`résolution`, `durée`): -- resolution: string (résolution de la vidéo, optionnelle) -- duree: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde) -- fps: int (nombre d'images par seconde, optionnelle) +- `resolution`: string (résolution de la vidéo, optionnelle) +- `duration`: int (durée de la vidéo en secondes, déduite soit de la durée de la vidéo, soit du nombre d'images et du nombre d'images par seconde) +- `fps`: int (nombre d'images par seconde, optionnelle) Il doit contenir le statut de la vidéo (en cours de génération, terminée, annulée). -- id: int (clé primaire, auto-incrémentée et unique) -- id_projet: int (clé étrangère vers la table Projets) -- id_mesures: string (liste des id des mesures utilisées pour générer la vidéo) -- chemin_video: string (chemin vers le fichier vidéo, optionnel) -- timestamp_debut: datetime (date et heure de la première image de la vidéo) -- timestamp_fin: datetime (date et heure de la dernière image de la vidéo) -- nb_images: int (nombre d'images utilisées pour générer la vidéo) -- resolution: string (résolution de la vidéo, optionnelle) -- duree: int (durée de la vidéo en secondes, optionnelle) -- fps: int (nombre d'images par seconde, optionnelle) -- status: int (statut de la vidéo, obligatoire) - - Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée) +- `id`: int (clé primaire, auto-incrémentée et unique) +- `project_id`: int (clé étrangère vers la table `projects`) +- `measurement_ids`: string (liste des `id` des mesures utilisées pour générer la vidéo) +- `video_path`: string (chemin vers le fichier vidéo, optionnel) +- `start_timestamp`: datetime (date et heure de la première image de la vidéo) +- `end_timestamp`: datetime (date et heure de la dernière image de la vidéo) +- `image_count`: int (nombre d'images utilisées pour générer la vidéo) +- `resolution`: string (résolution de la vidéo, optionnelle) +- `duration`: int (durée de la vidéo en secondes, optionnelle) +- `fps`: int (nombre d'images par seconde, optionnelle) +- `status`: int (statut de la vidéo, obligatoire) + - Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée)