안녕하세요. 사용자들이 참가하는 프로모션을 관리하기 위해 프로모션 테이블을 설계하고 있습니다.
아직 정확하게 프로모션에 대해 어떤 요구사항이 나온것은 아니라서 일단 관리하게 편한 방식으로 설계하려고 합니다.
아무래도 프로모션의 종류가 많을 수 있다보니 주문 수, 이용기간, 첫 주문 여부 등 다양한 프로모션이 존재 할 수 있습니다. 그리고 각각의 프로모션에 따라 여러가지 옵션이 있을 수 있습니다.
예를 들어 주문 수의 경우 1000건, 500건, 100건 / 이용 기간의 경우 1000일, 500일 등으로요.
제가 막힌 부분은 각각의 프로모션의 단위(?)가 다른데 이것을 어떻게 테이블에서 관리해야 할지 잘 감이 오지 않습니다.
주문 수에 따라 사용자가 참여할 수 있는 프로모션이 다른 경우에는 조건 옵션이 주문 건수인 number형일 것이고, 첫 주문 여부에 따라 프로모션이 갈리는 경우는 boolean일 것이며, 특정 이용기간에만 진행하는 프로모션일 경우에는 기간 date 형식일 것이니까요.
제가 너무 어렵게 설계하고 있는건지, 처음부터 잘못접근한 것인지 궁금해서 질문 드립니다.
condition_id | contents | unit | createdAt | updatedAt |
1 | 주문 수 | number | ||
2 | 이용기간 | day | ||
3 | 첫 주문 여부 | boolean |
condition_option_id | contnts | condition_id | ... | ... |
1 | 1000건 | 1 | ||
2 | 500일 | 2 | ||
3 | Y | 3 |