銃器や関連商品を販売するオンラインストアを作成しています。データベース(MySQL)がサイトのバックボーンになるので、私はデータベース(MySQL)の完成に取り組んできました。私の問題は、正規化を優先したまま、データベースのレイアウト方法に頭を悩ませることができないことです。このサイトには多くの製品があり、ほとんどが同じ情報を持っていますが、多くは微妙な違いがあります。
たとえば、弾薬の場合、4つのカテゴリがあり、4つのうち3つは同じ情報を持ち、最後は違いがあります。同じ3つのテーブル用に1つのテーブルを作成し、情報が異なるテーブル用に別のテーブルを作成しますか?または、テーブルを作成して、その製品の違いを含む配列またはJSON文字列を格納できる列を作成しますか?
同じ問題を抱えている製品がたくさんあることを覚えておいてください。私は仕事を恐れていません。正しい道を進んでいることを確認したいだけです。
私のカテゴリの簡単なレイアウトを示しましょう。
• Firearms
• handguns (unique characteristics)
• centerfire rifles (unique characteristics)
• rimfire rifles (same as above)
• Ammunition
• rifle ammo (unique characteristics)
• handgun ammo (same as above)
• rimfire ammo (same as above)
• shotgun ammo (unique characteristics)
• Shooting Accessories
• there are many products here with unique characteristics
• Optics
• there are many products here with unique characteristics
• MANY MORE ...
製品という1つのテーブルを作成し、それらをすべてそのテーブルに配置したいと思いますが、微妙な違いがあるため、それは不可能だと確信しています。
*編集*
これが私が持つ属性の違いの例です:
• Rifle Ammunition
• manufacturer
• model
• caliber
• bullet weight
• bullet type
• number of rounds
• price
• description
• sku
• rating
• Handgun Ammunition
• SAME AS ABOVE
• Rimfire Ammunition
• SAME AS ABOVE
• Shotgun Ammunition
• manufacturer
• model
• gauge
• shell length
• shot weight
• shot size
• velocity
• price
• description
• sku
• rating
ライフル、ハンドガン、リムファイアは同じ量の属性を持ちます(10)。Shotgunには(11)属性があり、この問題のようなインスタンスは他にもたくさんあります。
見てくれてありがとう:)