DB schema feedback

ims·2020년 10월 17일
0

BlueDot

목록 보기
13/28

1.follow table

follow table 과 user table을 어떻게 연결할 것인가? user table이 2개 있다고 생각해보자. 그렇다면 follow table은 user1과 N 대 1, user2과도 N대 1 을 맺을 것이다. 그러나 실제로는 user table이 하나다. 고로 user table과 N대 1 관계를 2번 맺어주면 된다.

2. ENUM

Data type이 artist,user 등으로 정해져있을 때 ENUM으로 선언해줄 수 있다.

3. id

user_id 로 선언해주든 id로 선언해주든 상관없지만, 모든 id naming은 통일돼어야 한다. ( 현업에서는 user_id 식으로 사용된다 )

4. 1 : N

하나의 Entity가 몇 개의 상태를 가질 수 있느냐. 헷갈릴 때는 먼저 종속성에 대해서 먼저 생각해보면 쉽게 떠올려 볼 수 있다.

5. 확장성

언제 table을 뺴주느냐? 확장성이 있으면 빼준다.

payment 대신 genre 로 생각해봐도 좋다.

6. PK

follow table에서 위 2개가 pk가 아니라 follow table만의 pk가 있다고 생각해보자. 그러면 pk가 3개라서 1번 유저가 2번을 팔로잉 하는 경우 ( 1 2 ) 경우가 끝없이 나올 수 있다. 그래서 pk는 user_id로만 이루어진 2개여야 한다.

7. 다른 table의 접근

직접 접근 뿐 아니라 간접으로도 이어져있으면 간접접근으로 가져온다.

profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

0개의 댓글