ここに私のノート/意見があります。あなたはカーディナリティーを見逃していますが、私はそれらを推測するために最善を尽くします。
:2よりも1つのフィールドに検索するより速く、より安全に削除する、など
あなたは上のどのような検索を行うだろうイド?実行するクエリは、「アイテムのすべてのカテゴリの取得」および「カテゴリのすべてのアイテムの取得」です。なぜ私は削除する方が安全だろうか分かりません。しかし、異なるIDを持ち、同じcategory_idとitem_idのペアを持つ可能性があるため、id
を追加すると挿入しにくい場合があります。あなたが制約をチェックして、ペアがユニークであることを確認する必要があります(とのPKが使っているものそれはない?)
items
okです...(下のコメントを参照してください)
- 削除
item_options
からid
は、(上記および下記のコメントを参照してくださいと同じケース)
option_types
今すぐ
OKですが、私は項目やオプションが関係している方法は、より多くの思考が必要になると思います。それは多対多関係のようです。 Tシャツのようなアイテムは多くのサイズを持つことができるので、それぞれのアイテムとオプションはそれぞれ異なるサイズにする必要があります。しかし、サイズとは別に、綿や革などの素材が違うとどうなりますか?ペアの綿S、綿M、綿L、皮S、皮M、皮Lについての情報が必要です。これは、私がかなり確信しているので、それらのすべてが異なる価格と重量を持つように意味があります。しかし今はTシャツに2色を追加しましょう。私たちが今持っている12の組み合わせのそれぞれに価格と重量を加えなければなりません。
ユーザーが商品の価格を見たい場合は、価格に達するまですべてのオプションを選択する必要があります。私はrequiremetsを認識していないので、これをどうすればいいのか分かりません。私はちょうどアイデアを投げている:あなたは、アイテムの一部であるベース価格と重量以上の価格と重量の変動を適用することができます。寝る前に
ただ、いくつかの未処理の考え:
option_types
は慎重にあなたがそのデザイン与えstock
を処理する方法を考える階層
- のいくつかの種類である可能性があります。あなたは黒のTシャツのために10のアイテムを持っています...しかし、あなたは黒のレザーのTシャツのためにどれくらいのアイテムを持っていますか?その数字は元の10の数字とどう関係していますか?
どのソフトウェアで画像を作成しましたか? – mpm
'(category_id、item_id)'と '(item_id、option_id)'を主キーにするのではなく、 'item_categories'と' item_options'に 'id'属性があるのはなぜですか? –
@camus http://ondras.zarovi.cz/sql/demo/ – neokio