Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
documentation:data:base-capteurs [2023/12/05 15:36] – créée baudryjdocumentation:data:base-capteurs [2023/12/05 15:57] (Version actuelle) – [Tables] baudryj
Ligne 3: Ligne 3:
 Pour structurer une base de données qui stocke efficacement les données issues de votre fichier, vous devez prendre en compte la nature des données et la manière dont vous prévoyez de les utiliser. Voici une approche possible : Pour structurer une base de données qui stocke efficacement les données issues de votre fichier, vous devez prendre en compte la nature des données et la manière dont vous prévoyez de les utiliser. Voici une approche possible :
  
 +<markdown>
 ### Structure de la Base de Données ### Structure de la Base de Données
  
Ligne 59: Ligne 60:
  
 L'implémentation dépendra du système de gestion de base de données que vous utilisez (comme MySQL, PostgreSQL, SQLite, etc.). Vous devrez créer ces tables et écrire des scripts ou des programmes pour extraire les données de vos fichiers et les insérer dans la base de données. L'implémentation dépendra du système de gestion de base de données que vous utilisez (comme MySQL, PostgreSQL, SQLite, etc.). Vous devrez créer ces tables et écrire des scripts ou des programmes pour extraire les données de vos fichiers et les insérer dans la base de données.
 +</markdown>
 +
 +
 +===== Tables =====
 +
 +<code sql>
 +-- Créer l'utilisateur
 +CREATE USER icaging WITH PASSWORD 'icaging$!';
 +
 +-- Créer la base de données
 +CREATE DATABASE icaging;
 +
 +-- Attribuer les droits sur la base de données à l'utilisateur
 +GRANT ALL PRIVILEGES ON DATABASE icaging TO icaging;
 +
 +
 +-- Création de la table 'capteurs'
 +CREATE TABLE capteurs (
 +    capteur_id SERIAL PRIMARY KEY,
 +    nom VARCHAR(50) NOT NULL,
 +    type VARCHAR(100),
 +    description TEXT
 +);
 +
 +-- Création de la table 'mesures'
 +CREATE TABLE mesures (
 +    id SERIAL PRIMARY KEY,
 +    timestamp TIMESTAMP NOT NULL,
 +    capteur_id INTEGER NOT NULL,
 +    valeur FLOAT NOT NULL,
 +    FOREIGN KEY (capteur_id) REFERENCES capteurs (capteur_id)
 +);
 +
 +-- Création de la table 'experiences'
 +CREATE TABLE experiences (
 +    experience_id SERIAL PRIMARY KEY,
 +    host VARCHAR(100),
 +    nom_experience VARCHAR(100),
 +    date_debut DATE
 +);
 +
 +-- Création de la table 'evenements'
 +CREATE TABLE evenements (
 +    evenement_id SERIAL PRIMARY KEY,
 +    experience_id INTEGER NOT NULL,
 +    timestamp TIMESTAMP NOT NULL,
 +    description TEXT,
 +    FOREIGN KEY (experience_id) REFERENCES experiences (experience_id)
 +);
 +
 +-- Modification de la table 'mesures' pour inclure 'experience_id'
 +ALTER TABLE mesures ADD COLUMN experience_id INTEGER;
 +ALTER TABLE mesures ADD FOREIGN KEY (experience_id) REFERENCES experiences (experience_id);
 +
 +
 +</code>
Haut de page