2012-03-15 8 views
0

こんにちは私はデータベースを設計しています。私はデータベース関係と正規化にほとんど経験がないので、私と一緒に裸にしてください。マルチカラープロダクトのデータベーススキーマ

ここに必要なものは次のとおりです。 各製品には複数の色があります。 各製品は特定のカテゴリに属している必要があります。 各カテゴリにはサブカテゴリがあります。

例の関係はここに私のデータベース設計は、これまでのところです

Eyes[Cat] 
    EyeProduct[Product] 
     Color1[color] 
     ... 
     ColorN[color] 

Lips[Cat] 
    Lipgloss[Subcat] 
     CoolLipgloss[Product] 
      Color1[color] 
      ... 
      ColorN[color] 

次のようになります。

Categories 
-id  (pk) 
-subcat_id (fk) 
-name 
-description 
-active  (boolean) 

Sub Category 
-id   (pk) 
-product_id  (fk) 
-name 
-description 


Products 
-id  (pk) 
-name 
-price 
-weight 
-descritpion 
-ingredients 
-product_img 
-active  (boolean) 

SKU 
-sku (pk) 
-product_id  (fk) 
-name 
-image_small 
-image_med 
-image_Lrg 
-active  (boolean) 

は、画像テーブルを実装するために良いでしょう。この表は、各SKU(カラー)および追加の製品画像に使用されるすべての画像への参照を保持します。私はそれが各skuエントリーが複数の写真を同様に持つことができるのでより意味があると思う。どんな入力も歓迎です。

答えて

0

関係(FK)に関するほんのノートは、私は彼らが変更されるべきだと思う:

Categories 
-id  (pk) 
-name 
-description 
-active  (boolean) 

Sub Category 
-id   (pk) 
-category_id  (fk) 
-name 
-description 


Products 
-id  (pk) 
-subcategory_id  (fk) 
-name 
-price 
-weight 
-descritpion 
-ingredients 
-product_img 
-active  (boolean) 

SKU 
-sku (pk) 
-product_id  (fk) 
-name 
-image_small 
-image_med 
-image_Lrg 
-active  (boolean) 

ところで。画像に部分パスを使用すると、2つのテキストフィールドが保存されます。たとえば あなたはSKU 1111のための3枚の画像を持っている:「small.jpg」を追加することによってのみ「を/ tmp/image1111」を格納する必要がある、との完全なパスが復元されるだろう実際に

/tmp/image1111small.jpg 
/tmp/image1111med.jpg 
/tmp/image1111lrg.jpg 

、「med.jpg」それに応じてパスに "lrg.jpg"を追加します。

関連する問題