[연습] 스키마 상상해서 짜보기.
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를 주로 사용하겠지만, 공부해둬야한다.