AUTO_INCREMENT for 2-attribute PRIMARY KEY
[UMC 3기] Vibecap
Problem
post
테이블의 PRIMARY KEY는 post_id
와 member_id
인데 이럴 경우 어떻게 해야 의도한 대로 DB가 값을 채워주는지 의문이 생겼다.
이렇게 설계한 이유는 각 member에 대해서만 서로 다른 post_id
를 갖게 하면 저장 할 수 있는 post의 수가 늘어나기 때문이였다.
Solution
InnoDB engine에는 그런 기능은 따로 없다.
굳이 그렇게 할 필요가 없었던 것이다.
post_id
하나만 PK로 사용해도 충분한데 굳이 member_id
까지 포함할 필요가 없다.
개체-관계 모델에는 두 가지 테이블이 존재한다. 개체 집합과 관계 집합이다.
개체 집합은 하나의 attribute로 개체 하나를 식별할 수 있고
관계 집합은 관계에 참여한 개체 수 만큼의 column으로 하나의 관계를 식별 할 수 있다.
결론은 개체인 post를 관계로 해석하려 했기 때문에 생긴 문제였다.
Comments