سلام دوستان. می خواستم یه فروشگاه رو پیاده سازی کنم از دوستان کمک در رابطه با طراحی بانک اطلاعاتی می خواستم
در یه فروشگاه لباس محصولاتی با
رنگ های متفاوت:ممکنه محصول تک رنگ و یا شامل چندین رنگ باشه که معمولا کاربر از اسامی رنگ ها در اون استفاده می کنه
سایزهای متفاوت: سایز های یه محصول ممکنه عدد باشه مثلا 30 -32 -34-36-38 یا larg - xlarg , ...
تعداد در هر سایز :در هر یک از سایز ها موجودی متفاوت هست. مثلا شلوار با رنگ سفید لارج تعداد 10 تا و شلوار با رنگ سفید لارج تعداد 3 تا
وزن: برای بعضی از محصولات در وزن مهم هست البته توجه کنید که با توجه به سایزشون
جنس محصولات:برای محصول شلوار یه جنس بیشتر نیست اما برای محصول کت دامن که جنس کت با جنس دامن متفاوت هست 2 جنس متفاوت داریم.
قیمت: در حال حاضر قیمت یه محصول در سایزها و رنگ های مختلف یکسان هست.
دسته بندی های متفاوت محصولات: دسته بندی برای نوع لباس، دسته بندی در مورد جنس لباس، دسته بندی برندهای لباس
وجود داره و البته دسته بندی های بیشتری که می تونه تعریف کنه. تمام دسته بندها رو توی یه جدول گذاشتم با parent_id و با type متفاوت مثلا type =2 برای برندها، type =3 برای نوع محصولات ، type =4 برای جنس، type=5 برای رنگ، type=6 برای سایز ها
جدول محصولات products
... |
attr |
brand_is |
cat_id |
price |
title |
id |
|
|
38 |
5 |
2000 |
شلوار جین 2015 |
1 |
|
|
25 |
6 |
1500 |
شلوار پارچه ای 2015 |
2 |
فیلد attr برای نگهداری خصوصیاتی که بعدها اضافه حواهد شد در نظر گرفته شده
جدول تمام دسته بندی ها cat
image |
type |
parent_id |
title |
id |
|
3 |
3 |
پیراهن |
15 |
|
4 |
20 |
کتان |
30 |
|
5 |
0 |
قرمز |
40 |
|
6 |
0 |
larg |
50 |
|
6 |
0 |
xlarg |
51 |
|
6 |
0 |
32 |
55 |
productsColor(رنگ های یک محصول)
colors |
image |
colorName |
Products_id |
id |
33CC33-ffffff |
|
سبز / سفید |
2 |
1 |
ffffff-000000 |
1.png |
سفید / طرح دار |
2 |
2 |
ffffff |
2.png |
گل سفید |
1 |
3 |
FF0000-0099FF |
|
قرمز و آبی |
2 |
4 |
سایزهای رنگ محصولاتproductsColorSize
weight |
count |
Size_id |
productsColor_id |
id |
75 |
4 |
50 |
2 |
1 |
80 |
6 |
51 |
2 |
2 |
NULL |
10 |
52 |
3 |
3 |
10 |
2 |
NULL |
7 |
4 |
با توجه به فازهای بعدی این پروژه و درخواست های مختلف خیلی چیزهای رو نمی تونم به سادگی ازش عبور کنم بخاطر همین
1- آیا ثبت جنس محصولات در جدول cat با type=4 و گذاشتن یه جدول واسط بین این دو جدول منطقی هست؟ یا اینکه جنس ها بجای ذخیره در جدول واسط در فیلد attr جدول product بترتیب ذخیره بشه. با توجه به آینده پروژه
2- آیا جدول رنگ های محصولات درست هست؟(مکانیزم بهتری هست؟)
3- چه مکانیزمی برای جستجو محصولات بر اساس رنگ پیاده سازی کنیم؟
دوستان اشکالات و مواردی که بایستی بهش توجه کنم رو ارسال کنید
ممنون - در ادامه به مباحث دیگری خواهیم پرداخت
اصلاحات :
ممکنه محصولاتی داشته باشیم که سایز نداشته باشند، که فکر می کنم با NULL کردن فیلد size_id می تونیم این مشکل رو حل کنیم (جدول productsColorSize)