아래 그림은 마트의 푸드코드에서 음식을 주문하고 받은 영수증입니다. 영수증을 보고 데이터베이스를 설계하세요.

영수증 그림만으로 데이터베이스 설계를 하라니, 매우 불친절한 요구사항입니다. 하지만 자신의 지식과 상상력을 동원해 더 자유롭게 설계해 볼 수 있는 기회도 제공합니다.
데이터베이스 설계를 위해, 영수증 그림에 표시된 내용을 정리해보면 다음과 같습니다.
- re-MART라는 마트의 푸드 코트에서 만들어진 영수증입니다.
- 주문 일자와 시간에 대한 정보가 포함되어 있습니다.
- 주문 목록에는 다음과 같은 내용이 있습니다.
- 상품명, 단가, 수량, 금액
- 이를 통해 하나의 주문 영수증에 여러 상품이 주문 될 수 있다는 것을 알 수 있습니다.
- 영수증에는 과세물품금액과 부가세 금액이 별도로 표시되어 있습니다.
- 부가세가 합(SUM)으로 구해져 있는데, 부가세는 모든 상품에 무조건 10%일까요?
- GPT로 검색해보니, 우리나라에서는 대부분의 공산품은 10%의 부가세가 일률적으로 붙는 것으로 보입니다.
- 아래쪽에는 카드결제에 대한 정보가 담겨져 있습니다.
- 0010아마도 KB국민 카드의 카드사 코드쯤 되는 것으로 생각됩니다.
- 5409로 시작하는 카드번호가 있고, 그 뒤에는 30112340이란 번호가 있습니다.
- 아마도 30112340은 카드사에서 승인한 결제 번호 또는 승인 번호가 아닐까 생각됩니다.
- 카드결제가 아닌 현금결제나 각종 페이 앱을 통한 결제도 고려해볼 필요가 있습니다.
- 가장 아래에는 주문번호가 있습니다. 푸드코트에서는 주문번호를 통해 고객에게 음식을 전달합니다.
위 내용들을 토대로 개념 설계를 먼저 진행해봅니다. 개념설계를 위해서는 엔터티를 선별해야 합니다. 엔터티를 선별해 정리해 보면 다음과 같습니다.
- 마트: 마트의 사업자번호나 명칭 위치(주소)등의 기본 정보를 관리할 수 있는 엔터티가 필요합니다.
- 경우에 따라서 마트내 푸드코트는 사업자가 분리되어 있을 수 있습니다. 이 부분은 무시하고 설계를 진행해 봅니다.
- 주문: 주문일시와 주문번호를 관리하는 엔터티가 필요합니다.
- 주문상세 또는 주문별상품
- 하나의 주문에 여러 상품을 주문할 수 있으므로 주문별 상품을 관리하는 별도 엔터티를 추가합니다.
- 결제정보: 결제 정보를 관리해야 합니다.