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 :

[MCD] base de données des mesures effectuées dans un laboratoire


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 36
    Points
    36
    Par défaut [MCD] base de données des mesures effectuées dans un laboratoire
    Bonjour,

    Je sollicite votre aide car je suis en stage et je vais faire de la base de donnes (alors que je n ai aucune connaissance...car on m'a donne le sujet de stage trop tard!!!). J ai deja pas mal regardé les cours en ligne et regardé différents avis sur les logiciels que l'on peut utiliser, mais j'ai du mal a voir la structure que je dois utiliser.

    J'ai une machine qui comporte 43 détecteurs. Je dois stocker dans une base de données les valeurs mesurées (temperature,voltage, temps). Dois je creer un objet où je donne seulement les numéros des detecteurs, et après un objet pour chaque genre de mesures effectuées (temperature,...). Ou je peux tout mettre dans le meme objet?

    Je devrais ensuite utiliser cette base de données en utilisant des interfaces graphiques, afin de suivre l'evolution des mesures dans le temps sur internet, à partir de n'importe quel pc.

    Merci de me conseiller sur la struture a utiliserm car j'ai du mal à voir laquelle utilisé.Merci et bon we

  2. #2
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Tu as 3 manieres de voir :

    Methode bourrine :
    On enregistre une structure de donnée contenant toutes les infos (tres simple a mettre en oeuvre) par contre, tu perds toutes possibilités de faire des requetes pour obtenir davantage d'informations (Par exemple, toutes les captures de température ayant dépassé un certain seuil.)

    C'est une methode à précauniser car c'est la plus simple a maintenir pour toi si tu t'y connais pas trop.


    Nombre de capteurs figés :
    1 colonne par capteur et 1 ligne par capture. C'est de une implantation pratique. 1 table suffit (par contre si un informaticien passe derriere, il va rigoler )
    Dans ton cas, si ta machine est une machine de prod cette solution peut etre envisagé. Je doute qu'ils s'amusent à enlever ou a rajouter des capteurs toutes les 5 minutes. (apres si ils font ça tous les 6 mois de rajouter un capteur, étendre ta base n'est pas difficile)

    Methode relationnel et propre
    Il te faut un modele relationnel plus poussé. Tu dois pouvoir aisément rajouter ou retirer des capteurs
    Pour cela l'un des modeles les plus simples :
    - une table de capteurs
    - une table de capture des datas
    - une table de 3 colonnes : id_capteur, id_capture, valeur.

    Apres es tu sur qu'il te demande de faire une base de donnée relationnel ? Peut etre qu'il s'agit simplement de faire des enregistrements dans un fichier plat.

  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
    Citation Envoyé par Phelim Voir le message
    Nombre de capteurs figés :
    1 colonne par capteur et 1 ligne par capture. C'est de une implantation pratique. 1 table suffit (par contre si un informaticien passe derriere, il va rigoler )
    Sauf si c'est lui qui doit faire la maintenance de l'application.. là, il va moins rigoler ( )


    JPhi33
    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
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Tout d'abord merci de m'avoir répondu aussi rapidement.

    Vous confirmez ce que je pensais: pour avoir la structure la plus propre et la plus intéressante en terme d'analyse il est nécessaire de créer plusieurs tables. Mais je me pose toutefois la question si je ne peux pas utiliser la méthode nb de capteurs figés qui serait plus simple, en sachant que le nb de capteurs ne varie que très rarement, il va juste augmenter à la fin de l'année.

    Je penche pour la méthode relationnelle (bien que je pense que je vais galérer!lol) car je pense que la sécurité est plus grande. Mais pour l'améliorer je peut aussi créer une table de data pour chaque type de donnée mesurée?

    Dans la méthode relationnelle:
    - dans la table capteur: je ne mets que le n° des capteurs
    - dans la table des datas: on a un tableau 2D? (nb de capteurs*nb de mesures)
    - dans ce cas la,dans la 3eme table je mets quoi pour id_capture (et donc valeur)? je crois que j'ai un souci de compréhension, la table des datas n'est pas un tableau 2D?

    Une autre question, il est nécessaire que j'ai un suivi chronologique. Il est bien possible de sauvegarder les tables à un moment précis,et ainsi de conserver des sauvegardes,tout en ayant toujous des tables courantes?

    Merci pour l'aide que vous pourrez m'apporter.

  5. #5
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Le modele relationnel :

    - 1 table referencant les capteurs
    colonne :
    - id_capteur (clef numérique servant d'identifiant entre tes differentes bases)
    - nom_capteur (intitule du capteur)
    (autre information, en vrac installateur du capteur, date d'installation, ...)

    Attention : tu as une seule info par colonne, tres important.

    - 1 table de capture des datas
    - id_capture
    - date_capture

    La table capture des datas va referencer a chaque fois qu'une capture est effectué. Une ligne est rajoutée chaque fois que tous les capteurs sont capturés (je considere que tous les capteurs sont reactualisés à la meme frequence, si la frequence entre chaques capteurs est differentes, il faut voir pour un autre modele, surement un modele à 2 tables un peu plus lourd)

    - 1 table data
    - id_capture
    - id_capteur
    - data

    C'est dans cette table à 3 colonne que tu vas avoir tes datas. En faite ça sera une ligne par data.
    1 ligne aura la forme : 1 (premiere capture) 4 (capteur 4) 500 (je considere la donnée sans unité, ton soft devant s'occuper de ce genre d'information, dans ce cas la, ça peut etre des mV)

    Cette table va vite devenir importante mais si tu es sur un vrai SGBD, ce n'est pas tres grave à condition de bien regler tes clefs et tes indexs (si c'est access, c'est desastreux ^^, va pas utiliser oracle non plus ^^). Sur cette table, les requetes ne sont pas compliqués, elle ne sert que pour les jointures.

    Dans ce modele, toutes les infos ne sont présentes qu'une seule et unique fois. C'est tres important pour un modele relationnel

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Bon et bien sa avance petit a petit mais c'est pas évident quand on a jamais touché aux bases de données. J'ai commencé à me familiariser à Mysql, mais maintenat il faut que j'arrive à définir clairement ma base de données, ce qui est plutot tendu!lol

    J'ai lu pas mal de cours sur le sql, sur les clés, les dépendances... mais il me manque encore des infos afin de bien structurer ma base de donnés donc si qqun peut m'aider!

    Voici mes différentes tables que je pense créer:

    * table_captor
    - id_captor (clé primaire)
    - name
    - state

    * table_time
    - id_time (clé primaire)
    - datetime

    Voila pour la partie facile, ensuite je commence a bloquer!

    Pour accéder a une mesure, il est nécessaire de connaitre id_captor et id_time. Járrive donc à une dépendance non élémentaire directe. Et je ne sais pas comment gérer cellle ci.

    Je pensais recréer une table:
    * table_measure
    - id_measure (clé primaire)
    - id_captor (clé étrangère)
    - id_time (clé étrangère)

    Ainsi je créerais une dernière table
    * table_data
    - id_data (clé primaire)
    - id_measure (clé étrangère)
    - data

    Qu'en pensez vous??? Après avec deux fichiers .txt ( un avec num capteur et etat.. et un autre avec date et data) je pense que je peux m'en sortir. Le pb c'est que je n'ái aucune experience la dedans donc je ne sais pas tjs ou aller...

    Merci de m'aider un peu et bon we

  7. #7
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    En théorie, ton shéma est pas mal. Il respecte beaucoup des contraintes relationnels.

    Belle avancée.

    Maintenant, il va falloir relativiser la théorie .

    Le temps n'est pas une valeur ou le relationnel a beaucoup d'importance. En evitant de l'utiliser, tu economises 1 table et simplifie donc tes requetes sql en limitant les jointures.

    Tu peux donc mettre le temps dans ta table table_measure.

    Je ne comprends pas trop la fin de ton post. On va te donner 2 fichier texte ?

    La grosse question maintenant, faire une structure de table pour un problème aussi simple, c'est assez facile. Comment vas tu t'y prendre pour rentrer les données dans tes tables ?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    En realité je pensais creer une table pour le temps, afin de pouvoir plus facilement utiliser cette donnée ensuite lorsque je vais utiliser php et les interfaces graphiques, car jáurais directement un indicateur id_time. Mais je peux me tromper

    Sinon pour charger les fichiers dans mes tables, cést a moi de definir veritablement les fichiers .txt que je veux. ´C'est pourquoi je pensais demandé un fichier où était répertoriés les capteurs avec leurs caratéristiques (température, voltage,..) et un autre où j'aurais les dates,suivi des valeurs des mesures. Il y a peut etre une methode plus simple?

  9. #9
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Oui, tu peux utiliser un id temps. Ca peut etre une bonne chose, juste un peu lourde à mettre en oeuvre pourpas grand chose à mon avis.

    Par contre, ton systeme est donc statique ? Le but de la base de donnée est donc purement relationnel (pouvoir mettre des données en relation).

    Dans ce cas, il pourrait etre interessant d'évaluer les différentes relations et requetes qui seront effectués. Ca permettrait d'organiser au mieux ta base (bon d'accord, la je chipotte ^^).

    J'entends php et interface ... pourrait tu en dire plus (meme si ça sort du cadre de ce post) ?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Pour php et interfaces je ne sais pas encore trop, je ne me suis pas encore reelement plongé dans ce coté du probleme. Je ne connais pas du tout le php. Ce que je veux c'est afficher pour un capteur ou tous les mesures dans le temps. Si vous avez des "outils" a me conseiller

Discussions similaires

  1. Base de données des pays et des villes
    Par sphinx007 dans le forum Autres
    Réponses: 7
    Dernier message: 11/05/2020, 13h49
  2. Réponses: 2
    Dernier message: 28/01/2008, 17h02
  3. Réponses: 2
    Dernier message: 22/02/2007, 19h28
  4. Réponses: 12
    Dernier message: 20/04/2006, 14h23
  5. Réponses: 9
    Dernier message: 20/01/2006, 12h04

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