modéliser une relation « one-to-one » dans une base de données est la même que la modélisation « héritage »?

StackOverflow https://stackoverflow.com/questions/3489162

Question

Je me demandais s'il y a une différence entre la modélisation d'un one-to-one relation et une relation d'héritage (table par type) Dans les deux cas, nous ajoutons une clé foreing avec une contrainte UNIQUE ou Somethimes le FK fait partie de la PK

Il me semble que la structure de la table est le même, mais peut-être me manque quelque chose.

Merci à l'avance.

Était-ce utile?

La solution

Ceci est simplement une reformulation de ce que les autres répondent, mais je dis toujours la différence est pas dans la structure de la table (qui est en fait la même chose), mais les contraintes de cardinalité sur la clé étrangère:

  • dans les deux cas, il faut une table T1 avec une clé étrangère F « indiquant » (à savoir contenant des valeurs de) une clé P d'une autre table, T2;
  • dans les deux cas, tous les points F à différents P (P et F sont à la fois UNIQUE);
  • dans les deux cas, chaque F en fait des points à un P (P et F sont tous deux non-NULL);
  • en cas d'héritage, tous les P se produit toujours comme une valeur de F;
  • en cas d'une correspondance biunivoque, chaque P se produit toujours en tant que valeur de F.

Autres conseils

Il y a quelques permutations de cela. Voilà quelque: - A Suppose ne peut exister que par B et B peut ne peut exister que par A. Ensuite, la relation est un à un. - A peut exister On suppose que seul et B peut l'étendre, mais B ne peut exister seul. Ensuite, la relation est l'héritage. - A ne peut pas Suppose exister seul, mais il peut exister avec B ou C. Ensuite, la relation est l'héritage

.

En ce qui concerne la modélisation, une à une relation entre les entités indique qu'elles sont la même table relationnelle. « La clé, la clé et rien que la clé, alors aide-moi Codd! »

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top