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 :

[MLD] Gérer les coordonnées géographiques de canalisations


Sujet :

Schéma

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut [MLD] Gérer les coordonnées géographiques de canalisations
    Voilà je situe d'abord un petit peu le projet sinon je peux pas vous demander de comprendre ce que je vous veux

    Le projet consiste à stocker en BD (Access pour l'occasion) des conduites de tout types (égouts, eau, gaz, électricité etc.) aérienne ou enterrées et de les localiser au moyen de waypoints (coordonnées GPS en WGS84 pour ceux à qui ça dit quelque chose).
    Le but de la chose: que les utilisateurs "lambda" puisse consulter la BD afin de localiser des conduites permettant soit de savoir comment gérer d'éventuels incidents (je pense ici à des services de secours essentiellement) soit d'éviter de bourrer de dedans avec une pelleteuse . Voilà pour l'essentiel.

    Résumé de pourquoi de l'existence de chaque table:

    Tusers: Stocke les utilisateurs ayant droit d'accès à la BD
    Ttypeuser: type d'utilisateur (admin, util avec pouvoir, util 'simple')
    TCompany: société ou administration ayant en charge la gestion de la conduite
    Tconduite: Les conduites et différentes propriétés
    Tcontenu: Type de contenu (électricité, egout, gaz, eau...)
    Ttypeconduite: Aérienne, enterrée ou mixte
    Twaypoint: coordonnées d'un point déterminant (avec d'autres point) le trajet de la conduite)

    Je me pose trois questions point de vue conception de la BD:
    1/ Le schéma tel que je l'ai fait jusqu'ici contient-il des âneries éventuelles?

    2/ Je ne sais pas trop si je dois considérer qu'un waypoint peut être utilisé pour localiser plusieurs conduites ou non. Si c'est le cas, j'ai une relation n:n dont je me passerais volontier (ça n'étonnera personne je suppose). Si un waypoint ne sert que pour une conduite, il suffit d'un 1:n entre conduite et waypoint.

    3/ Certaines caractéristiques d'une conduite dépende... de ce qu'elle conduit Genre s'il s'agit d'électricité (ampérage, tension...) s'il s'agit de gaz/eau (débit, pression ...). Ou stocker ces renseignements? Dans la table Tconduite ou dans une sous-table?

    Voilà je pense avoir tout dit et j'espère aussi que c'est compréhensible

    EDIT: Petit problème avec le fichier attaché, je résoud ça dès que possible...
    EDIT2: Problème résolu, trompé de fichier
    Images attachées Images attachées  

  2. #2
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Le document que tu nous présente est un MLD. As tu réalisé le MCD au préalale (chose indispensable selon moi) ?

    Pour le soucis des conduites qui conduisent des choses qui font que les propriétés diffèrent (ouh... la phrase...) : recherche du côté de l'héritage

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Tu as raison j'aurais dû commencer par le commencement...

    Voilà ce que j'ai fait avec Powerdesigner, il manque quelques champs mais l'important y est.

    Edit: j'ai oublié une entité mais celle-là je ne sais pas du tout comment gérer ça: je m'explique. Une conduite, qu'elle quelle soit, passe par plusieurs endroits localisés (=waypoints). Je ne sais pas trop comment faire, en effet, ils s'agiraient plutôt d'une liste de waypoints. Il est clair que la conduite suit dans l'ordre une série de coordonnées GPS, dans le désordre, on imagine vite le résultat

    Je ne sais pas du tout comment explrimer ça dans un modèle conceptuel.
    Images attachées Images attachées  

  4. #4
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    [Faux]Tes cardinalités sont inversées.[Faux]

    Pour les Waypoints :


    Conduite
    ---------------
    champs_que_tu_veux


    WayPoint
    ---------------
    champs_que_tu_veux


    Passe_par
    --------------
    id_WP | id_conduite | ordre


    L'ordre te permet de passer tes waypoint... dans l'ordre

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par hed62 Voir le message
    Tes cardinalités sont inversées.
    Ah là je ne comprends pas trop.. il me semble que cela correspond pourtant au tuto de SQLPro ici: [URL="http://sql.developpez.com/modelisation/merise/?page=sommaire"]Tuto Merise.

    Donc d'après toi je devrais écrire:

    Utilisateur ----0,n ----Appartient----1,1---- Société

    Dans ce cas-là on lit donc le nom de l'entité, l'asssociation la cardinalité à droite de l'association puis l'entité de droite. Je trouve ça plus logique en effet mais j'avais pas compris qu'il fallait écrire dans ce sens là

    Citation Envoyé par hed62 Voir le message
    Pour les Waypoints :


    Conduite
    ---------------
    champs_que_tu_veux


    WayPoint
    ---------------
    champs_que_tu_veux


    Passe_par
    --------------
    id_WP | id_conduite | ordre


    L'ordre te permet de passer tes waypoint... dans l'ordre
    Zut je redoutais cette réponse, je déteste gérer un relation n:n quand je code

  6. #6
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    [Complètement faux : tout l'inverse]
    Donc d'après toi je devrais écrire:

    Utilisateur ----0,n ----Appartient----1,1---- Société
    C'est exactement cela.

    Utilisateur --1---------*-- Société


    Serait correct en UML.
    [/tout faux]

    Zut je redoutais cette réponse, je déteste gérer un relation n:n quand je code
    Rien ne t'empèche de coder un "helper" qui te permet de récupérer un objet Conduite contenant la collection ordonnée des waypoint.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Merci pour ta confirmation rapide !

    Au fait PowerDesinger/PowerAMC me donne une erreur dans le modèle disant de verifier s'il y a un lien de relation ou d'association pour Conduite Eau, Conduite Gaz et Conduite Electricité.

    L'héritage ne suffit pas? Il faut explicitement créer une association?

  8. #8
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Citation Envoyé par thibouille
    Ah là je ne comprends pas trop..
    Je trouve ça plus logique en effet mais j'avais pas compris qu'il fallait écrire dans ce sens là
    Dans le formalisme Merise la cardinalité est associée à la patte entre l'entité et à l'association. Elle indique le nbre de fois à laquelle l'entité participe à la relation. ([HS]C'est la seule façon d'être clair avec les assoc. n-aires[/HS])
    Ici Salarié n'apparait qu'une fois ds la relation. Société apparait 1 fois par salarié.
    ie : 1 salarie est employé par 1 société. 1 société emploie 1 ou plusieurs salariés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    TABLE Societe  
    (
       id                   number(6)                        not null,
       constraint pk_societe primary key (id)
    )
    TABLE employe  
    (
       id                   number(6)                        not null,
       soc_id               number(6)                        not null,
       constraint pk_employe primary key (id),
       constraint societe foreign key (soc_id)        references societe (id)
    )

    UML a repris le formalisme de CHEN.
    Il se lit de gauche à droite la classe source est en relation avec x classe(s) cible(s).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class Salarié 
    {
        private Société société;
        
        Salarié () 
        {
        }
    }
    public class Société 
    {
        private Salarié salariés [];
        
        Société () 
        {
        }
    }

  9. #9
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Pardonnez moi, j'ai reporté mon erreur d'un autre thread sur celui-ci.. J'espère que c'est la dernière fois !

    J'édite pour corriger mes réponses érronées.

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Ca arrive, hed62, ça arrive

    Je rechange donc tout

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

Discussions similaires

  1. Trouver les coordonnées géographiques les plus proches
    Par smikar dans le forum Accès aux données
    Réponses: 2
    Dernier message: 22/10/2010, 17h17
  2. Gérer les clics sur les boutons
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 08/02/2004, 16h34
  3. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 10h44
  4. Récuperer les coordonnées d'un vecteur
    Par kerzut dans le forum OpenGL
    Réponses: 5
    Dernier message: 15/04/2003, 12h51
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 14h39

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