Le 12/01/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> a écrit :
Bonjour,
Bonjour,
J'ai encore un peu de mal à comprendre les liaisons entre les tables avec Base. J'ai l'impression qu'on ne peut lier deux champs issus de deux tables différentes que si l'un des deux est une clé primaire. Ce qui signifie pour moi que, dans la mesure où les deux champs doivent être de nature identique et qu'une clé primaire est souvent de type INTEGER, on est obligé de travailler avec des codes. Donc le champ lié devra être un code.
il y a déjà deux cas à étudier (au moins) : relation (1 à n) ou relation (n à n).
Par exemple : Une une table principale avec des individus (nom, prénom, age...). Mais je souhaite indiquer d'autre caractérisques qui reviennent souvent (niveau d'étude, opinion politique...).
je crois que la constitution d'un fichier comportant des informations nominatives avec les opinions politiques (ou religieuses d'ailleurs) est tout simplement interdite en France (soit dit en passant)
Je crée donc une table T_NIVEAU avec comme champ id_niveau type INTEGER (clé) niveau_étude type VARCHAR Je crée également une table T_OPINION avec comme champ id_opinion type INTEGER (clé) opinion type VARCHAR Si je souhaite lier ma table T_INDIVIDU avec la table T_NIVEAU et la table T_OPINION, je ne peux le faire qu'avec la clé primaire (est-ce vrais ?) Dans ce cas, je me retrouve à travailler avec des codes, ce qui n'est pas très explicite dans ma table T_INDIVIDU
dans ce cas, chaque individu n'a qu'une opinion et un seul niveau d'études. Il s'agit de deux relations (1 à n) (1 opinion vers n individus). Il faut effectivement que la clé primaire de T_OPINION soit inscrite dans un champ de même type dans la table T_INDIVIDU. mais rien ne t'oblige à ce que la clé primaire de T_OPINION soit un Integer, tu peux créer une table T_OPINION nom_opinion Varchar clé primaire et créer un champ varchar dans T_INDIVIDU, appellons le "opinion" et lier les deux champs. Mais par exemple dans une table T_INDIVIDU, il est difficile d'utiliser le nom comme clé primaire au cas (probable) où il y aurait des homonymes.
Merci de vos éclairages sur ce sujet.
Voilà un début de réflexion. Manuel