[연습] 스키마 상상해서 짜보기.
Instagram을 클론한다고 생각해보자
-user
| id | username | pasword | followerId | followingId | created_at | SocialIdentity | |
|---|---|---|---|---|---|---|---|
| 1 | 김코딩 | a@gmail.com | 1234def | [2,3,5] | 2020-12-04T11:00:00 | 1 | |
| 2 | 박해커 | b@gmail.com | 456781 | [1,2,5] | 2020-12-04T12:00:00 | ||
| 3 | 최고수 |
-post
| id | content | conmmentId | userId | hashTag | like | created_at | photoUrl |
|---|---|---|---|---|---|---|---|
| 1 | sql 은 너무 어렵네요.. | [2,3] | 1 | [1,2] | 5 | 2020-12-03T13:00:00 | 230.jpg |
| 2 | |||||||
| 3 |
-comment
| id | userId | postId | content | created_at | like |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | 2 | 1 | 저도 너무 어려워요 ㅠㅠ | ||
| 3 | 3 | 1 | 저는 쉽던데요? |
-HashTag
| id | tag |
|---|---|
| 1 | #개발자 |
| 2 | #배고파 |
| 3 | #OOTD |
-SocialIdentity
| id | facebookId | googleId |
|---|---|---|
| 1 | codingKim | |
| 2 | hakerPark |
User-Post (1:N 관계)
사용자는 게시물을 여러개 작성 할 수 있다.
한 게시물은 한명의 사용자가 쓸 수 있다.
Post-comment (1:N 관계)
게시물 하나에는 여러개의 댓글이 달릴 수 있다.
댓글 하나는 한개의 개시물에 속한다
User-User (팔로워에 관한 내용 / N:N 관계)
김코딩은 여러명의 팔로워를 가질 수 있다.
김코딩은 여러명을 팔로잉 할 수 있다.
Post- HashTage (N:N)
한 게시물에는 여러 개의 해시태그를 붙일 수 있다.
해시태그는 여러 개의 게시물에서 사용될 수 있다.

위의 JOIN을 사용하는게 익숙치 않았다.
Sequelize를 주로 사용하겠지만, 공부해둬야한다.