In una tabella di "unione" o giunzione pura, tutti i campi faranno parte della chiave primaria. Consideriamo ad esempio le seguenti tabelle:
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));
Una tabella di giunzione tra questi per consentire a molti utenti di avere molti attributi sarebbe
CREATE TABLE USER_ATTRIBUTES
(ID_USER NUMBER REFERENCES USERS(ID_USER),
ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
PRIMARY KEY(ID_USER, ID_ATTRIBUTE));
A volte troverai la necessità di aggiungere una colonna non primaria a una tabella di giunzione, ma trovo che ciò sia relativamente raro.
Condividi e divertiti.