2010-11-10 4 views
0

J'ai une question, si deux tables dans la base de données proviennent d'entités différentes, alors comment nous définissons la relation entre elles. Je veux dire, pouvons-nous utiliser une clé étrangère ou quelque chose pour définir la relation entre eux. ou nous devons créer une troisième tablesur quelle base la relation entre les tables sont définies

Répondre

0

Il existe un principe de conception qui stipule qu'une table définit une entité ou une relation mais pas les deux. Par conséquent, utilisez une troisième table pour modéliser la relation entre vos deux entités - oui, même si c'est 1-1 ou 1-N - en notant que la relation elle-même peut avoir ses propres attributs.

+0

Je suis confus, pouvez-vous fournir un lien où je peux obtenir un exemple et comprendre la chose ..... – NoviceToDotNet

+2

Je ne connais pas ce principe et malheureusement je ne suis pas d'accord avec cela. Il n'y a aucune raison pour laquelle je ne peux pas avoir la relation (FK) sur la même table quand je parle d'une relation 1-N ou 1-1. – tucaz

+0

Je suis d'accord avec tucaz. Cela semble être un principe/une règle empirique dans certaines techniques ORM. –

2

Cela dépend du type de relation que vous avez. Si c'est un 1-1 ou un 1-N alors vous ajouterez seulement la colonne de clé étrangère sur la table respective. Si vous avez besoin d'un N-N (aka N-M), vous aurez besoin d'une troisième table.

Questions connexes