고객 이메일 관리 및 수신 여부 관련 테이블 작성해보았습니다. 0 3 1,303

by 퍼레버의리 [DB 모델링/설계] db [2019.06.30 14:54:36]


 

email(이메일 고객 관리 테이블)

id name
1 test@daum.net
2 test1@gmail.com

 

post(고객에게 보낸 메일)

id subject content
1 고객님 반갑습니다. 새롭게 오픈되었습니다. 앞으로 잘 부탁드립니다.
2 일주일 동안 10% 할인합니다. 성원의 힘 입어 일주일 동안 10% 할인 하게되었습니다...............

 

 

email_post_mapping(고객 메일 수신확인 여부)

id email_id post_id
1 1 2
2 2 1

 

########################################################



email 테이블 경우 우리 고객 DB 데이터 즉 발송해야되는 메일을 출력하게됩니다. 



post 테이블 경우는 판매자측이 고객에게 어떤메일을 보내는지 기록하는 테이블입니다. 



email_post_mapping 테이블 경우 해당 고객이 발송한 메일을 읽게되면 



INSERT 해서 어떤 고객인지 그리고 어떤 메일을 읽었는지 각각 매핑 id로 저장하게됩니다. 





한번 고민해서 만들어보았는데요 



선배님께서 한번 제가 작성한 테이블 ERD 부족한 부분 지적 부탁드립니다. ㅠ.ㅠ

by 마농 [2019.07.01 08:40:58]

1. 보내는 날짜가 없네요
2. 읽었을 때 저장하지 말고
 - 보냈을 때 저장하고, 읽었을 때 상태 갱신


by 퍼레버의리 [2019.07.01 12:02:55]

마농님 그럼 메일을 전송시 POST테이블에 어떤 메일을 보냈는지 저장하게되고

 

email_post_mapping 테이블에서는 모든 consumer 테이블안에 있는 데이터를 가져와서 저장하게되는데

 

SELECT시 너무 많으면 부하가 걸리지 않을까요?


by 마농 [2019.07.01 12:19:29]

메일별로 보내는 대상이 틀릴 수 있다면 보낼 때 저장하는게 맞구요.
모든 메일을 모든 대상에게 보낸다면? 위와 같이 읽은 고객만 저장해도 될 듯 하네요.
대신 고객 테이블에 유효기간(시작일~종료일)이 설정되어야 할 듯 하네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입