個々の部品とキット (アセンブリ) の在庫を追跡する必要がありますが、満足のいく方法が見つかりません。偽の非常に単純化されたデータベースの例:
テーブル製品: 製品 ID 1 prodName フラックス コンデンサ 製品コスト 900 製品価格 1350 (900*1.5) prodStock 3 - 製品 ID 2 prodName ミスター・フュージョン 製品コスト 300 製品価格 600 (300*2) 製品ストック 2 - 製品 ID 3 prodName タイムトラベル キット 生産コスト 1200 (900+300) 製品価格 1560 (1200*1.3) 製品ストック 2 テーブル関連 relID 1 relSrc 1 (フラックスコンデンサ) relType 4 (のサブパーツです) relDst 3 (タイムトラベルキット) - relID 2 relSrc 2 (フュージョン氏) relType 4 (のサブパーツです) relDst 3 (タイムトラベルキット)
prodPrice: コストに基づいて計算されますが、線形ではありません。この例では、コストが 500 以下で、マークアップは 200% です。500 ~ 1000 のコストの場合、マークアップは 150% です。1000+ のコストの場合、マークアップは 130% です。そのため、タイムトラベル キットは個々のパーツよりもはるかに安価です。
prodStock: これが私の問題です。私はキットまたは個々のパーツを販売できるので、キットの在庫は仮想です。
購入時の問題: Time Travel キット全体 (1 つのバーコード付き) を販売しているプロバイダーもあれば、個々のパーツ (別のバーコード付き) を販売しているプロバイダーもあります。 .
販売するときの問題: キットのみを販売する場合、在庫の計算は簡単です: 「3 つのフラックス コンデンサーと 2 つの Mr Fusions があるので、2 つのタイム トラベル キットと 1 つのフラックス コンデンサーがあります」しかし、キットまたは個々のパーツを販売できます。 . そのため、個々のパーツと可能なキットの在庫を同時に追跡する必要があります (販売価格を補償する必要があります)。
おそらくこれは本当に簡単ですが、簡単な解決策がわかりません。再開: 在庫を追跡する方法を見つける必要があり、データベース/プログラムがそれを実行する必要があります (店員に在庫の修正を依頼することはできません)。
私はphp + MySqlを使用しています。しかし、これはプログラミングの問題というよりも論理的な問題です
更新: 残念ながら、Eagle のソリューションは機能しません。
- 関係は再帰的であり、再帰的です (あるキットは別のキットを使用します)。
- 同じ部品を複数使用するキットがあります (フラックス コンデンサ 2 個 + Mr Fusion 1 個)。
- キットの在庫の値を保存する必要があります。ユーザーが部品を購入したい Web ページにも同じデータベースが使用されます。そして、利用可能な在庫を表示する必要があります (そうしないと、購入しようとさえしません)。また、ユーザーが Web ページで検索するたびに株価を計算する余裕はありません。
しかし、株式を仮想としてマークするブール値のアイデアが好きでした