+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 46
    Points
    46

    Par défaut Une ou plusieurs tables

    Bonjour,

    J'ai un projet qui vise à stocker des grandeurs physiques : tensions, courants... 125 au total

    Ces données sont enregistrées toutes les 10 minutes puis transmises tous les jours sous forme de fichier *.csv.

    Je voudrai savoir si il vaut mieux stoker les 125 données dans une seule table ou découper mes fichiers CSV pour ensuite stoker dans plusieurs tables.

    Merci de votre aide.

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 117
    Points : 5 157
    Points
    5 157

    Par défaut

    Bonjour,

    Suite à l’envoie vous effacez les données ou vous les gardez pour des raisons d'historisation ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 46
    Points
    46

    Par défaut

    je les garde pour faire des extractions sur certaines colonnes et historisation

    merci

  4. #4
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 117
    Points : 5 157
    Points
    5 157

    Par défaut

    Dans ce cas il sera préférable de modélisez un minimum votre projet je pense

  5. #5
    Membre Expert Avatar de nathieb
    Homme Profil pro
    Chef de projet/Architecte
    Inscrit en
    mai 2004
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet/Architecte
    Secteur : Service public

    Informations forums :
    Inscription : mai 2004
    Messages : 893
    Points : 1 074
    Points
    1 074

    Par défaut questions

    Les questions que tu dois te poser :

    - Taille d'un fichier
    - type de SGBD, derby ou ORACLE
    - utilité de stocker dans plusieurs tables
    - as tu des références ou des contraintes sur les valeurs.
    - besoins fonctionnelles de l'application ( UML ?)


    olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 46
    Points
    46

    Par défaut

    - Taille d'un fichier
    chaque fichier à injecter jounalièrement dans la base fait 250 ko
    - type de SGBD, derby ou ORACLE
    la base de données est SQLite
    - utilité de stocker dans plusieurs tables
    c'est ma question
    - as tu des références ou des contraintes sur les valeurs.
    je ne suis pas certain de répondre à la question mais les données sont de type DATE/HEURE, INTEGER et REAL
    - besoins fonctionnelles de l'application ( UML ?)
    je ne sais pas ce qu'est un besoin fonctionnel d'un application

    Merci de ton aide

  7. #7
    Membre Expert Avatar de nathieb
    Homme Profil pro
    Chef de projet/Architecte
    Inscrit en
    mai 2004
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet/Architecte
    Secteur : Service public

    Informations forums :
    Inscription : mai 2004
    Messages : 893
    Points : 1 074
    Points
    1 074

    Par défaut explication

    Bonjour,

    je ne sais pas ce qu'est un besoin fonctionnel d'un application

    ce sont les fonctionnalités que tu veux implémenter.avant de coder, il faut exprimer ses besoins, pour les concevoir ... d'ou l'uml, je formalise par un modèle les besoins exprimer par des phrases.

    250KO c'est peu, donc 24*6*250 = 36Mo jour
    sur 365 jours je te laisse faire le calcul.

    pour ce qui est de l'enregistrement, tout dans une table c'est plus rapide et plus simple mais comme tu le fais toutes les 10mn, tu peux chercher à factoriser les valeurs, pour éviter une redondance.
    exemple une table pour des valeurs finis, qui changent peu.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  8. #8
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    On peut avoir un petit aperçu d'un fichier csv à importer ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 46
    Points
    46

    Par défaut

    voici
    Fichiers attachés Fichiers attachés

  10. #10
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Ça n'aide pas beaucoup à la compréhension du problème !

    Ce que je remarque tout de même, c'est que la première colonne est une date/heure et que les autres sont des valeurs décimales à virgule.

    Par contre, à quoi correspondent les A2 à A124 ?
    Sont des mesures relevées sur un seule ensemble technique cohérent (une machine par exemple) ou bien ces colonnes regroupent-elles des mesures de même type provenant de plusieurs ensembles (plusieurs machines délivrant chacune leur lot de mesures et regroupées dans un seul fichier) ?

    Ce qui est sûr, c'est que pour traiter ces données, il faudra les convertir en un format adéquat : DATETIME pour la première colonne et INTEGER, DECIMAL ou FLOAT pour les autres. Si des colonnes sont en faite des références (numéro de machine) sur lesquelles on ne fera aucun calcul, on peut les laisser en CHAR ou en VARCHAR.

    Ensuite, selon la réponse à ma question ci-dessus, il peut être cohérent de tout laisser dans une seule table ou d'éclater ces données dans plusieurs tables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    novembre 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : novembre 2007
    Messages : 179
    Points : 46
    Points
    46

    Par défaut

    Merci pour cette réponse CinéPhil,

    Voici quelques précisions:

    Les données sont issues d'une centrale de mesures équipée de capteurs relevant des tensions, des courants, des fréquences...

    La ligne 1 (A2-A124) correspond aux entêtes et sera supprimé avant injection

    Le fichier correspond à des relevés de mesures ainsi :
    - les colonnes 3 à 20 sont des mesures de tensions,
    - les colonnes 21 à 23 sont des mesures fréquences,
    - les colonnes 24 à 36 sont des mesures de courants,
    - les colonnes 37 à 39 sont des mesures de puissance active,
    - les colonnes 40 à 42 sont des mesures de puissance réactive,
    ...

  12. #12
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 14 008
    Points : 25 265
    Points
    25 265

    Par défaut

    Une centrale de mesure OK mais les mesures sont prise sur un ensemble à analyser en tant que tel ou sur plusieurs ensembles à comparer les uns aux autres ?

    S'il s'agit juste de faire par exemple la moyenne de chaque colonne sur une période donnée, laisse tout dans une table.

    Mais si tu dois comparer les données des colonnes issues de la machine 2 et de la machine 5 parce que c'est censé être les mêmes, tu aurais peut-être intérêt à modéliser le parc de machines et à associer les données extraites à ces machines, donc ne pas forcément tout laisser dans une seule table, en tout cas pas dans une table à 125 colonnes.

    Je t'ai donné les éléments de réflexion qui peuvent conduire à l'une ou l'autre solution, à toi maintenant de décider.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
    Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •