modéliser une relation « one-to-one » dans une base de données est la même que la modélisation « héritage »?
-
28-09-2019 - |
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.
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! »