안녕하세요. 현재 회사에서 주문 수정 내역 테이블을 설계하고 있습니다.
하나의 주문을 여러 사용자가 주문을 수정할 수 있다보니 수정 내역이 필요한데요.
제가 설계한 테이블에서는 다음과 같이 내역 테이블이 작동합니다.
예를 들어 1000번 주문을 홍길동이라는 사람이 최초에 생성했습니다. 최초 작성이기 때문에 내역 테이블에는 어떤 데이터도 존재하지 않습니다.
orderId | ... | userId |
1000 | 홍길동 |
orderHistoryId | orderId | ... | userId |
이후 1000번 주문을 아무개라는 사람이 수정한 경우 주문 테이블과 주문 수정 내역 테이블에는 아래와 같이 데이터가 저장됩니다.
orderId | ... | userId |
1000 | 아무개 |
orderHistoryID | orderId | ... | userId |
1 | 1000 | 홍길동 |
주문 테이블 userID 바뀌게 한 이유는 주문 내역에서 최근에 수정한 사람으로 userId가 나와야 하는 요구사항이 있었어서 바뀌게 해두었습니다.
orderHistory 테이블의 userID는 수정자가 아닌 그 당시 시점의 작성자가 들어갑니다. 그래서 아무개가 아닌 홍길동이 들어갑니다.
이렇게 설계해놓고 보니 뭔가 이상하게 내역 테이블을 설계한것 같아서 다른분들은 어떻게 설계하고 관리하고 계시는지 궁금해서 질문드립니다.