Practice 3

SNS ERD는 사용자 자기참조와 반응 이력이 핵심이다

팔로우, 좋아요, 댓글은 단순 속성이 아니라 시간과 작성자를 가진 관계 행으로 저장한다.

사용자/게시글
관계 이력
프로필 1:1
users1
KEYid
ATTRemail
ATTRcreated_at
1 ── 0..1
profileoptional
KEYid
FKuser_id unique
ATTRnickname
ATTRbio
1 ── N
postN
KEYid
FKuser_id
ATTRbody
ATTRimage_url
follow

follower_id + followee_id. 사용자와 사용자 사이의 M:N 자기참조.

post_like

user_id + post_id. 같은 사용자의 중복 좋아요를 막는다.

comment

post_id + user_id + content. 댓글은 자체 생명주기가 있어 테이블로 둔다.

팔로우 관계에는 follower_id와 followee_id가 같지 않다는 CHECK가 필요하다.