یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
افشار محمودیان
3 سال پیش توسط افشار محمودیان مطرح شد
4 پاسخ

ذخیره اطلاعات در دیتابیس

سلام وقت دوستان بخیر

بهترین راه ذخیره دیتا در دیتابیس ( mysql ) بصورت هفتگی چیه ؟

به این صورت که تو یک جدول ، هر هفته داده های مربوطه رو داشته باشه و رکورد های هفتگی duplicate هم نشه.


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

متوجه نمیشم چرا duplicate بشه؟!
اگر براساس فیلد تاریخ کار کنید چه چیز تکراری دارید؟
مثلا شما روز های هفته (شنبه، یکشنبه و...) رو فیلدش رو یونیک در نظر نگیری ، یک فیلد دیگه اضاف کنی که تاریخ اون روز و یک فیلد هم بعنوان یوزر ایدی براش در نظر بگیری. که در validator خودتون چک کنید که یک کاربر در هفته دیتای تکراری وارد نکنه.
توضیح تصویر رو وارد کنید

اگر درست متوجه شده باشم جدول شما اینجور میشه حالا یک تیبل دیگه یا یک فیلد برای اون دیتات در نظر میگیری .


افشار محمودیان
تخصص : برنامه نویس
@afsharmahmoodian 3 سال پیش مطرح شد
0

@juza66
نه متوجه منظورم نشدید ...
من یک جدولی دارم که رکوردی که مربوط به یک ماهی هست رو بصورت زیر مشخص میکنم که این رکورد برای چه سالی و چه ماهی هست.
زیر
حالا میخوام این رو به هفتگی تغییر بدم... اما فکر میکنم که روش بهتری باید باشه ، تا اینکه یک ستون دیگه اضافه کنم به نام week ...


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
1

حالا میخوام این رو به هفتگی تغییر بدم

خب همون فیلد week رو اضاف کن

اما فکر میکنم که روش بهتری باید باشه ، تا اینکه یک ستون دیگه اضافه کنم به نام week

سناریو رو اگر میشه کامل توضیح بده تا بشه بهتر راهنمایی کرد


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
1

من جای شما بودم بجای ستون های مجزا برای سال و ماه و هفته دو تا فیلد با نوع Date قرار میدادم که بیانگر شروع و پایان دوره بصورت میلادی باشه. و بقیه منطق و محاسبات رو میبردم سمت کدهای برنامه.
اینجوری اولا کار تمیزتر به نظر میاد. ثانیا با هیچ محدودیتی در ادامه مواجه نخواهید شد. و در آخر از نظراتی ممکنه باعث بهبود Performance هم بشه. چون mysql برای کار با تاریخ ها از خیلی جهات بهینه سازی شده و کافیه موقع کوئری گرفتن از whereDate یا whereBetween و ... مطابق با مستندات لاراول استفاده کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام