2013-07-13 11 views
1

Im un débutant iciClé primaire VS clé étrangère

Je crée une table avec customer_id clé primaire, et une autre table avec une customer_id clé étrangère à se joindre à la première table

ma question

Lorsque je veux entrer des données dans les deux tableaux, dois-je insérer le customer_id deux fois (un dans la première table et l'autre dans la seconde).

dois-je faire cela à chaque fois que j'insère des données ?? merci :)

Répondre

2

Votre table CustomerId représente chaque client dans le tableau Customer. Ainsi, chaque fois qu'un nouveau client arrive, vous créez un identifiant pour ce client.

Pour les autres tables qui "se rapportent" au client, vous insérez un customer_id pour chaque entrée.

E.g.

Customer 
CustomerId, CustomerName 

Chaque client dispose d'un identifiant unique ..

ProductSold 
ProductId, ProductName, CustomerId 

Vous pouvez maintenant dire quel client a acheté un produit en raison de la clé étrangère dans la table de produit. Donc, pour chaque produit, vous insérez l'identifiant du client qui l'a acheté. J'espère que cela à du sens.

- Un nouveau client requiert un nouvel identifiant (lorsque vous insérez un nouveau client) - Un produit acheté par le client nécessite un CustomerId étranger pour identifier son acheteur.

So 2 CustomerId insère.

Alors oui .. vous avez raison lol: P

+0

Oui, les tables sont liées par cette clé - il doit être inséré dans Customer.ID, et écrit comme Order.FK_Customer. (ProductSold serait probablement effectivement un Order ou OrderLine, dans un système réel.) –

+0

@ThomasW D'accord, merci pour l'entrée. –

Questions connexes