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 :

Comment lier 2 données provenant de la même table


Sujet :

Schéma

  1. #1
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut Comment lier 2 données provenant de la même table
    Bonjour,

    désolé pour le titre pas très clair, je m'explique :
    Dans un environnement transport en commun, imaginons que j'aie une table qui regroupe les infos de mes points d'arrêts et une autre table de lignes de bus.

    La table des lignes de bus contient un numéro d'arrêt de début de ligne (ainsi qu'une heure de départ) et un numéro d'arrêt de fin de ligne (et l'heure d'arrivée) qui sont donc tous les 2 contenus dans la table arrêts mais ont des valeurs différentes.

    Je ne vois pas comment faire la relation entre la table arrêts et la table ligne avec 2 données, si quelqu'un peut m'éclaircir, je lui en serais grandement reconnaissant
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Pas sûr d'avoir tout compris mais il me semble voir une petite erreur de conception dans ce que tu décris...

    Si je décris le problème à ma façon :
    Une ligne de bus est un ensemble d'arrêts qui fonctionne selon un ensemble d'horaires que l'on enregistre avec une heure de départ, une heure d'arrivée et les arrêts de départ et d'arrivée.

    Donc j'ai les entités :
    Lignes(LiNum, ...)
    Arrets(ArId, ArNom, ArType, ...)
    Horaires(HorLigne, HorArretDepart, HorHeureDepart, HorArretArrivee, HorHeureArrivee, ...)

    A peaufiner mais c'est l'idée.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 !

  3. #3
    Membre éprouvé Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Points : 976
    Points
    976
    Par défaut
    Bon Merise et moi ça fait définitivement deux

    En fait j'avais donné un exemple simplifié. Je lis des fichiers générés par un soft de gestion de bus. Ces fichiers n'ont absolument pas été conçus "relationnellement" et moi pauvre stagiaire qui doit coller tout ça dans une BDD j'ai bien du mal à faire mon MCD </auto-apitoiement>

    Le fichier sur lequel je bute c'est celui des "services élémentaires". Si j'ai bien compris ça décrit un trajet effectué par un bus et son conducteur.
    Donc dedans j'ai un numéro de point d'arrêt de début et un numéro de point d'arrêt de fin.
    Ces 2 numéros pointent sur la table des points d'arrêts, mais je vois pas comment modéliser ça. S'il n'y avait qu'un numéro ça serait une clé étrangère et basta mais là je sais pas trop ...

    Merci en tout cas de te pencher sur mon problème !
    The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett

    La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Harry_B Voir le message
    Donc dedans j'ai un numéro de point d'arrêt de début et un numéro de point d'arrêt de fin.
    Ces 2 numéros pointent sur la table des points d'arrêts
    Ça semble correspondre à ce que j'ai fait.

    Il y a une double relation entre Arrets et Horaires : 1 pour le point d'arrêt de départ et une pour le point d'arrêt d'arrivée.

    Représentons ça en MCD :

    Arrets -0,n----Depart----1,1- Horaires
    -0,n----Arrivee----1,1-

    Interprétation :
    1 Horaire n'a qu'un Arret de départ et 1 d'arrivée
    1 Arret peut ou pas être départ ou arrivée d'un ou plusieurs Horaires.

    On peut aussi représenter ça de la façon suivante :
    Arrets -0,n----Horaires----0,n- Arrets

    On voit bien que Horaires deviendra une table de relation ayant une clé primaire double composée des clés primaires des deux arrêts concernés.
    Cette relation est porteuse d'informations (les heures de départ et d'arrivée et le numéro de la ligne de bus).

    Il y a d'autres schémas possibles car avec la gestion des conducteurs il vaut mieux peut-être faire autrement...
    Bon courage.

    Tu trouveras sur Internet de bonnes pages sur Merise.
    Un exemple
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 !

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/10/2012, 11h40
  2. Réponses: 3
    Dernier message: 12/07/2007, 19h10
  3. Réponses: 2
    Dernier message: 14/05/2007, 10h40
  4. Réponses: 2
    Dernier message: 21/10/2006, 18h27
  5. [Etat] graphique, comment lier les données?
    Par pifou25 dans le forum IHM
    Réponses: 1
    Dernier message: 09/06/2006, 17h28

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