2014-01-12 3 views
1

내 e-start 앱 (카페/레스토랑 용)에는 현재 다음과 같은 데이터베이스 구조가 있습니다.관계형 데이터베이스 디자인 (E-Commence) - 핵심 데이터

enter image description here

카트 당신이 제품 전에 임시 장소를 제품을 추가 할 수있는 쇼핑 카트입니다/주문이 서버로 전송됩니다. ProductCart은 품목이며 수량, 크기, 튀김 수준이 다른 많은 제품 (동일 할 수 있음)입니다. 주문이 보내지면 카트가 지워지고 카트의 제품이 ProductOrder 엔티티로 이전됩니다 Order).

이제 제품을 추가 할 수있는 기능을 추가하여이 기능을 확장하고자합니다. 이것은 머리와 데이터베이스 기술에있어 까다 롭고 복잡합니다 .-). 뿐만 아니라 (동일한) 제품은 다양한 크기와 프라이팬 레벨을 가질 수 있으므로 (예 : 광고 항목) 토핑을 선택할 수있는 피자와 같이 다양한 재료 (추가 기능)를 가질 수 있어야합니다.

enter image description here

하지만이 오른쪽 구조 또는 그것을 할 수있는 방법입니다 확실하지 않다 : 이것은 내가 지금까지 시도 무엇인가?

답변

1

이것은 제 제안입니다.

ProductOrderOrder 엔티티를 삭제하십시오. 그들은 ProductCartCart과 같습니다.

이제 ProductCart은이 서버로 전송되었는지의 경우 1 또는 0가 기반 synchronized 같은 속성이 있어야합니다.

이렇게하면 모델을 단순화해야합니다. Ingredient… 엔티티에 대해 그들은 나에게 괜찮은 것처럼 보입니다.

+0

다음에 제출하기 전에 페이지를 새로 고침하겠습니다 .-) –

+0

@DanShelly 문제 없습니다. 답장을 남겨주세요. 그것은 나를 위해 문제가되지 않습니다. –

+0

답장을 보내 주셔서 감사합니다. 정말 고맙습니다. – 7c9d6b001a87e497d6b96fbd4c6fdf

1

핵심 데이터에 대해 파악하지 못한 것이 있습니다. ProductOrder 엔티티는 본질적으로 조인 테이블입니다. 이 표에서 추가 속성을 추적하지 않을 경우에는 완전히 필요하지 않습니다.

대신 OrderProduct 사이에 다 대다 관계가 있어야합니다.

이 경우에는 ProductCart이 위의 조건을 충족하는 것처럼 보일 수 있습니다.이 경우 조인 테이블이 적합합니다. 하지만 아니요 - 단순히 장바구니에 주문을 추가하고 Order 엔티티에있는 모든 정보를 추적해야합니다.

+0

귀하의 답변에 동의하지만이 경우 해당 엔티티는 부울 값으로 축소 될 수 있으므로 유용하지 않습니다. 어쨌든 제 개인적인 충고입니다. –

+0

필요하거나 편리하다고 판단되는 경우 제 대답에 귀하 또는 귀하의 부울 값이 포함될 수 있습니다. – Mundi

관련 문제