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

WinDev Discussion :

Comment définir une clé primaire double? [WD15]


Sujet :

WinDev

  1. #1
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut Comment définir une clé primaire double?
    Bonjour,
    ma question va paraitre stupide mais j'ai eu la même réaction devant Windev...
    Comment définit-on une clé primaire double?
    Ce que je veux faire est trés simple :
    - 1 table adresse (avec un IDAdresse clé primaire)
    - 1 table personne (avec un IDPersonne clé primaire)
    - 1 table lien Adresse_personne (contenant les 2 champs : IDAdresse et IDPersonne issues des 2 autres tables et qui sont clé primaire double)

    Merci de votre aide
    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    ta table lien permet de faire quoi?
    De dire que une personne peux avoir plusieurs adresses et que une adresse peux être celle de plusieurs personnes?
    dans ce cas tes id ne sont pas unique dans ta table lien.
    ta table sera du style

    idPersonne idAdresse
    1 1
    1 2
    2 1

    ainsi la personne 1 possède 2 adresses et l'adresse 1 est associé à la personne 1 et 2

    Si ce n'est pas ça peux tu nous donner la démarche qui t'a fait créer cette table lien.
    Merci
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    dany13 => ce que tu veux faire s'appelle une clé composée, regarde dans l'aide de Windev.
    Mail.spam => les colonnes prises séparement ne doivent pas être définie comme unique, mais la combinaison des deux peut l'être. Par contre un index dessus sera utile pour la gestion de l'intégrité référentielle.

    Tatayo.

  4. #4
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut
    Re,
    @mail.spam : c exactement cela que je veux! Effectivement mes colonnes, prises séparément n'ont pas de valeur unique, c'est pour cela que je veux creer une clé primaire "double" car elle devient unique avec la combinaison des 2 valeurs.

    @tatayo : je constate donc que HyperFile ne gère pas du tout de la même manière la definition des clés...

    Est ce que je pourrais obtenir ce que je veux si je défini comme ceci :
    IDAdresse : clé avec doublon
    IDPersonne : clé avec doublon
    IDAdresse+IDPersonne : clé composée unique

    Merci pour votre aide
    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Oui c'est bien cela qu'il faut faire dans ton fichier lien
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  6. #6
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,
    Je voudrais ajouter que Windev va plus loin et automatise la création des tables de liaisons. Si tu crées tes tables adresse et personne et que tu crées une liaison entres elles en précisant un lien plusieurs-à-plusieurs, Windev crée automatiquement la table pour les lier avec les bons noms et les bons index. C'est donc encore plus simple que ce que tu crois.
    «Un problème bien défini est un problème à moitié résolu.»

  7. #7
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut
    Bonjour et merci pour vos explications, je m'en suis sorti, ouf!
    @klbsjpolp : va falloir que je teste cela une autre fois Merci pour l'astuce, je découvre!
    @bientôt
    Carpe Diem : Profitez du moment présent
    La connaissance non partagée n'a pas vraiment son utilité

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

Discussions similaires

  1. Comment définir une cle primaire autoincrémentée ?
    Par Mika2008 dans le forum PowerAMC
    Réponses: 1
    Dernier message: 01/08/2009, 09h30
  2. Réponses: 2
    Dernier message: 29/06/2006, 13h58
  3. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  4. Réponses: 8
    Dernier message: 20/12/2004, 15h14

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