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 :

[CONCEPTION] probleme sur une relation reflexive


Sujet :

Modélisation

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 80
    Points
    80
    Par défaut [CONCEPTION] probleme sur une relation reflexive
    Bonjour à tous
    Le problème que je m'en vais vous souligné se presente comme suit:
    j'ai une table PERSONNE dont j'aimerais faire une requete qui me donne les déscendants par personne où le sexe est "femme".
    j'ai d'abord fait une relation avec une autre table PERSONNE ayant comme clé secondaire la primaire de l'autre. celà avait l'air de marcher mais pas du tout. en fait le problème se pose au niveau de la saisie.dans ce cas une meme personne devrait etre saisi dans les ascendants et dans les descendant.
    une autre idée a été d'ajouter une propriété parent dans la table PERSONNE,propiriété qui ne sera pas une clé.Le probleme qui s'est posé est qu'on peut saisir pour une personne un parent qui n'existe pas dejà. ce que je ne veux pas.
    j'aimerais en definitive savoir comment gerer une relation reflexive.
    Merci de votre reponse
    Celui qui est juste dans les petites choses l'est dans les grandes

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ta table devrait avoir au moins les deux champs suivants :

    IdPersonne (Clef primaire)
    IdParrent (Parrent peut être nul)

    Dans ta fenêtre des relations tu affiche 2 fois la table personne, ça va te créer Presonne et Personne_1.

    Tu fais ensuite une relation d'intégrité entre Personne et Personne_1, en reliant Personne.IdParrent à Personne_1.IdPersonne.

    Autorisé Null dans IdParent te permets d'entrer les personnes dont tu ne connais pas le parent, c'est une relation de cardinalité : 0-n.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 87
    Points : 80
    Points
    80
    Par défaut hello!
    j'imagine qu'il faut 1 table parent,une table enfant
    mais attention si il y a des doublons dans la table parent (2 famille de meme nom)
    dans ce cas il faut creer une cle unique et c'est sur cette clef qu'il faut indexer les enfants

    le dernier cas si un enfant a lui-meme un enfant il faudrait avoir une 3° table:arriere-enfant indexée par enfant....etc

    c'est a mon avis la seule solution pour touver la filiation complete d' un arriere enfant.(requete contenant les 3 tables parent,enfant,arriere-enfant)

    j'espere avoir bien repondu a ta question

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    une seule table suffit

    idpersonne
    idparent (éventuellement null)
    j'oubliais le sexe qui est pourtant indispensable.

    le problème est ensuite de savoir comment on nourrit les tables
    on prévoit pour la saisie de idparent une liste avec les id existants
    cela limite la saisie
    Elle est pas belle la vie ?

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 80
    Points
    80
    Par défaut
    Bonjur à tous
    je vous remercie pour vos reponses. Mon probleme a été résolu avec une table. exactement comme Random l'a dit.En mode creation dans l'onglet liste de choix j'ai fait une requete SQL SELECT CodePersonne FROM PERSONNE.C'est bon
    Mais un autre problème c'est posé. c'est qu'il est possible que le parent d'une Personne soit elle meme.Bizare non? J'ai essaye de modifier la requete en ajoutant la condition Parent<>CodePersonne. Mais la liste de choix devient vide:donc requete probablement fausse.
    Je me demande donc comment faire pour qu'une personne ne soit son propre parent ou du moins quelle est la bonne requete?
    Merci
    Celui qui est juste dans les petites choses l'est dans les grandes

  6. #6
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    dans les propriétés de la table (de la TABLE, pas du CHAMP), tu mets un valide si qui fait que ton ID est forcément différent du IDParent

    C'est tout (avec un message si erreur en plus pour faire plus clair )

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/12/2006, 20h56
  2. [VB.NET] Probleme sur une DropDownList
    Par xG-Hannibal dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/01/2006, 11h08
  3. Probleme sur une requete
    Par ager1912 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2005, 10h16
  4. Probleme sur une fonction vérif
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/10/2004, 13h25
  5. Problème sur une cmd avec AWK
    Par OrangeBud dans le forum Linux
    Réponses: 3
    Dernier message: 02/06/2004, 10h51

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