/
  • دسته بندی محصولات با خصوصیات متفاوت

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی دسته بندی محصولات با خصوصیات متفاوت
    نویسنده پیام
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #1
    دسته بندی محصولات با خصوصیات متفاوت
    سلام دوستان
    در مورد پیاده سازی دسته بندی های محصولات با خصوصیات متفاوت برای هر دسته،چه روشی هایی وجود دارد؟
    یک روشی هست که شامل 5 جدول می شود(Product,Category,Property,CategoryProperty,ProductProperty) از نظر سرعت کوئری گرفتن این روش چطور است؟
    ممنون
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    (آخرین ویرایش در این ارسال: ۱۳۹۳ آبان ۲۵ ۱۱:۴۰ صبح، توسط sara147.)
    ۱۳۹۳ آبان ۲۵ ۱۰:۲۵ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,025
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2716 تشکر در 1692 ارسال )
    ارسال: #2
    RE: دسته بندی محصولات با خصوصیات متفاوت
    میشه توضیح بدید و با مثال منظورتون رو برسونید ؟
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۳ آبان ۲۵ ۰۴:۵۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #3
    RE: دسته بندی محصولات با خصوصیات متفاوت
    مثلا آیتم یا محصول ما نرم افزار هستش. دسته بندی بر اساس نوع نرم افزار هست. یک نرم افزار امکان داره عضو چند دسته بندی باشد.
    هر دسته بندی شامل خصوصیات مخصوص به خودش است.

    حالا میخوام بدونم چه روش هایی برای اینکار وجود داره؟ و مزایا و معایب هر کدوم چی هست؟ مثلا از لحاظ سرعت و بهینه بودن...

    برای دیتابیس که احتمال میره 3000 تا آیتم در آینده داشته باشه،
    در صورتی که میزان select از insert و update و delete بیشتر باشه چه روش پیشنهاد میشه و برعکسش چطور؟

    مرسی از توجه تون.
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    ۱۳۹۳ آبان ۲۵ ۰۵:۰۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,025
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2716 تشکر در 1692 ارسال )
    ارسال: #4
    RE: دسته بندی محصولات با خصوصیات متفاوت
    یه جدول برای موضوعات در نظر بگیرید
    id,category_title,category_option1 و ....

    برای محصولات هم یک جدول product میخواید

    برای ست کردن دسته بندی هم یک جدول واسطه
    cateogory_id,product_id
    لازم دارید .

    مثلا محصول 8 توی موضوعات 1 و 2 و 3 قرار بگیره
    سه رکورد به این جدول اضافه میکنید .

    رابطه چند به چند هست پس به این جدول واسطه نیاز دارید
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۳ آبان ۲۵ ۰۸:۳۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #5
    RE: دسته بندی محصولات با خصوصیات متفاوت
    خصوصیات دقیقن کجای این رابطه قرار گرفته؟ خصوصیات برای هر محصول متفاوته.
    دقت کنید لطفن. Shy
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    (آخرین ویرایش در این ارسال: ۱۳۹۳ آبان ۲۶ ۱۰:۵۹ صبح، توسط sara147.)
    ۱۳۹۳ آبان ۲۶ ۰۹:۵۹ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,025
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2716 تشکر در 1692 ارسال )
    ارسال: #6
    RE: دسته بندی محصولات با خصوصیات متفاوت
    در جدول product خصوصیات محصولتون رو قرار بدید .
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۳ آبان ۲۶ ۱۱:۱۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #7
    RE: دسته بندی محصولات با خصوصیات متفاوت
    ممنون. ولی خصوصیات برای هر دسته بندی متفاوته. نمیشه یک فیلد با اندازه ثابت براش در نظر گرفت. مقادیر این فیلد برای هر رکورد متفاوته! مثلا وقتی یک محصول عضو چند دسته بندی هست، چندین مقدار خصوصیت برای هر محصول داره.
    اگر منظورتون روش EAV هست که بنظرم مناسب نباشه. چون هم نوع خصوصیات متفاوته هم اندازه ی مقادیر خصوصیات. و اجرای این روش توی پایگاه داده mysql که رابطه ای هست درسته آیا؟
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    ۱۳۹۳ آبان ۲۷ ۱۰:۱۴ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,025
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2716 تشکر در 1692 ارسال )
    ارسال: #8
    RE: دسته بندی محصولات با خصوصیات متفاوت
    نقل قول: ممنون. ولی خصوصیات برای هر دسته بندی متفاوته. نمیشه یک فیلد با اندازه ثابت براش در نظر گرفت. مقادیر این فیلد برای هر رکورد متفاوته! مثلا وقتی یک محصول عضو چند دسته بندی هست، چندین مقدار خصوصیت برای هر محصول داره.
    رابطه یک به چند میشه
    یک جدول دیگه در نظر بگیرید
    product_option با فیلد های
    product_id , option_key,option_value
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۳ آبان ۲۷ ۰۱:۲۸ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : sara147
    sara147 آفلاین
    سـارا
    ***

    ارسال‌ها: 408
    تاریخ عضویت: ۱۳۹۲ شهريور ۶
    اعتبار: 21
    تشکرها : 233
    ( 332 تشکر در 210 ارسال )
    ارسال: #9
    RE: دسته بندی محصولات با خصوصیات متفاوت
    این راه شما یه چیزی کم داره. چون توی این جدول مشخص نیست که خصوصیات مربوط به کدوم دسته بندیه. یه جدول CategoryProperty(یا category_option شما) نیاز داریم تا معلوم کنیم هر دسته بندی شامل چه خصوصیاتی میشه. و در نهایت میرسیم به همون راه حلی که من در پست اولم گذاشتم.
    در نهایت برگشتیم سر نقطه ی اول!


    بهتره یه کم جامع تر به مسئله نگاه کنیم.
    کلا برای این دست مسائل سه روش هست( به نظر من البته):

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

    2.روش EAV: مثلا یه جدول برای دسته بندی داشته باشیم و یه جدولم برای محصولات و در جدول محصولات فیلد category_id و option داشته باشیم . بسته به اینکه دسته بندی محصول چیه خصوصیات محصول رو در قالب json در فیلد option بریزیم.
    مزایا: ساده بودن، سرعت کوئری بالا
    معایب:هر محصول میتونه فقط عضو یک دسته بندی باشه(یا حداقل اینکه تعدادش محدوده). چون فیلد option ثابته ما باید حداکثر اندازه رو در نظر بگیریم و در برخی رکوردها هدر رفت فضا رو داریم.

    3. روش نرمال سازی شده برای پایگاه داده های رابطه ای: شامل پنج تا جدول Product,Category,Property,CategoryProperty,ProductProperty میشه.
    مزایا:نرمالیزه شده است، دسته بندی و خصوصیات پویا هستند و میشه تغییرش داد.
    معایب: پیچیدگیش زیاده، چون تعداد جداول بالاست و باید join کنیم سرعت پایین میاد.

    نظرتون رو لطفا بفرمائید. اگر بشه این تحلیل رو کامل کرد خیلی جاها کاربرد داره.
    __________________________________________________________________________
    به یـزدان که گر ما خرد داشتیم
    کجـا این سر انجـام بد داشتیم؟
    (آخرین ویرایش در این ارسال: ۱۳۹۳ آبان ۲۷ ۰۲:۰۶ عصر، توسط sara147.)
    ۱۳۹۳ آبان ۲۷ ۰۱:۵۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : nimaee
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,025
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2716 تشکر در 1692 ارسال )
    ارسال: #10
    RE: دسته بندی محصولات با خصوصیات متفاوت
    ما سه نوع رابطه داریم که براساس اون میتونیم دیتابیسامون رو بسازیم .
    یک به یک
    یک به چند
    و چند به چند

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

    شما یک مثال قابل درک بزنید مثلا بگید محصول مثلا کاغذ دیواری با خصوصیات رنگی روغنی و ... در دسته لوازم تحریر مثلا
    که بشه درک کرد چی میخواید
    حقیقتا چیزی که توی ذهنتون هست رو کامل نمیتونید منتقل کنید
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۳ آبان ۲۷ ۰۳:۱۶ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS