46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Résumé des éléments de la base de données
|
|
|
|
## Table `projects`
|
|
|
|
Contient la liste des projets.
|
|
|
|
- `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 `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 préciser un `order_id` unique pour chaque projet.
|
|
|
|
- `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, obligatoire)
|
|
- `path`: string (chemin vers le fichier image, optionnel)
|
|
- `temperature`: float (mesure de température, optionnelle)
|
|
- `humidity`: float (mesure d'humidité, optionnelle)
|
|
- `order_id`: int (ordre de la mesure, obligatoire, unique pour chaque projet)
|
|
|
|
## Table `videos`
|
|
|
|
Contient l'ensemble des vidéos générées à 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 le chemin vers la vidéo générée.
|
|
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)
|
|
- `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, obligatoire)
|
|
- `video_file`: string (chemin vers le fichier vidéo, optionnel)
|
|
- `resolution`: string (résolution de la vidéo, optionnelle)
|
|
- `duration`: int (durée de la vidéo en secondes, optionnelle)
|
|
- `status`: int (statut de la vidéo, obligatoire)
|
|
- Valeurs possibles: 0 (en cours), 1 (terminée), 2 (annulée)
|
|
- `name`: string (nom de la vidéo, optionnel) |