clé "semi" étrangère

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : clé "semi" étrangère

par Ryle » 11 déc. 2006, 16:27

Si j'ai bien compris, il s'agit d'une clé étrangère vers la même table, mais ça reste une clé étrangère quand même. Et il n'y a pas de soucis, mais il faut effectivement faire attention que ton flacon A ne provienne pas d'un flacon B qui proviendrait du flacon A (directement ou à travers plusieurs autres) ce qui t'empêcherait de les supprimer (chacun ayant un enregistrement pere existant)

Concernant la clé étrangère, c'est le même principe que sur un forum ou les messages peuvent avoir un idParent, correspondant à l'identifiant d'un message précédent :)

clé "semi" étrangère

par bzayid » 06 déc. 2006, 15:56

Bonjour,

Le titre est pas très clair mais je m'explique...

J'ai

- une table unit : qui comporte des flacons

- une table action : liste des actions que l'on peut effectuer sur les flacons

- une table intermédiare action_unit : relation many to many entre unit et action

Le problème :

j'ai besoin de savoir de quel flacon, un nouveau flacon provient

dans la table unit j'ai les champs:

- unit_accn (clé primaire)
- type (type de flacon)

pour savoir d'où provient un flacon, j'ai pensé créé un champ "from_unit" où je stockerais le unit_accn (clé primaire) du flacon d'origine.

Cela ne pose pas de problème de mettre une clé primaire dans un champ integer comme cela au niveau de la cohérence de la base de données ? On m'a aussi parlé de relation cyclique...

note: j'utilise postgres 8

Merci d'avance de votre aide.