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 :

Représentation d'une association [MLD]


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 65
    Points
    65
    Par défaut Représentation d'une association
    Bonjours a tous,

    J'ai juste une petite question. Dans ma base de donnée, j'ai deux tables liées par une association dont les cardinalités sont 0,n 0,n. Au niveau de ma base, je sait dont que mon association sera représenté par une nouvelle table qui permettra la liaison entre les deux tables précédentes.

    Théoriquement, cette table de liaison est identifié par la concaténation des clé étrangère de mes deux autres tables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    table1(id_table1, data1, ...);
    table2(id_table2, data2, ...);
    asso(#id_table1, #id_table2);
    Etant donnée que ma base est sous MySQL, est-ce qu'il vaut mieux que je garde cette représentation? Ou est-ce qu'il est préférable de mettre un identifiant propre à la table d'association, tout en gardant mes clé étrangères, c'est à dire ne pas utiliser id_table1 et id_table2 comme clé primaire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    asso(id_asso, #id_table1, #id_table2)
    Merci d'avance.

  2. #2
    Membre actif
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Points : 257
    Points
    257
    Par défaut
    Bonjour,

    non il est inutile/mauvais de rajouter un identifiant un "peu mécanique" à une table de ce type. Avec cette mauvaise solution tu devrais vérifier lors d'insertions que le couple #id_table1, #id_table2 n'existe pas déjà (c'est le principe de la clef primaire). Parce que dans le cas ou ce couple apparaitrait deux fois, quel id_asso devrais tu choisir (pour avoir d'autres attributs de la table...) ?

    @+,
    Emilien.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 65
    Points
    65
    Par défaut
    Très judicieuse réponse Tidus159, c'est vrai que je n'y avais pas pensé. Merci a vous

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

Discussions similaires

  1. difficulté à représenter une association de 3 classes
    Par fanette dans le forum Diagrammes de Classes
    Réponses: 38
    Dernier message: 04/03/2007, 12h12
  2. clé primaire ds une association
    Par progima dans le forum Schéma
    Réponses: 1
    Dernier message: 03/11/2005, 17h41
  3. Combien demander en "défraiements" pour une association
    Par Anne1969 dans le forum Association
    Réponses: 9
    Dernier message: 21/09/2004, 12h01
  4. Mailleure facon de realiser une association infini-infini
    Par remi_phbc dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 15/07/2004, 12h31
  5. [merise]traduire en sql une association réflexive
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/03/2004, 18h10

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