تعداد فیلدهای یک جدول را چطور مدیریت کنیم

3 ماه پیش
توسط T.chegini آپدیت شد
سید حسین رضوی ( 43251 تجربه )
3 ماه پیش
تخصص : برنامه نویس وب و طراح رابط کاربری

با سلام خدمت اساتید، ببخشید ما در یک جدول اگه فیلدهای زیادی داشته باشیم مشکلی هست یا خیر؟
به عنوان مثال در جدول محصول 20 فیلد داریم آیا این 20 فیلد در یک جدول باشند بهتره یا اینکه فیلد های اصلی رو داشته باشیم و یک جدول تحت عنوان متا حصولات اضافه کنیم؟
و سوال بعدی اینکه مثلا برای همین محصولات ما قراره چند مورد رو داشته باشیم براشون مثل رنگ، سایز، وزن و... اینا رو در جدول جداگونه ذخیره کنیم بهتره یا اینکه یک فیلد متن داشته باشیم و این داده ها رو به صورت جیسون ذخیره کنیم بهتره

سوال دوم با اول متفاوته
سوال اول منظورم این فیلدهاست
نام محصول - توضیحات - کاربر - قیمت - تخفیف - تاریخ اتمام تخفیف - تعداد فروش - تعداد نظر - وضعیت و....
در سوال دوم اسم فیلد ها متفاوته و باید به صورت کی ولیو ذخیره بشه

Mohammad ( 12340 تجربه )
3 ماه پیش
تخصص : Back-End developer

سلام.
در رابطه با سوال اول
محدودیتی توی تعداد فیلد ها نیست اما فیلدهایی که شما نام بردین اکثرا نیاز به جداول دیگه ای داره.
به عنوان مثال تخفیف روی یک محصول و تاریخ اتمام اون تخفیف رو شما باید در جدول تخفیف هاتون نگه دارین یا همینطور تعداد فروش رو میتونید با استفاده از تعداد سفارشات از اون محصول به دست بیارین ونیازی به قرار دادن فیلد نیست.
سوال دوم:
داشتن یه جدول جدا رو پیشنهاد میکنم.

علیرضا معمارزاده ( 42494 تجربه )
3 ماه پیش
تخصص : junior level developer

@hossein.r.1442
سلام ارادت
یه فیلد رو برای محصول بگیرید بعد اون محصول خودش شامل چندین فیلد بشه بهتره از نظر من (مدیریت کردن کوئری هاش راحتتر میشه)

سیدعلی موسوی ( 89066 تجربه )
3 ماه پیش
تخصص : سی شارپ و پی اچ پی

سلام همانطور که دوستمون بالا اشاره کردن اگر فیلدهای که نیاز به نمایش داری تویی یک جدول باشه فرقی نمیکه زیاد باشن یا نه خیلی خوبه باعث میشه شما با یک کوئری و اتصال به دیتابیس اطلاعات اون محصول رو داشته باشی ولی کد تخفیف و شمارش محصولات فروخته شده رو دوستموم Mohammad اشاره کردن.

سید حسین رضوی ( 43251 تجربه )
3 ماه پیش
تخصص : برنامه نویس وب و طراح رابط کاربری

@mhmdkavosi @juza66 @alireza.mzh
با سلام ممنون از شما دوستان که زحمت کشیدین و پاسخ دادین منظورم از تخفیف توی جدول کد تخفیف نبود منظور این بود که محصول 20000 فروشنده میگه تا تاریخ فلان اینو من با 50 درصد تخفیف ارائه میدم و درمورد تعداد فروش به نظر من اشتباه ترین کار ممکن اینه که برای نمایش این باییم و از کوئری استفاده کنیم یعنی ببینیم چندتا فروخته و نمایش بدیم، چون قطعا چندجا استفاده میشه این مورد پس بهتره یه فیلد قرار بگیرهتحت عنوان تعداد فروش وهنگامی که سفارشی ثبت شد یکی بهش اضافه بشه و هرجا نیاز به نمایشش بود از این فیلد استفاده کنیم این یک ترفند برای کاهاش ریکوئست هستش، شما تعداد فروش، تعداد نظرات و..... رو در نظر بگیرید اگه برای همشون بیایم و کوئری بزنیم برای نمایش ببینیند چه تعداد ریکوئیست نیازه ولی با این ترفند ما تعداد ریکوئست رو میاریم پایین

Mohammad ( 12340 تجربه )
3 ماه پیش
تخصص : Back-End developer

سلام.
برای این مدل تخفیف هم باید جدول جدا داشته باشید تا مدیریت بهتر و توسعه راحتر بشه.
نکته دوم رو بر اساس اصول نرمال سازی و وابستگی تابعی (FD) گفتم ،که اونجا میگه:
فیلدهایی که بشه مقادیر اونهارو با کوئری زدن روی جدوال دیگه به دست آورد باید از به وجود آوردنشون صرف نظر کرد.

T.chegini ( 1750 تجربه )
3 ماه پیش

تعداد فیلدهای هر جدول بستگی به تحلیل پروژتون داره. من الان جدولی دارم که 80 تا فیلد داره. دوستان جواب سوال شما رو دادن، اما من میخوام بهتون پیشنهاد کنم که برای رفع مشکل این پروژه و پروژه های بعدیتون، حتما بحث طراحی جداول و افزونگی در جداول رو مطالعه کنید تا دقیق متوجه بشید که چطور باید فیلدهای یک جدول، کلیدهای اصلی و خارجی و ارتباط بین جداول رو مشخص کرد.

برای ارسال پاسخ باید وارد سایت شوید