1

カスタム機械加工部品を販売するために自分の店を設計しました。現在、私の製品は実際には製品 (オプション) のパッケージです。スキーマは次のようになります。

types
    id, name

products
    id, type_id, name

optiontypes
    id, name

options
    id, type_id, name

product_option
    id, product_id, option_id

carts
    id, session, product_id

cart_option
    id, cart_id, option_id

orders
    id, name

order_option
    id, order_id, option_id

私の問題は、パッケージを購入したことがあり、交換用に単一のアイテムを購入したいリピーターがいるということです. オプションタイプをタイプにマージし、オプションを製品にマージすることを考えていましたが、パッケージ化された製品または単一の製品をどのように把握すればよいでしょうか?

編集

BOMについて読んだ後 - pstのコメントからモジュラー部品表を読んだ後、これは私がやろうとしていることです:

------------------------------------

ORDER: 1001

package1
    module1
        component1
        component2
    module2
        component3
        component4
        component5

------------------------------------

ORDER: 1002

component1
component5

------------------------------------

ORDER: 1003

package2
    module1
        component1
    module2
        component3

------------------------------------

両方を最大限に活用するためのソリューションを見つけるにはどうすればよいでしょうか?

4

1 に答える 1

1

パッケージには 1 つ以上のパーツが含まれています。顧客は、1 つまたは複数のパッケージおよび/または 1 つまたは複数のパーツを注文できます。オプションが何であるかわからないので、多かれ少なかれそれを *part_type* とマージしたので、アルミニウム パーツ タイプとドリル加工済みアルミニウム パーツ タイプがあるかもしれませ

あなたの注文は、注文されたパッケージと、注文された個別の部品を追跡します。私の理解が正しければ、パッケージのコンポーネントとして販売されているパーツと、単体で販売されているパーツとの間に物理的な違いはありません。購入方法を追跡できる必要があるだけです。このように設定すると、それを追跡できます。

packages
    id              unsigned int(P)
    description     text // This package contains all the parts you need to build SuperMegaWidget!

packages_parts
    id              unsigned int(P)
    package_id      unsigned int(F packages.id)
    part_id         unsigned int(F parts.id)

part_types
    id              unsigned int(P)
    name            varchar(50) // Aluminum, Brass, whatever, etc.

parts
    id              unsigned int(P)
    part_type_id    unsigned int(F part_types.id)
    name            varchar(50) // Widget A, Widget B, etc.

orders
    id              unsigned int(P)
    ... lots of other information in here

orders_packages
    id              unsigned int(P)
    order_id        unsigned int(F orders.id)
    package_id      unsigned int(F packages.id)

orders_parts
    id              unsigned int(P)
    order_id        unsigned int(F order.id)
    part_id         unsigned int(F parts.id)
于 2012-10-18T00:00:11.497 に答える