2016-05-24 10 views
0

私はファーストフード店を管理するためのWebアプリケーションを作成しています。この状況をカバーする必要があります。そのストアには他の製品と単一の製品で作られた製品があります。MySQLで製品で作られた製品を表現する方法は?ネストされたセットまたは何か他の?

例:バーガー(パン、牛肉、チーズ)1個とソーダ缶1個を販売しています。

パン1個、牛肉200g、チーズ50g、ソーダ缶1個を割引で購入する必要があります。 )の製品(バーガー、ソーダとも在庫量を格納し、他の「売れる」製品)のことができ、

2)成分(パン、牛肉

1、:私はこの使用してテーブルを解決していますチーズ等)を含み、これには在庫量も格納されている。3)ingredients_products(associative)。製品中の成分の量も保存します。

「購入」を登録する必要があるときに問題が発生します。一回の購入で私は単一の製品(ソーダ10缶)と成分(10kgチーズ)を持つことができるので、各商品が在庫量を増やすための製品であるか成分であるかを特定する必要があります。

木やネストされたセットのように見えるのは、1つの製品が複数の製品で使用できるためです。たとえば、チーズはピザ、ハンバーガー、その他の食事で使用できます。

これを解決するための提案はありますか?

答えて

0

あなたのアイデアのように製品が表現されている場合、ビジネスロジックとフロントエンドの表現は非常に複雑になります。私はそれを簡単に保つことを好むだろう。

すべての販売アイテムは個別アイテム(一意のSKU)として表されます。

例えば:

  • チーズ、それが500グラム、千グラムと2000グラムのパッキングを持っているでしょう。したがって、一回の購入では、チーズ5 x 2000gの在庫を差し引くことができます。したがって、データベーステーブル内5.

    本控除 "2000グラムチーズ" の積

    チーズ500グラム

    • PRODUCT_NAME:チーズ500グラム
    • SKU:cheese_500g
    • 数量:20

    チーズ千グラム

    • PRODUCT_NAME:チーズ千グラム
    • SKU:cheese_1000g
    • 数量:それがはるかに容易ソーダの10
  • することができます。彼らは、プレパックされているシステムではそう、あなたの意志この

    • PRODUCT_NAMEのような製品の単一のレコード:ソーダ330ミリリットル
    • SKU:soda_330ml
    • 数量:500
  • ピザ

    • 商品名:ピザ
    • sku:ピザ
    • 数量:5
関連する問題