В чистата таблица за свързване или свързване всички полета ще бъдат част от първичния ключ. Например нека разгледаме следните таблици:
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));
Таблица за свързване между тях, която позволява на много потребители да имат много атрибути, би била
CREATE TABLE USER_ATTRIBUTES
(ID_USER NUMBER REFERENCES USERS(ID_USER),
ID_ATTRIBUTE NUMBER REFERENCES ATTRIBUTES(ID_ATTRIBUTE),
PRIMARY KEY(ID_USER, ID_ATTRIBUTE));
Понякога ще откриете необходимостта да добавите неосновна колона към таблица за свързване, но смятам, че това е сравнително рядко.
Споделете и се насладете.