I en ren 'join' eller junction-tabel vil alle felterne være en del af den primære nøgle. Lad os f.eks. overveje følgende 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 forbindelsestabel mellem disse for at tillade mange brugere at have mange attributter ville være
CREATE TABLE USER_ATTRIBUTES
(ID_USER NUMBER REFERENCES USERS(ID_USER),
ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
PRIMARY KEY(ID_USER, ID_ATTRIBUTE));
Nogle gange vil du finde behovet for at tilføje en ikke-primær kolonne til en krydstabel, men jeg synes, det er relativt sjældent.
Del og nyd.