View Full Version : برای اختصاص چند دسته بندی به مطلب چه روشی را توصیه میکنید؟
beyond
پنج شنبه 17 مهر 1393, 19:18 عصر
سلام
طراحی این دیتابیس رو تازه شروع کردم.
به نظر شما این روش برای اختصاص چند دسته و چند رنگ به یک محصول مناسبه ؟
اگر مناسب نیست چه روشی رو توصیه میکنید.
124387
pswin.pooya
پنج شنبه 17 مهر 1393, 22:01 عصر
این طراحی که داغونه.
اول از همه product باید قیلدهای مثل رنگ و ... رو داشته باشه. بنابراین داخل جدول colors مقداری به اسم product id نداریم.
بعد چون quntiy به انبارداری ربط داره باید توی جدول جدا باشه. (می تونید از یه محصول چند بار وارد انبار کنید با قیمت های مختلف. بعد برای محاسبه سود و ... باید روشهای مختلفی رو در نظر بگیری)
مورد بعدی اینه که یه محصول که 10 تا ازش داری. همشون نمی تونن id warranty یکسان داشته باشن. پس برای هرکدوم هم یه رکورد داخل یه جدول دیگه لازم داری.
زمانی که جدول category product rel رو داری به فیلد category id در product نیازی نیست. مگر اینکه بخوای محصول یه دسته بندی اصلی داشته باشه.
اینجوری انعطاف پذیری سیستم خیلی کم هست. میتونی از روش EAV استفاده کنی که از سه جدول استفاده میکنه. Entity، Attribute و value. جدول entity که همون product هسته. جدول attribute مثلا رنگ رو داخلش تعریف میکنی و جدول value مقدارش رو ذخیره میکنی. برای مواردی که مثل رنگ هم مجموعه ای هستند میتوی یه جدول دیگه هم اضافه کنید که اون مقادیر رو نگهداری کنید.
نرخ رو هم به همراه تعداد به یه جدول دیگه انتقال بدید
beyond
پنج شنبه 17 مهر 1393, 22:37 عصر
این طراحی که داغونه.
اول از همه product باید قیلدهای مثل رنگ و ... رو داشته باشه. بنابراین داخل جدول colors مقداری به اسم product id نداریم.
بعد چون quntiy به انبارداری ربط داره باید توی جدول جدا باشه. (می تونید از یه محصول چند بار وارد انبار کنید با قیمت های مختلف. بعد برای محاسبه سود و ... باید روشهای مختلفی رو در نظر بگیری)
مورد بعدی اینه که یه محصول که 10 تا ازش داری. همشون نمی تونن id warranty یکسان داشته باشن. پس برای هرکدوم هم یه رکورد داخل یه جدول دیگه لازم داری.
زمانی که جدول category product rel رو داری به فیلد category id در product نیازی نیست. مگر اینکه بخوای محصول یه دسته بندی اصلی داشته باشه.
اینجوری انعطاف پذیری سیستم خیلی کم هست. میتونی از روش EAV استفاده کنی که از سه جدول استفاده میکنه. Entity، Attribute و value. جدول entity که همون product هسته. جدول attribute مثلا رنگ رو داخلش تعریف میکنی و جدول value مقدارش رو ذخیره میکنی. برای مواردی که مثل رنگ هم مجموعه ای هستند میتوی یه جدول دیگه هم اضافه کنید که اون مقادیر رو نگهداری کنید.
نرخ رو هم به همراه تعداد به یه جدول دیگه انتقال بدید
بله تو طراحی دیتابیس تازه کار هستم.
منبعی برای یادگیری حرفه ای و سریع سراغ دارید ؟
میخوام طوری طراحی کنم که بشه کالا ها رو فیلتر کرد.
مثلا دسته بندی کامپیوتر کالا هایی که رنگ سفید دارن و رم 1 گیگ .
با مدل eav هم آشنا هستم ولی با این کار حجم جدول خیلی بالا میره و سرعت جسجو پایین میاد.
pswin.pooya
پنج شنبه 17 مهر 1393, 22:51 عصر
بله تو طراحی دیتابیس تازه کار هستم.
منبعی برای یادگیری حرفه ای و سریع سراغ دارید ؟
متاسفانه این امر کاملا تجربیه. بهترین راهش فروم و تجربه بقیه هست.
میخوام طوری طراحی کنم که بشه کالا ها رو فیلتر کرد.
مثلا دسته بندی کامپیوتر کالا هایی که رنگ سفید دارن و رم 1 گیگ .
این که مربوط به دستور SQL هست.
با مدل eav هم آشنا هستم ولی با این کار حجم جدول خیلی بالا میره و سرعت جسجو پایین میاد.
ایجاد جدولهای مختلف باعث ضربهای جدول متعدد و رکوردهای بیشتر میشه. در نتیجه فکر کنم سرعت پایینتر بیاد. فکر کنم همین طرح eav کا با حداکثر دوتا ضرب حل میشه. مناسبتر باشه. برای موارد دیگه مثل تعداد کالاها و قیمتها می تونید جدولها رو آرشیو، پارتیشن بندی و ... بکنید. خیلی دوست دارم نظر دوستان رو برای افزایش سرعت توی این موارد بدونم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.