IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Monitoring d'ouvrages d'art [Entité-Association]


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Monitoring d'ouvrages d'art
    Salut,

    Je suis en train de faire un site pour le monitoring de structures tels que des ponts, barrages et autres éléments de Génie Civil...
    J'en suis à me demander quelle structure donner à ma base (MySQL).
    Voici mes contraintes :
    • Les capteurs appartiennent tous à un ouvrage (pont...)
    • Un ouvrage peut avoir jusqu'à 200 capteurs
    • Les capteurs envoient les données à 1Hz grand maximum
    • Pour chaque mesure, il me faudra stocker la date
    • Je peux avoir jusqu'à 10000 structures (si le site marche bien^^)
    • Je peux créer autant de bases que nécessaire pour stocker ces mesures
    • Je n'ai pas a faire de liaison entre les données de différents capteurs, la plupart des requêtes consisteront à rajouter des mesures et récupérer les valeurs d'un ou deux capteurs entre deux dates.

    Du coup j'ai pensé à plusieurs possibilités :
    • Faire une table qui regroupe tous les capteurs, avec un champ par capteur, comme les capteurs ne renvoient pas des mesures en même temps, la plupart des champs de chaque entrée seront vides
    • Faire une table par élément qui regroupe tous les capteurs d'un élément avec un champ par capteur, comme les capteurs ne renvoient pas des mesures en même temps, la plupart des champs de chaque entrée seront vides
    • Faire une table qui regroupe tous les capteurs, avec un seul champ "capteur" dans lequel, pour chaque entrée, je mettrai l'ID du capteur, il n'y aura aucun champ vide mais pour chaque entrée, j'écrirai l'ID du capteur en plus de la date et de la valeur
    • Faire une table par élément qui regroupe tous les capteurs d'un élément avec un seul champ "capteur" dans lequel, pour chaque entrée, j'écrirai l'ID du capteur en plus de la date et de la valeur, ca permettrait de faire plusieurs tables plus légères que celle du dessus.
    • Faire une table par capteur

    Voilà, je ne sais pas si c'est très clair, n'hésitez pas à poser des questions.
    Cette liste n'est surement pas exhaustive, n'hésitez pas à proposer des alternatives.
    Je n'ai pas parlé de faire plusieurs bases (p.ex une par élément), mais au stade où j'en suis c'est tout à fait faisable.

    Je vous remercie d'avance pour votre aide.


    Roland

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 129
    Points : 38 540
    Points
    38 540
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Voici un sujet original, je n'ai pas souvenir de l'avoir déjà vu abordé ici

    Il manque des précisions et probablement des acteurs.
    Par exemple :
    - Est-ce que tous les capteurs mesurent la même chose, que mesurent ils (pressions, températures, longueurs, durées...)
    - Vous intéressez vous à différents types de capteurs, des sous-types, quelles sont les caractéristiques de ces appareils
    - Idem pour les ouvrages, quels sont les types, sous-types d'ouvrages qui vous intéressent
    - Tous les types de capteurs sont ils implantés dans tous les types d'ouvrages, sinon quelles sont les règles
    - Ne souhaitez pas gérer des secteurs, sous-secteurs géographiques
    - Y a-t- il d'autres éléments temporels (notion de saisons, de jours feriés, chomés...)
    - Ne souhaitez vous pas gérer des notions de maintenance : date d'installation du capteur, de dernière révision, historique des interventions
    etc...

  3. #3
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour Roland,

    Aurais-tu une première ébauche de schéma à proposer ?
    J'ai noté les concepts de Structure (= Ouvrage), Capteur et Mesure (= Donnée). Le premier schéma devrait donc être simple.
    Les questions d'Escartefigue pourront te guider dans un 2e temps pour enrichir le modèle si nécessaire.
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Principe de base de la modélisation :
    1) pas de NULL
    2) pas de redondance
    3) la modification d'une information ne doit pas impacter plus d'une ligne dans une seule table

    Ce sont les règles d'or d'une modélisation qui vous donnera toutes les performances possible et toute la souplesse de requêtage.

    Citation Envoyé par kstor4U Voir le message
    Je peux créer autant de bases que nécessaire pour stocker ces mesures
    Absurde... Aucune intérêt si ce n'est que de complexifier les requêtes, et la maintenance !

    Je n'ai pas a faire de liaison entre les données de différents capteurs, la plupart des requêtes consisteront à rajouter des mesures et récupérer les valeurs d'un ou deux capteurs entre deux dates.

    Du coup j'ai pensé à plusieurs possibilités :

    Faire une table qui regroupe tous les capteurs, avec un champ par capteur, comme les capteurs ne renvoient pas des mesures en même temps, la plupart des champs de chaque entrée seront vides
    Vous violez la règle 1

    Faire une table par élément qui regroupe tous les capteurs d'un élément avec un champ par capteur, comme les capteurs ne renvoient pas des mesures en même temps, la plupart des champs de chaque entrée seront vides
    Vous violez la règle 1

    Faire une table qui regroupe tous les capteurs, avec un seul champ "capteur" dans lequel, pour chaque entrée, je mettrai l'ID du capteur, il n'y aura aucun champ vide mais pour chaque entrée, j'écrirai l'ID du capteur en plus de la date et de la valeur
    C'est la bonne solution

    Faire une table par élément qui regroupe tous les capteurs d'un élément avec un seul champ "capteur" dans lequel, pour chaque entrée, j'écrirai l'ID du capteur en plus de la date et de la valeur, ca permettrait de faire plusieurs tables plus légères que celle du dessus.
    En multipliant les tables vous multiplier la complexité de requêtage et de maintenance de la base...

    Faire une table par capteur
    Pire que la précédent !!! En multipliant les tables vous multiplier la complexité de requêtage et de maintenance de la base...[QUOTE]

    A +

    Et pour vous former à la modélisation, n'hésitez pas à lire l'ouvrage co écrit par mon collègue C. Soutou et moi même :
    Nom : Soutou Brouard Modélisation bases de données.jpg
