더북(TheBook)

송장과 패킹 슬립에는 다음과 같은 필드가 있어야 한다.

order_ID

quantity

cost_per_unit

product_name


경영 보고서에는 그룹이나 카테고리별로 집계한 정보가 주로 들어간다. 보고서용 질의에는 제품 카테고리 정보와 함께 전체 판매 수량 같은 집계 정보가 있어야 한다. 경영 보고서는 제품 설명과 함께 가장 많이 팔린 상위 25개 제품을 보여준다.

이러한 질의 요구 사항을 기준으로 제품 설명, 정가, 제품 카테고리를 Order_Items 컬렉션에 저장하지 않는 편이 낫다고 결정했다고 하자. Order_Items 문서의 다음 버전은 다음과 같은 형태가 될 것이다.


{
  order_item_ID : 834838,
  order_ID: 8827,
  quantity: 3,
  cost_per_unit: 8.50,
  product_name : "Eco-friendly Printer Paper"
}

또한, 관련 제품의 모든 세부 정보를 Products 컬렉션에 넣었다면 코드는 다음과 같다.


{
  product_description: "1 package laser printer paper. 100% recycled.",
  product_name : "Eco-friendly Printer Paper",
  product_category : 'office supplies',
  list_price : 9.00
}

product_nameOrder_Items 컬렉션과 Products 컬렉션에 중복으로 들어가 있다. 이 모델대로라면 좀 더 많은 저장 공간을 차지하겠지만, 애플리케이션 개발자들은 한 번의 조회 작업으로 원하는 정보를 모두 가져올 수 있게 될 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.