آفلاین
user-avatar

تحلیل دیتابیس پروژه فروشگاه چند انباری

12 ماه پیش
توسط Mohammadreza Ghomi آپدیت شد
آفلاین
user-avatar
Mohammadreza Ghomi ( 60143 تجربه )
12 ماه پیش
تخصص : لاراول

سلام دوستان بنده در حال انجام یک پروژه هستم که میخوام زمانی که طراحی شده بعد از زیاد شدن درخواست ها و بالا رفتن رکورد ها توی دیتابیس در آینده مشکل ساز نباشه.

آیا به شکل زیر میشه عمل کرد؟


  1. محصول توسط یک رابطه چند به یک بدون جدول واسط به جدول گالری متصل است.

  1. محصول هم توسط یک رابطه چند به چند به جدول ویژگی ها مرتبط است.

  1. ابتدا محصولات بدون قیمت در لیست محصولات اضافه خوهند شد.

  1. تامین کننده (انبار) در صفحه ای محصولات مورد نظر خودش انتخاب میکنه و بهش قیمت میده و تعداد توسط یک رابطه چند به چند و جدول واسط که با pivot تعداد و قیت اضافه میشه.

  1. برای ثبت سفارش کاربر حتما باید لاگین کرده باشه و جدولی با نام order داریم که توسط یک جدول واسط به محصولات مرتبط که توی این جدول رابط با کمک pivot مقدار تعداد این کالا و آیدی تامین کننده ذخیره میشه.

  1. جدول order با یک جدول به نام payment برای پرداخت ها به شکل یک به یک بدون جدول واسط در ارتباط هستش.

  1. جدول order توسط یک جدول واسط دیگر به آدرس مورد نظر که قبلا کاربر در آدرس های خود ایجاد نموده مرتبط است.

  1. جدول order توسط یک جدول واسط به جدول زمانی که قبلا تعریف شده است در ارتباط است و توسط pivot یک فیلد به نام تاریخ دارد که تاریخ اون روز هم در آن ذخیره می شود.

  1. جدول order توسط یک جدول واسط به آیدی پیک متصل است.

  1. کاربر خریدار هم به جدول order توسط یک رابطه چند به یک بدون جدول واسط متصل است.

دوستان اگه جایی مشکل داره یا چیزی از قلم افتاده که نیاز اون اضافه کنم ممنون میشم کمک کنید.

آفلاین
user-avatar
Mohammadreza Ghomi ( 60143 تجربه )
12 ماه پیش
تخصص : لاراول

@ali.bayat
@hesammousavi


اگه میشه راهنمایی بفرمایید که برای پروژه بزرگ به این شکل عمل کردن کار درستی هستش یا خیر

آفلاین
user-avatar
رامین رضائی ( 19731 تجربه )
12 ماه پیش
تخصص : گرافیست سابق و برنامه نویس حال

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

یکی از بهترین پروژه های فروشگاه آنلاین توی گیت هاب saleor هست.
https://github.com/mirumee/saleor
البته پروژه های بهتری هم هست اما من فکر میکنم این به کار شما نزدیگ تر هست.
این پروژه با جنگو نوشته شده و 6.9 هزار ستاره داره !
میتونی به قسمت مدل ها و مایگریشن ها بری و خط ذهنی بگیری ازش !

این تجربه من هست !

آفلاین
user-avatar
Mohammadreza Ghomi ( 60143 تجربه )
12 ماه پیش
تخصص : لاراول

تشکر دوست عزیز ولی از کد هاش چیزی زیادی دستگیرم نشد چون زیاد با اون زبان آشنایی ندارم.


دوستان عزیزی که قبلا انجام دادن لطفا کمک کنند ممنون میشم

آفلاین
user-avatar
علی بیات ( 407969 تجربه )
12 ماه پیش
تخصص : توسعه دهنده ارشد وب

نهایتا این ساختار برنامه شماست که مشخص میکنه به چه ساختاری در دیتابیس نیاز دارید.

همین ساختار رو پیش برید..
داده های فیک در جداول وارد کنید
و زمان اجرا شدن کوئری های مختلف رو چک کنید.

مشخص میشه بهینه هست یا خیر

آفلاین
user-avatar
Mohammadreza Ghomi ( 60143 تجربه )
12 ماه پیش
تخصص : لاراول

@ali.bayat
تشکر بابت راهنماییتون

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