Post

메시지 데이터 모델링

1. 메시지 데이터 모델링

내ID와 상대방ID 개념을 도입하여 보내고 받는 행위를 ‘수발신구분코드’로 변경하면 깔끔한 쿼리를 얻을 수 있다.

  • 문서함 ERD

message-erd

인덱스: 사용자ID_발신, 수발신구분코드, 발신일시

내가 쪽지 한번 보낼 때마다 ‘나, 상대방, 발신’, ‘나, 상대방, 수신’ 두 건의 데이터를 넣어야 한다.

  • 받은 문서함 쿼리
1
2
3
4
5
SELECT 사용자ID_수신, 쪽지내용, 발송일시, 열람일시
FORM 쪽지
WHERE 수발신구분코드 = '수신'
AND 사용자ID_발신 = '나'
ORDER BY 발송일시 DESC
  • 보낸 문서함 쿼리
1
2
3
4
5
SELECT 사용자ID_발신, 쪽지내용, 발송일시, 열람일시
FORM 쪽지
WHERE 수발신구분코드 = '발신'
AND 사용자ID_발신 = '나'
ORDER BY 발송일시 DESC

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.