موضوعات وبسایت : برنامه نویسی
سوالات امتحان آیین نامه رانندگی

پایگاه داده یک فروشگاه

نویسنده : رضا قربانی | زمان انتشار : 09 اسفند 1399 ساعت 18:50

جهت انجام پروژه های دانشجویی و یا تمرین‌های برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید

@AlirezaSepand



طراحی پایگاه داده در فروشگاه های اینترنتی به روش های متفاوتی انجام می شود ولی همواره باید سعی کنیم روشی را انتخاب کرده که کمترین میزان فضا از پایگاه داده را اشغال کند. این موردی که شما فرمودید مشابه ساختار فروشگاه ساز ووکامرس وردپرس می باشد ولی عملا می توانید با روش زیر پیاده سازی متنوع تری ارائه داده و خروجی مشابه ووکامرس دریافت کنید. (اما حجم خیلی کمتری از پایگاه داده اشغال می شود)

سوالات امتحان آیین نامه رانندگی

طراحی پایگاه داده

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

جدول دسته بندی (categories)

این جدول شامل دسته بندی های تو در تو (سلسله مراتبی) می باشد. مشابه سایت روکسو 

id // integer
title // varchar
parent_id // integer ---> برای دسته بندی های تو در تو
created_at // timestamp

جدول ویژگی ها (attributes)

این جدول شامل ویژگی هایی است که برای هر دسته بندی تعریف می شود. مثلا دسته بندی کفش شامل یک سری ویژگی مانند سایز، رنگ و ... است و هر یک از این ویژگی ها شامل یک سری مقادیر هستند. (این مورد به صورت کامل در دوره آموزش ساخت فروشگاه اینترنتی مشابه دیجی استایل در لاراول تدریس و پیاده سازی شده است)

id // integer
title // varchar
created_at // timestamp

حال باید یک جدول برای مقادیر ویژگی تعیین کنید.

جدول مقادیر ویژگی (attribute_values)

وظیفه این جدول نگهداری مقادیر ویژگی جدول attributes است (یعنی یک رابطه یک به چند با جدول attributes برقرار کرده است)

id // integer
attribute_id // integer ---> کلید خارجی مرتبط با جدول attributes
title // varchar
created_at // timestamp

سپس شما می توانید جدول ویژگی را به جدول categories (دسته بندی ها) ارتباط دهید. این ارتباط از نوع چند به چند می باشد (یعنی هر دسته بندی می تواند چندین ویژگی را به ارث ببرد و هر ویژگی می تواند به چندین دسته بندی مرتبط شود)

جدول میانی یا pivot ویژگی ها و دسته بندی ها (attribute_category)

این جدول برای ذخیره سازی ویژگی های هر دسته بندی مورد استفاده قرار می گیرد و به صورت زیر تعریف می شود:

attribute_id // integer ---> کلید خارجی که رابطه با جدول attributes دارد
category_id // integer ---> کلید خارجی که رابطه با جدول categories دارد

پس از انجام این کار کافیست شما جدول محصولات را به جدول دسته بندی متصل کنید.

جدول محصولات (products)

در این جدول یک رابطه بین محصولات و دسته بندی ها ایجاد می شود که هر دسته بندی از طرفی با یک سری ویژگی ارتباط دارد و هر ویژگی با یک سری مقادیر! البته بسته به نیاز خودتان می توانید این جدول را توسعه دهید ولی هدف ارائه کردن کلید خارجی category_id در جدول محصولات بود:

id // integer
category_id // integer ----> کلید خارجی که مرتبط با جدول categories
price // float
....
created_at // timestamp

جمع بندی

با طراحی پایگاه داده فروشگاه اینترنتی خود، مشابه جداول بالا می توانید به ازای هر ویژگی که در دسته بندی ها تعیین می شود، محصولات خود را ویژگی دهید. البته لازم به ذکر است که در صورت نیاز می توانید یک واحد قیمت (price) به مقادیر ویژگی اضافه کرده که به قیمت نهایی یک محصول اضافه شود.

امیدوارم این راهنمایی مشکل شما را برطرف کرده باشید.

آیا این مطلب برای شما مفید بود؟


منبع: www.roxo.ir



ارسال نظر

نام


ایمیل


نظر