PHPで構築されたeコマースサイト(Webアプリケーション)があります。
製品には、携帯電話、Tシャツ、時計、本など、さまざまな種類があります。
私の質問は次のとおりです。
すべての属性をProducts
と呼ばれる単一のテーブルに保存する方が良いですか(多くの'NULL'
マークが作成される場合でも)?
Mobiles
、Tshirts
などのさまざまなテーブルにさまざまなタイプの製品を保存しますか?
2番目のケースでは、さらに多くのテーブルが作成されます。以下の2つの画像を参照してください。
コメントで示唆されているように、私はEAVモデルを使用しているので、次のデザインを描きました[画像3]:
回答で提案されているように、eavの代わりに、3つのテーブルすべてを1つのテーブルにproduct_information + attributes_list + attributes_values = products information
として結合しました。すべてを1つのテーブルに描画しました[画像4]:
画像3または画像4を使用する必要があるかどうかを教えてください。
あなたにもできることは、次のとおりです。 product_id、property、valueの3つの列を持つテーブルを作成します。したがって、必要以上のテーブルは取得できません。しかし、それは好みの問題です。