[UMC 3기] Vibecap

Problem

Vibecap ERD

post 테이블의 PRIMARY KEY는 post_idmember_id인데 이럴 경우 어떻게 해야 의도한 대로 DB가 값을 채워주는지 의문이 생겼다.

이렇게 설계한 이유는 각 member에 대해서만 서로 다른 post_id를 갖게 하면 저장 할 수 있는 post의 수가 늘어나기 때문이였다.

Solution

InnoDB engine에는 그런 기능은 따로 없다.

굳이 그렇게 할 필요가 없었던 것이다.
post_id 하나만 PK로 사용해도 충분한데 굳이 member_id까지 포함할 필요가 없다.

개체-관계 모델에는 두 가지 테이블이 존재한다. 개체 집합관계 집합이다.
개체 집합은 하나의 attribute로 개체 하나를 식별할 수 있고
관계 집합은 관계에 참여한 개체 수 만큼의 column으로 하나의 관계를 식별 할 수 있다.

결론은 개체인 post를 관계로 해석하려 했기 때문에 생긴 문제였다.

Comments