2016-04-30 6 views
0

私はかなり一般的な問題ですが、その名前(パッケージ)のために検索するのは難しいですすべてが「物理的パッケージ」という意味です...)。'パッケージ'のRDBMSモデルも別のパッケージの一部になる可能性があります

私は基本的に、2つの箱があるような、梱包できる製品があります。

これらの個々のボックスは、その中の10個が行くカートンに入れられます。したがって合計で箱に20の製品があります。

しかし、この設定は、必ずしも2/10である必要はなく、1/20またはそれ以上のネストにすることもできます。 1/5/4(まだ合計20製品)。

一部のRDBMS(例:MySql)でテーブル/参照を作成するにはどうすればよいですか?

+1

Googleの「Bill of Materials」は、データベース設計に関するものです。 –

答えて

0

最初は、データベース設計の問題ではなく、ほとんどの努力が要件を明確にするようになっているように見えます。

あなたのデータは何ですか?これらはデータベースに格納されます。それらから較正することができるすべてのデータは、冗長であるため、格納する必要はありません。あなたの説明から、私は結論として、箱の数は与えられますが、箱の中の製品の包装(あなたの1/5/4例)は決まっていません。全製品数がこれを表現するために20を超えないようにそれがあれば、製品のパッケージを許可されていることを意味し、

Product(id, name, ..., max_in_box, ...) 

ようなテーブルの設計は十分であろう。

ただし、これは物理的に不満足なことがあります。 20個の製品をすべて含むパッケージが実際に箱に収まるかもしれません。これを表現するには、製品、パッケージ、ボックスの長さ/幅/高さを格納し、特定の組み合わせが適合するかどうかをアルゴリズムで判断する必要があります。

ボックスの種類が異なる場合は、別の拡張が必要な​​場合があります。 max_in_box属性は、製品に配置することはできませんでしたが、製品をボックスタイプにリンクする別のエンティティ/テーブルに配置されました。

関連する問題