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

Modélisation Discussion :

relation entre deux clés étrangéres [AC-2003]


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut relation entre deux clés étrangéres
    Bonjour, j'ai un MLD prédéfini et je dois faire une base de données en partant de celui-ci. La base se compose de 4 tables:

    METIER
    IdMetier
    NomMetier

    NIVEAU
    #IdMetier
    IdNiveau
    #IdNiveauParent
    NomNiveau

    HIERARCHIE
    idHierarchie
    NomHierarchie
    DescriptionHoerarchie

    ASSOCIATIONHIERARCHIE
    #idMetier
    #idHierarchieParent
    #idHierarchieEnfant
    #idNiveauParent


    Les # représentent les clées étrangéres
    Chaque Id est une clé primaire

    Les Relations:

    Metier.IdMetier est relié à Niveau.#idMetier
    Niveau_1.IdNiveau est relié à Niveau.#idNiveauParent (relation réflexive)
    Niveau.idNiveau est relié à AssociationHierarchie.#idNiveauParent
    Hierarchie.idHierarchie est reliée à AssociationHierarchie.#idHierarchieParent

    Et c'est là qu'apparaît mon problème:
    Je dois relier Niveau.#idMétier à AssociationHierarchie.#idMetier

    Je clique donc sur le lien existant entre ces deux tables (Niveau.idNiveau est relié à AssociationHierarchie.#idNiveauParent) pour y ajouter la relation Niveau.#idMetier et AssociationHierarchie.#idMetier et lorsque je clique sur OK le message suivant s'affiche: "index unique introuvable pour le champ référencé d'une table principale" je ne peux donc pas faire ce lien.

    Merci pour votre aide, je pense que c'est un problème d'index pourtant j'ai mis indexé à oui-sans doublons pour chaque clé étrangère, elle sont donc indexées.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    les tables METIER et AssociationHiérarchie sont déjà en relation par le lien
    sur le champ #IdNiveauParent.
    Personnellement, je serai amener à considérer les tables Niveau et Hierarchie comme étant une seule et même table. Un Niveau racine a en fait pour Niveau parent une hiérarchie. soit deux tables au lieu de 4.
    soit :
    METIER
    IdMetier
    NomMetier

    NIVEAU_HIERARCHIE
    #idMetier
    idNiveau
    NomNiveau
    Desription
    #idNiveauParent

    de manière à obtenir une liste chainée hiérarchique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     Hierarchies
      |_Hierarchie 1 (Niveau Parent = Aucun => Sommet de la hiérarchie)
            |_Niveaux 1.1 (Niveau Parent = Hierarchie 1)
                 |_Niveau 1.1.1 (Niveau Parent = Niveau 1.1)
                     |_ Metier x
                     |_ Metier y
                 |_ Niveau 1.1.2 (Niveau Parent = Niveau 1.1)
                      |_ Metier z
            |_ Niveaux 1.2 (Niveau Parent = Hierarchie 1)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci pour vos indications mais je ne peux pas modifier le modèle de données, je voudrais relier ma table Niveau et ma table associationHierarchie via les clés étrangères #idMetier. mais cela me met le message d'erreur joint précédemment.
    Est-ce possible? ou faudrait t-il que je relie Metier.IdMetier à AssociationHierarchie.IdMetier?

    je vous joins le modèle logique que je dois insérer sous access
    et les relations sous access

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    il n'est pas nécessaire de renouveler un lien entre ces deux tables, puisqu'il existe déjà.
    La table Metier est en relation avec la table Niveau qui est en relation avec la table AssociationHierarchie. La table Metier et associationHierarchie sont donc déjà liée via la table Niveau.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Merci
    Merci pour votre aide,
    En effet je n'ai pas mis le lien Niveau.idMetier --> AssociationHierarchie.idMetier
    Mais j'ai fait un lien entre Metier.idMetier et AssociationHierarchie.idMetier ce qui était le plus logique. Mais ce lien n'existait pas sur le modéle logique que je dois representer sous access.
    Merci encore, bonne journée.

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

Discussions similaires

  1. Jointure entre deux tables par deux clés étrangères ?
    Par StringBuilder dans le forum QlikView
    Réponses: 5
    Dernier message: 16/06/2014, 16h40
  2. Réponses: 3
    Dernier message: 31/08/2012, 11h33
  3. [XSD] Relation entre deux tables
    Par fd59 dans le forum Valider
    Réponses: 2
    Dernier message: 10/09/2005, 00h33
  4. [EJBQL] [CMP] Relation entre deux beans
    Par salome dans le forum Java EE
    Réponses: 1
    Dernier message: 12/07/2005, 00h50
  5. Relation entre deux tables
    Par manel007 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/03/2005, 17h54

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