2014-06-13 2 views
1

지금 당장 (이 질문에 중요하지 않은 부분을 제거함) 다음 3 가지 엔티티가 있습니다. (필자는 아스키 미안 이미지를 추가 할 수있는 충분한 명성을하지 않습니다)핵심 데이터 관계 및 상위 엔티티 - 쇼핑 바구니

+------------+ +---------------+ +----------------+ | Product | | CartProduct | | Cart | +------------+ +---------------+ +----------------+ | name | | quantity | | total | | detail | | otherStuff | | subTotal | | minimumBuy | +---------------+ | taxes | | price | | onCart <----------+ | taxesPercentaje| | thumb | +---------------+ | +----------------+ +------------+ +-------> product | +----------------+

그래서, 나는 제품의 정보와 더불어, 제품 법인이, a CartProduct 엔티티. 장바구니에있는 제품의 정보와 수량 (제품)과 마지막으로 카트 .

사양은 구매가 끝나면 제품을 판매 시점에서 보관해야하므로 향후 제품 가격이 변경 될 경우에도 해당 제품의 가격이 필요합니다. "CartProducts"은 그대로 있습니다. 지금 제품CartProducts 관련하지만, 내가 나중에 참조 할 수 있도록 카트의 상태를 저장해야한다는보고까지

는 내가 진행하는 가장 좋은 방법 일 것입니다 무슨 모르는했다.

TL : DR : Cart 제품과 제품간에 관계를 만들지 않습니까? 아니면 상태를 저장해야한다는 것을 알고 "장바구니에 제품 추가"를 할 때 데이터를 새 엔터티에 복사합니까? 구입 당시의 카트에있는 제품입니까?

답변

1

적어도 일부 데이터를 비정규 화 (복사)해야하거나, 버전 관리 솔루션을 제안해야하며 변경 사항이있을 때 새로운 버전의 제품이 필요합니다. 후자는 너무 복잡하고 장기적으로는 유지할 수없는 소리로 들리므로 비정규 화는 최상의 솔루션과 같습니다.

+0

감사합니다. 예, 그렇습니다. 저는 제품을 비정규 화합니다. 지금 당장 가장 쉬운 해결책이라고 생각합니다. – TJSoler