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

SQL Procédural MySQL Discussion :

Comment faire pour une table qui doit pointer sur plusieurs clés étrangères


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Comment faire pour une table qui doit pointer sur plusieurs clés étrangères
    Bonjour tout le monde,

    J'ai une base de données composée de deux tables.

    Table 1 : Article : Nom, Numéro...
    Table 2 : Auteurs

    La difficulté est qu'un article peut être écrit par plusieurs auteurs.

    Sauriez-vous me dire comment je pourrais m'y prendre pour la réalisation de cette base ?

    Merci d'avance pour votre aide.

    beegees

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    C'est un cas classique de modélisation : la relation N-N. Un auteur peut avoir plusieurs articles à son actif, et un article plusieurs auteurs.
    Il te faut faire une table de passage entre article et auteur, qui contient les id des articles et les id des auteurs.
    Pour un même article, tu auras plusieurs lignes avec l'id de l'article et l'id de l'auteur sur chacune.
    Cette table te permettra aussi de retrouver les contributions d'un auteur, en faisant une recherche par id d'auteur.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    C'est un cas classique de modélisation : la
    Merci Ced.

    Je vais relire attentivement ton message et faire sur base de ce message une recherche sur le net.

    Merci encore pour cete piste.

    beegees

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Comme dis ceb, la modélisation gagnerais a être différente.
    Au niveau de ton MLD ça donnerais ça :

    Article(numero, nom, ...)
    Auteur(id, nom, pnom, ...)
    Ecrire(#numeroArticle, #idAuteur)

    Je pense que la modélisation merisienne t'aiderais a t'améliorer :http://merise.developpez.com/

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par kazou Voir le message
    Comme dis ceb, la modélisation gagnerais a être différente.
    Au niveau de ton MLD ça donnerais ça :

    Article(numero, nom, ...)
    Auteur(id, nom, pnom, ...)
    Ecrire(#numeroArticle, #idAuteur)

    Je pense que la modélisation merisienne t'aiderais a t'améliorer :http://merise.developpez.com/
    +

    Bonjour Kazou,

    Merci pour ta réponse.

    Je présûme que #numeroArticle et #idAuteur sont des clés étrangères des deux premières tables ?

    Dans la table intermédiaire, y'aura t'il des doublons d'informations ?

    Merci encore et aussi pour le lien

    beegees

  6. #6
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    oui les # signifient qu'il s'agit de clé étrangères.

    Des doublons non, tu aura des couples d'informations.
    La clé primaire étant composé de deux champ, tant que les deux ne sont pas identiques, il n'y a pas de doublons.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/03/2011, 23h26
  2. [MySQL] comment faire pour créer table et formulaire pour saisie des donnes GPS avec images
    Par kitcarson23 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 07/09/2010, 10h09
  3. Comment faire pour une interface avec un menu ribbon ? sans onglet
    Par Yogy dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 20/01/2010, 15h58
  4. Réponses: 2
    Dernier message: 28/04/2009, 15h26
  5. lien pour une table qui ne doit pas etre public
    Par raslain dans le forum Oracle
    Réponses: 1
    Dernier message: 12/12/2005, 13h40

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