I en ren "join"- eller korsningstabell kommer alla fält att vara en del av primärnyckeln. Låt oss till exempel betrakta följande tabeller:
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));
En kopplingstabell mellan dessa för att tillåta många användare att ha många attribut skulle vara
CREATE TABLE USER_ATTRIBUTES
(ID_USER NUMBER REFERENCES USERS(ID_USER),
ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
PRIMARY KEY(ID_USER, ID_ATTRIBUTE));
Ibland upptäcker du behovet av att lägga till en icke-primär kolumn i en korsningstabell, men jag tycker att detta är relativt sällsynt.
Dela och njut.