데이터 베시스 설계 질문 드립니다.
> 업무전달 디비 설계 (하나의 사용자는 여러명에게 업무를 전달할 수 있다)
-----------------------------------------------
> TABLE A --> 보낸 업무
seq 시퀀스
id 발송자 아이디
subject 제목
content 내용
createdt 발송일
------------------------------------
> TABLE B --> 받은 업무
seq 시퀀스
id 받는사용자 아이디
readDt 읽은 일자(날짜가 널이 아니면 읽은것이 되겠죠)
aseq (A 테이블의 FK)
-----------------------------------------
문제는 받은 업무를 조회시 입니다.
일반적으로 받은 업무 조회시 일자를 기반으로 검색합니다.
즉 내가 1일 부터 20일까지 받은 업무를 조회시
A 테이블의 발송일이 1~20 사이 데이터를 추출합니다.
그리고 A 테이블의 seq 를 추출하여 B 테이블의 aseq 와 같은 놈들만
다시 가져 오고 그리고 그중에서 B 테이블의 나의 아이디를 다시 추출하여야 내가
받은 업무 가 되는 것이죠..
이렇게 하면 되긴하는데 예를 들어 1 ~ 20 일까지 내가 반은 업무가 하나도
없을경우에도 A 테이블의 기간내 모두 조회하고 그걸 다시 B 테이블과 조인하고
뭔가 비효율적이라는 거죠. 어덯게 설계하는것이 바랍직할지 조언 드립니다.