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

 MySQL Discussion :

Etablissement des relations


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développement .Net et embarqué
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développement .Net et embarqué
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut Etablissement des relations
    Bonjour.

    Voici une question liée au MCD à laquelle je n'ai pas trouvé de réponse.

    Si j'ai un article qui est lié à un autre, je met une foreign key (lien mari femme) dans l'article.

    Si j'ai un article lié à N autres, est-ce que je peut faire un tableau de foreign keys (lien père vers N enfants) ?

    Quelle est la bonne méthode, par exemple pour une base prof-elèves ?


    J'échange contre du support C++ ou C#

    Merci!

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Ton tableau de FK se matérialise sous la forme d'une table de relations.

    T1 <-->[idT1,idT2]<-->T2

  3. #3
    Membre averti
    Homme Profil pro
    Développement .Net et embarqué
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développement .Net et embarqué
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut Tableau de relations
    Merci pour cette rapidité.
    Concrètement, chaque fois que je crée un prof dans la table des profs, je crée une table de relations pour ce prof ?
    C'est pas genant de multiplier les tables ?
    Je suis sur MySQL

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par laurentiss Voir le message
    ue je crée un prof dans la table des profs, je crée une table de relations pour ce prof ?
    C'est pas genant de multiplier les tables ?
    Non, l'idée c'est de représenter la relation enseigne par une table qui contiendra des couples de FK, eux-mêmes UNIQUEs, la FK du prof et celle de l'élève.
    Il devient ainsi aisé, par exemple, de connaître tous les élèves d'un prof, tous les profs d'un élève, les élèves que 2 profs ont en commun, les profs que 2 élèves ont en commun, etc...
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre averti
    Homme Profil pro
    Développement .Net et embarqué
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développement .Net et embarqué
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut Suite et fin ?
    Option 1: Une table unique pour toutes les familles ?
    Une table dans laquelle l'enregistrement est (clé du père PERE) + N (clés enfants) ?
    Si j'avais le type "liste de clés" dans mes tables, je serais heureux...
    Option 2: Une table pour chaque père.
    Ca me choque de créer des tables dont le nombre ne sera pas maitrisé...

    Il ne manque pas grand chose pour que je comprenne...

  6. #6
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par laurentiss Voir le message
    Option 1: Une table unique pour toutes les familles ?
    Une table dans laquelle l'enregistrement est (clé du père PERE) + N (clés enfants) ?
    Si j'avais le type "liste de clés" dans mes tables, je serais heureux...
    Option 2: Une table pour chaque père.
    Ca me choque de créer des tables dont le nombre ne sera pas maitrisé...

    Il ne manque pas grand chose pour que je comprenne...
    Non une seule table où chaque ligne représente un couple père-enfant.
    A moins que la clef du père soit dans la table enfant comme FK pour chaque enfant.
    Tout dépend de quoi l'on parle, là on est trop dans le flou.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par laurentiss Voir le message
    Voici une question liée au MCD à laquelle je n'ai pas trouvé de réponse.
    Si j'ai un article qui est lié à un autre, je met une foreign key (lien mari femme) dans l'article.
    Si j'ai un article lié à N autres, est-ce que je peut faire un tableau de foreign keys (lien père vers N enfants) ?
    Quelle est la bonne méthode, par exemple pour une base prof-elèves ?
    Saluton,
    Une relation de type personnes __(0,1)__mariage__(0,1)___personnes nécessite, en outre une contrainte d'intégrité, l'entité pointant réflexivement sur elle-même, on voudra probablement s'assurer qu'une personne n'est pas mariée avec elle-même (dans la base tout du moins). Et je ne parle pas des PACS ou des mariages homosexuels, le problème de la polygamie, à Mayotte par exemple, pourrait aussi remettre en cause ce schéma.
    S'agissant d'une relation 1-n ce sont généralement les enfants qui pointent vers le père; la clé du père est une FK chez les enfants.
    Quant à une base prof-elèves, il faudrait en savoir davantage pour pouvoir, honnêtement, esquisser une proposition de schéma.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  8. #8
    Membre averti
    Homme Profil pro
    Développement .Net et embarqué
    Inscrit en
    Avril 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développement .Net et embarqué
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 18
    Par défaut Pere-enfants
    Merci pour cette excellente réponse - ainsi que la précédente.

    Oui, le lien enfant -> père est très sympa.
    Mais si j'ai une population de 1000 enfants, je suis obligé de lire les 1000 pour retrouver les enfants de "machin" . ??

    Comme je suis débutant absolu, je vais peut etre fonctionner comme ca, scruter tous mes enfants pour retrouver les pères... et puis un jour je ferai plus sophistiqué.
    Je suis toujours très pressé, merci de d'avoir compris mes questions.
    Je m'absente. A+

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

Discussions similaires

  1. Quelle est l'utilité des Relations & Foreign Keys?
    Par Danny Blue dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/06/2006, 12h18
  2. Récupération des relations entre tables
    Par Themacleod1980 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/02/2006, 11h34
  3. affichage des relations, access 2003
    Par mamoure31 dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2006, 06h52
  4. Réponses: 2
    Dernier message: 22/07/2005, 12h06
  5. Tables avec des relations & procédures dynamiques
    Par JustMe dans le forum Débuter
    Réponses: 5
    Dernier message: 15/12/2004, 09h58

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