Affichages : 288
Taille : 40,3 Ko
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Désolé pour la réponse tardive, j'avais mal configuré les notifications...

    Je crois que j'ai ma réponse. Je vais stocker toutes les données dans une seule table avec un champ date, un IDcapteur, un valeur et c'est tout. Par contre, j'imagine qu'il y a une limite de taille pour cette table ? Si je ne mplante pas, ça dépend du format de ma partition ?

    Pour répondre aux autres questions :
    -Les capteurs mesurent des tas de phénomènes mais toutes les valeurs sont numériques au même format, l'unité est stockée dans une table contenant les propriétés des capteurs
    -Tous les capteurs sont susceptibles de se trouver sur tout type d'ouvrage
    -Il y a des tas d'ouvrages différents mais il me semble inutile de chercher à les catégoriser (et très compliqué)
    -Pour les secteurs géographiques, voire le client etc, tout est susceptible de changer...
    -Pour ce qui est de la maintenance, les données se trouveront dans la table des propriétés du capteur

    Au final j'aurai quatre tables :
    -Capteurs avec (ID, type, unité, date d'installation, dernière révision, remarques...)
    -Ouvrages avec (ID, type, date de construction, dernière tournée, remarques...)
    -Ouvrages_capteurs avec (IDouvrage, IDcapteur), elle permettra de savoir quels capteurs sont liés à quels ouvrages
    -Donnees avec (date, mesure, capteur)

    Ma question concernait uniquement la table données, à savoir s'il vallait mieux la splitter ou en faire une seule. La réponse est claire.

    Résolu et concore merci !

  6. #6
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Citation Envoyé par kstor4U Voir le message
    Bonjour,
    Désolé pour la réponse tardive
    C'est le moins qu'on puisse dire avec un retard de 14 mois !!


    Citation Envoyé par kstor4U Voir le message
    Bonjour,
    Résolu et concore merci !
    C'est l'essentiel.
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix de SGDB pour stockage de données médicales
    Par jane40 dans le forum Débuter
    Réponses: 24
    Dernier message: 10/11/2011, 13h39
  2. [S60-5800] librairie pour Stockage de données XML ?
    Par SfJ5Rpw8 dans le forum Débuter
    Réponses: 7
    Dernier message: 27/06/2009, 17h59
  3. Base pour stockage d'informations sur des candidatures
    Par ccanu dans le forum Modélisation
    Réponses: 41
    Dernier message: 10/09/2008, 11h39
  4. Réponses: 3
    Dernier message: 03/05/2007, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo