문제

식료품 점을 모델링하려고합니다. 가게에는 몇 가지 "통로"가 있습니다. 각 "통로"에는 "항목"의 "카테고리"그룹이 저장되어 있습니다. 각 "카테고리"는 하나의 "통로"에만 속할 수 있습니다. 각 "항목"에는 하나의 "범주"만 가질 수 있습니다.

데이터 모델은 나에게 간단한 것 같습니다.

  • ID 및 설명이있는 "통로"테이블
  • "통로"테이블을 참조하는 ID, 이름 및 aisle_id가있는 "카테고리"테이블
  • "카테고리"를 참조하는 ID, 이름, 설명 및 카테고리 _id가있는 "항목"테이블

객체 모델은 도움이 필요한 곳입니다.

  1. 통로 객체는 그 안에 카테고리 및 항목 객체 목록을 가질 수 있습니다.
  2. 통로 객체는 카테고리 객체 목록을 가질 수 있습니다. 카테고리 객체는 그 안에 항목 객체 목록을 가질 수 있습니다.
  3. 통로는 항목 객체 목록을 가질 수 있습니다. 카테고리 객체에는 항목 객체 목록이있을 수 있습니다.

각각의 경우 항목에는 논리적으로 카테고리 객체가 있습니다. 각 도메인 객체에 대해 DAO가 있으므로 수행 방식에 따라 SQL이 약간 변경됩니다. 이견있는 사람?

도움이 되었습니까?

해결책

선택 #2에 투표합니다. #1 또는 #3보다 더 의미가 있습니다.

관계가 양방향이어야한다고 생각하십니까? 항목이 부모 카테고리와 조부모 통로를 파악할 수 있어야합니까?

다른 팁

나는 선택 #2와 함께 갈 것입니다.

통로의 주요 관심사는 어떤 범주에 포함되어 있는지입니다. 어떤 항목이 멤버인지 결정하려면 카테고리 클래스에 달려 있어야합니다. 이것은 각 객체에서 추상화 수준을 일관성있게 유지합니다. 여기서 통로는 더 높은 레벨 객체이며, 범주는 약간 더 상세한 레벨이며 항목은 가장 세분화됩니다.

숫자 2가 유일한 3 가지 옵션이라면 가장 의미가 있습니다.

이 모델을 만들려면 다음 모델 (작은 수정, 가능한 한 아이디어에 가깝게 유지하려고 노력)을 사용한다고 생각합니다.

통로 객체는 카테고리 객체 목록을 가질 수 있으며, 카테고리 객체는 그 안에 항목 객체 목록을 가질 수 있습니다. 항목은 카테고리 및 통로와 관련이 있습니다.

내 수정은 데이터 측면에 더 많은 것 같습니다.

내가 그렇게했던 이유는 누군가가 "이봐,이 특정 항목을 찾고 있는데 어떤 통로가 있습니까?"라고 말하기 때문입니다. -1 개의 조회가 답을 줄 것입니다. 데이터 모델에는 2 개의 조회가 필요합니다.

적어도 그게 내가 생각하는 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top