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 mes tables [AC-2010]


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut Relation entre mes tables
    Bonjour à tous,

    Je commence à avoir des soucis au niveau de la création de nouvelles requêtes. Je pense que cela viens des relations et/ou de la structure de mes tables, je voulais donc un avis d'expert sur le sujet.

    Ma base est une base commerciale/RH. J'ai des tables client, contact, besoin, candidattachébesoin, projets, bdd_candidats principalement.

    Un client à plusieurs contacts
    Un contact à plusieurs besoins. Un client à donc aussi plusieurs besoins
    Un besoin à plusieurs candidats attachés à ce besoin, dont les infos de ces derniers sont stockées dans bdd_candidats.
    Un besoin gagné devient un projet/une affaire. Un contact à plusieurs affaires et donc un client aussi.


    Bref, tout ça pour dire que j'ai des formulaires qui gèrent tout ça (listing client, fiche client, fiche contact, fiche besoin). Jusque là, tout fonctionne.

    Mais alors arrivé à l'état de Projet, c'est là que ça dérape. J'explique :
    Sur ma fiche besoin, j'ai un bouton qui me permet de passer le besoin en projet. Automatiquement, ce bouton copie dans la table "Projets" le numéro du client, du contact, du besoin et du candidat.
    Je veux donc créer un formulaire "fiche projet", pour avoir d'un coup d’œil les infos principales du client (nom société, lieu, numéro tel standard), du contact (nom prénom tel), du candid (nom, prénom, tel), et du projet (reprenant l'intitulé du besoin dans la table besoin, puis d'autres infos dans la table projets)

    Sauf que, si je créé une requête pour récuperer les infos... ca bug :
    "Instruction SQL non exécutée, en raison de jointures externes ambigües. Pour forcer l'ordre d'exécution d'une des jointures en premier, créez une requête distincte qui exécute la première jointure, puis insérez cette requête dans votre instruction SQL".
    Sauf que même en faisant deux requêtes distinctes, j'ai toujours un problème, une erreur SQL "Join" ou autre...

    Je suppose donc que le problème vient de mes relations, et c'est là que j'ai besoin de votre coup d'oeil d'expert. Voici donc les relations entre mes tables, et par avance, je vous remercie de votre aide


  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Jigsaw80,

    Ton développement a l'air assez avancé... ... pour entamer un débat sur la modélisation des données... .

    Trois points :
    1. il y a des données redondantes, ce qui n'est jamais très bon ;
    2. il y a des données qu'il faudrait externaliser ;
    3. le projet devrait "prendre" les candidats attachés au besoin.

    Suggestion:

    Images attachées Images attachées  
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    En fait ce que je n'ai pas dit, c'est que j'ai déjà conçu une base "candidat". Donc j'ai déjà tout ce gros bloc de fait. Là je recommence tout à Zéro, parce que je dois intégrer une partie plus commerciale.

    Pour les données redondantes, c'est vrai, je devrais faire une nouvelle table. Je t'avoue que pour le coup, ça m'est sorti de la tête... je ne sais plus pourquoi d'ailleurs ^^

    Quelles données seraient à "externaliser" ?

    Pour le projet, je ne peut pas prendre tous les candidats rattaché. En fait il y a plusieurs candidats pour un besoin. Pour ce besoin, il peut y avoir 1, 2 ou 3 postes d'ouvert. Mais un projet ne comportera qu'un candidat.

    Par contre ma petite question, c'est que si je n’intègre pas le num_client dans ma table, comment je peux récupérer le nom d'un client dans mes formulaires formulaire ? Via une requête je suppose ? Mais ça voudrait que dans chacune de mes requêtes, je dois intégrer les tables contacts et besoins même si je n'ai pas besoin du nom du contact par exemple ?

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Jigsaw80
    Pour les données redondantes, c'est vrai, je devrais faire une nouvelle table.
    ==> : non, il faut, simplement, supprimer les champs barrés des tables concernées.

    Citation Envoyé par Jigsaw80
    Quelles données seraient à "externaliser" ?
    ==> celles-ci :


    Citation Envoyé par Jigsaw80
    En fait il y a plusieurs candidats pour un besoin. Pour ce besoin, il peut y avoir 1, 2 ou 3 postes d'ouvert. Mais un projet ne comportera qu'un candidat.
    ==> 1 besoin peut-il générer plusieurs projets ?

    Citation Envoyé par Jigsaw80
    Par contre ma petite question, c'est que si je n’intègre pas le num_client dans ma table, comment je peux récupérer le nom d'un client dans mes formulaires formulaire ? Via une requête je suppose ? Mais ça voudrait que dans chacune de mes requêtes, je dois intégrer les tables contacts et besoins même si je n'ai pas besoin du nom du contact par exemple ?
    ==> la modélisation des données ne doit pas s'adapter aux requêtes !... c'est l'inverse. Sinon, tu te diriges vers les pires difficultés. Donc, oui, il faut faire des vues ou des requêtes ré-utilisables.
    Images attachées Images attachées  
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Ok Richard, je vois où en venir au niveau des tables.

    Pour te répondre, un besoin = plusieurs projets seulement s'il y a plusieurs postes d'ouvert, puisqu'un projet correspond à un candidat/salarié
    Si pour un besoin, j'ai deux postes, j'aurais donc deux projets si l'affaire est conclue. 1 projet si j'ai un poste. 3 projets si j'ai trois postes.

    Je pense que je peux continuer sur cette base selon ton développement pour la suite ?

    (J'attends ta réponse avant de mettre résolu)

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Jigsaw80,

    Citation Envoyé par Jigsaw80
    un besoin = plusieurs projets
    ==> OK.

    Citation Envoyé par Jigsaw80
    un projet ne comportera qu'un candidat
    ==> OK, mais un candidat déjà pré-sélectionné pour le besoin, non ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par Richard_35 Voir le message
    ==> OK, mais un candidat déjà pré-sélectionné pour le besoin, non ?
    Exact

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Dans ce cas, il faut modifier tes relations comme suit (représentant, uniquement, la partie qui nous intéresse) :



    Attention : je pense qu'il faut passer par des index uniques, pour la relation 1-1.
    Images attachées Images attachées  
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Désolé mais je n'ai pas eu beaucoup de temps devant moi pour me consacrer à Access.

    Je m'y replonge et cet aprem, je te tiens au courant, pour moi ça a l'air pas mal du tout. Plus qu'à tester et voir si je n'ai pas de bug ou autre, mais à priori je ne devrais pas en avoir si je suis tes exemples.

    Merci pour ton aide, et je te tiens au courant cet aprem.

    (pas de soucis pour le résolu je le met cet aprem si tout va bien )


    Edit : Je te confirme que je n'ai plus de soucis dans mes requêtes. Tout s'imbrique exactement comme je le voulais ! La solution coulait de source et était sous mon nez, merci de m'avoir ouvert les yeux !!!

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

Discussions similaires

  1. [AC-2010] besoin d'aide pour valider mes relations entre les tables de ma bdd svp
    Par paulux67 dans le forum Modélisation
    Réponses: 13
    Dernier message: 28/05/2012, 23h59
  2. [AC-2003] Probleme de relation entre mes tables
    Par kesamba dans le forum Modélisation
    Réponses: 7
    Dernier message: 11/05/2012, 18h30
  3. Besoin d'aide sur les relations entre mes tables
    Par Jenojen dans le forum Bases de données
    Réponses: 102
    Dernier message: 06/09/2008, 12h27
  4. [Conception] Quelles relations entre mes tables ?
    Par jeromepiwees dans le forum Modélisation
    Réponses: 4
    Dernier message: 26/03/2007, 12h12
  5. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07

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