JUNCTION KEY

교차 테이블은 양쪽 FK 조합의 중복을 막아야 한다

복합 PK를 쓰거나 대리키를 쓰더라도 양쪽 FK 조합의 유일성은 보존한다.

Composite PKSurrogateUNIQUE
CREATE TABLE product_tags (
  product_id NUMBER REFERENCES products(id),
  tag_id     NUMBER REFERENCES tags(id),
  PRIMARY KEY (product_id, tag_id)
);

-- 대리키를 쓰는 경우
UNIQUE(product_id, tag_id)

누락 위험: UNIQUE가 없으면 같은 상품-태그 연결이 여러 번 저장될 수 있다.