برگزیده های پرشین تولز

به نظر شما کدام روش مناسب تره ؟

homayo0on

Registered User
تاریخ عضویت
25 آگوست 2011
نوشته‌ها
555
لایک‌ها
620
من php کارم ولی این سوال بیشتر به بانک اطلاعاتی مربوطه تا asp
این نظری که میدم صرفاً نظر شخصیم هست و حتی شاید اشتباه هم باشه.

حالت اولی که فرمودید حالت ساده ای از برنامه نویسی پویا هست.
ولی مشکلاتی با این کار پیش می آد،
مثلا اگر بخواید رو این اطلاعاتی که به عنوان custom filed ذخیره کردید امکانی مثل جستجو بر اساس یک فیلد سفارشی شده بزارید باید از Wildcard استفاده کرد که با توجه به تعداد زیاد و حجم بالای تکست ها چندان استاندارد نیست و فشار بالایی به دیتابیس میاره !

حالت دوم بیشتر ایستا میشه و برای اضافه کردن هر بخش باید هم دیتابیس ویرایش بشه هم سورس برنامه با زیاد شدن بخش ها هم جداول خیلی زیاد میشن، ساده ترش خر تو خر میشه !

پیشنهاد شخصی:
با فرض اینکه هر بخش یک دسته کالایی یا همون دسته بندی باشه یه جدول به نام categories بسازید در ابتدایی ترین حالت دو تا ستون id, name براش قرار بدید
یک جدول دیگه با نام categories_meta_tags بسازید و چهار تا ستون id, cat_id, key, name براش قرار بدید
یک جدول دیگه با نام categories_meta_data بسازید و چهار تا ستون id, post_id, key_id, value براش قرار بدید.

در جدول اول دیتا به این شکل میشه بر فرض مثال
1 - موبایل
2 - لب تاب​

تو جدول دوم دیتا به این صورت میشه
1 - 2 - model - مدل
2 - 2 - brand - برند
3 - 2 - os - سیستم عامل
4 - 1 - os - سیستم عامل
5 - 1 - model - مدل
تو جدول سوم دیتا به این صورت میشه
1 - شماره کالا - 5 - مدل کالا
2 - شماره کالا - 4 - سیستم عامل کالا
میدونم کمی گنگ بیان کردم ، من فقط منظورم اینه که تو سه تا جدول با رابطه صحیح این رو در بیارید خیلی بهتره و به شدت پویا تر و قابل انعطاف تر
جدول اول نام دسته ها رو میگیره
جدول دوم فیلد های دسته رو میگیره
جدول سوم برای هر پست با توجه به فیلدهای داده شده سطر تولید میکنه مثلا اگر برای هر دسته 10 تا فیلد قرار بدیم و جمعا چهار پست داشته باشیم این جدول 40 تا سطر خواهد داشت
 

Mbt925

کاربر تازه وارد
تاریخ عضویت
30 سپتامبر 2010
نوشته‌ها
71
لایک‌ها
29
بنظر بنده هم روش آقای @homayo0on روش بهتری هست
 

alirezador

Registered User
تاریخ عضویت
6 اکتبر 2014
نوشته‌ها
76
لایک‌ها
12
سن
39
محل سکونت
تبریز
استاندارد نوع اولی که مشخص کردید درسته چون تعریف sql server این است که کمتر از 5 میلیارد رکورد واسه این پایگاه داده مناسب نیست( البته گفته خودشونه)
در روش پیشنهاد شده بالا فقط برای حالهای درست است
 

samiaco8564

کاربر تازه وارد
تاریخ عضویت
30 سپتامبر 2014
نوشته‌ها
6
لایک‌ها
0
سن
38
به نظر من هیچکدام از دو روش گفته شده به درد نمیخوره...
بهتره که شما یک جدول مستر داشته باشید و یک جدول سکند (second) که توی مستر گروه کالایی ذخیره بشه و توی سکند جزئیات مربوط به مستر ...
 

samiaco8564

کاربر تازه وارد
تاریخ عضویت
30 سپتامبر 2014
نوشته‌ها
6
لایک‌ها
0
سن
38
به نظر من هیچکدام از دو روش گفته شده به درد نمیخوره...
بهتره که شما یک جدول مستر داشته باشید و یک جدول سکند (second) که توی مستر گروه کالایی ذخیره بشه و توی سکند جزئیات مربوط به مستر ...
طراحی سایت بهینه سازی سایت طراحی وب سایت
 

worship_u

Registered User
تاریخ عضویت
25 فوریه 2010
نوشته‌ها
289
لایک‌ها
195
محل سکونت
تو طاقچه
یک جدول باید جدول اصلی باشد و یک جدول ،جدول جزییات که توسط یک کلید با هم لینک شوند
در جدول اصلی هم یک مشخصه باینری میگذارید برای اینکه معلوم بشه کالا گوشی هست یا موبایل مثلا اگر صفر بود موبایل هست و اگر یک بود لب تاپ
 
بالا