Dans un pur « rejoindre » ou d'une table de jonction tous les champs feront partie de la clé primaire. Par exemple, nous allons examiner les tableaux suivants:
CREATE TABLE USERS
(ID_USER NUMBER PRIMARY KEY,
FIRST_NAME VARCHAR2(32),
LAST_NAME VARCHAR2(32));
CREATE TABLE ATTRIBUTES
(ID_ATTRIBUTE NUMBER PRIMARY KEY,
ATTRIBUTE_NAME VARCHAR2(64));
Une table de jonction entre ceux-ci pour permettre à plusieurs utilisateurs d'avoir beaucoup d'attributs seraient
CREATE TABLE USER_ATTRIBUTES
(ID_USER NUMBER REFERENCES USERS(ID_USER),
ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
PRIMARY KEY(ID_USER, ID_ATTRIBUTE));
Parfois, vous trouverez la nécessité d'ajouter un non-primaire colonne à une table de jonction, mais je trouve cela est relativement rare.
Partagez et appréciez.
Pour quelle base de données préférez-vous une réponse? –
@Mark Byers mysql s'il vous plaît – Imran
Cette question est similaire à http://stackoverflow.com/questions/208666/two-foreign-keys-instead-of-primary –