💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ امین عبدی زاده
طراحی دیتا بیس
احمدرضا فاطمی کیا حل شده توسط احمدرضا فاطمی کیا

سلام وقت بخیر

من یه پروژه مدیریت فروشگاه پوشاک دارم ، اگه امکان داره در مورد طراحی دیتا بیس یکم راهنماییم کنید .

این فروشگاه چند شعبه در شهر‌های مختلف داره که محصولات یکسان دارند .

مثلاً 

کت و شلوار فلان مدل در رنگ‌بندی‌های مختلف و هر رنگ بندی در سایز بندی‌های مختلف و هر سایز تعداد موجود برای هر شعبه جداگانه ثبت می‌شن

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

 

سلام 

برای این سیستم شما باید یک پنل ادمین طراحی کنید که ادمین محصولات رو با ویژگی هایی که گفتید اضافه کنه.

و یک پنل هم برای مدیران شعبه‌ها که موجودی هر محصول رو برای شعبه شون مشخص کنند.

پس شما نیاز به چندین جدول به شرح زیر دارید:

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

این جدول برای تعریف محصولات اصلی مثل "کت و شلوار" استفاده می‌شه:

products
- id (primary key)
- name : نام محصول

2. جدول رنگ‌ها (colors)

این جدول برای رنگ‌های موجود (مثلاً آبی، مشکی) هست.

colors
- id (primary key)
- name : نام رنگ

3. جدول سایزها (sizes)

برای ذخیره سایزهایی که هر محصول داره، مثل M، L، XL:

sizes
- id (primary key)
- name : نام سایز

4. جدول شعبه‌ها (shops)

این جدول اطلاعات شعبه‌ها (مثل شعبه تهران) رو ذخیره می‌کنه.

shops
- id (primary key)
- code : کد یا نام شعبه

5. جدول رنگ‌های محصولات (product_colors)

برای نگه‌داشتن ارتباط بین محصولات و رنگ‌ها.

product_colors
- id (primary key)
- product_id (foreign key to products)
- color_id (foreign key to colors)

6. جدول سایزهای محصولات (product_sizes)

برای نگه‌داشتن ارتباط بین محصولات و سایزها.

product_sizes
- id (primary key)
- product_id (foreign key to products)
- size_id (foreign key to sizes)

7. جدول موجودی محصولات شعبه‌ها (shop_product_inventories)

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

shop_product_inventories
- id (primary key)
- shop_id (foreign key to shops)
- product_id (foreign key to products)
- color_id (foreign key to colors)
- size_id (foreign key to sizes)
- quantity : تعداد موجودی

نکات مهم

جدول shop_product_inventories: این جدول بهتون این قابلیت رو می‌ده که برای هر ترکیب از شعبه، رنگ، سایز و محصول، تعداد موجودی رو دقیقاً ثبت کنین.

جدول‌های واسط product_colors و product_sizes: این دو جدول بهتون کمک می‌کنه که رنگ‌ها و سایزهای قابل‌دسترسی هر محصول رو مدیریت کنین و هر زمان نیاز بود رنگ یا سایز جدید اضافه کنین.
با این ساختار می‌تونین تمام نیازهای مدیریت موجودی برای هر شعبه رو کنترل کنین و همچنین به‌راحتی رنگ و سایز جدید به محصولات اضافه کنید.

دیگه سایر اطلاعاتی هم که میخواید توی جداول قرار بدید هم میتونید اضافه کنید و طبق این الگو جلو برید.

 

بهترین پاسخ
احمدرضا فاطمی کیا ۲۱ آبان ۱۴۰۳، ۱۲:۵۵

ممنونم بابت توضیحات کاملتون 

امین عبدی زاده ۲۱ آبان ۱۴۰۳، ۱۴:۴۹

طبق سناریو شما پیش رفتم . رسیدم به جدول shop_product_inventories .

عملیات CRUD رو با  Query Builder  انجام دادم . ولی برای کار با Eloquent نتونستم راهی پیدا کنم .

آیا راهکاری هست ؟

امین عبدی زاده ۲۴ آبان ۱۴۰۳، ۱۹:۱۶