From 7e643c3f909a77ae4a25ed4bbf8210b4f4e41aec Mon Sep 17 00:00:00 2001 From: Kerboul Date: Wed, 8 Jan 2025 15:57:23 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20documentation?= =?UTF-8?q?=20de=20la=20base=20de=20donn=C3=A9es=20:=20normalisation=20des?= =?UTF-8?q?=20noms=20de=20tables=20et=20des=20champs,=20ajout=20de=20pr?= =?UTF-8?q?=C3=A9cisions=20sur=20les=20valeurs=20possibles=20pour=20les=20?= =?UTF-8?q?statuts.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- organisation_db.md | 73 +++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 37 deletions(-) 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)