Selon Manuel NAUDIN <[EMAIL PROTECTED]>: > 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) > >
Oui, j'en suis tout à fait conscient, mais ce n'est qu'un exemple et c'est la seule idée simple qui me soit venue ce matin en rédigeant ce message. C'est peut-être maladroit, je te l'accorde. > > > 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. > > Ok, et pour le cas d'une relation n - n où un même individu (imaginons-le) puisse avoir plusieurs niveaux d'études ? Merci d'avance de votre aide > > > Merci de vos éclairages sur ce sujet. > > > Voilà un début de réflexion. > > Manuel > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
