দামের পণ্যগুলির জন্য ডেটাবেস স্কিমা (প্যাকেজ, প্রচার, কিউটি ভিত্তিক, সীমিত সময় অফার…)


11

আমি কোনও সংস্থার বিক্রয়ের জন্য একটি নতুন পয়েন্টে কাজ করছি যা পণ্য মিশ্রণের উপর নির্ভর করে বিভিন্ন দামের পণ্য দেয়।

সমস্ত পণ্য একটি মূল মূল্য আছে।

আমার সমস্যাটি ব্যাখ্যা করতে, আমি নিম্নলিখিত তথ্য ব্যবহার করব:

Product         Category        Price
A               1               45
B               1               70
Q               2               20
R               2               27
S               2               15
X               3               17
Y               3               22
Z               3               16

সংস্থার প্যাকেজ রয়েছে, উদাহরণস্বরূপ প্যাকেজ "কম্বো": পণ্যের A বা B এর জন্য, আপনি যদি Q বা R এর 1 এবং এক্স, ওয়াই বা জেড এর 1 বেছে নেন তবে আপনি 20 ডলার ছাড় পাবেন।

কেস এ: কখনও কখনও গ্রাহকরা অর্ডার দেওয়ার সময় একটি বেস প্রোডাক্ট যুক্ত করে, উদাহরণস্বরূপ: তারা পণ্য A এর মধ্যে একটিও চায় না, এবং ছাড়ের দাম রয়েছে এমন একটি প্যাকেজ তৈরি করতে তারা পণ্য Q এবং পণ্য পি যুক্ত করে add তারপরে তারা যুক্ত করতে পারেন যে তারা 1 টি আর 1 জেড দিয়ে 1 পণ্য বি চান want

কেস বি: কখনও কখনও গ্রাহকরা 1 এ এবং 2 বি, 2 কিউ, 1 এস, 2 এক্স এবং 1 জেড যুক্ত করবেন "" কম্বো "প্যাকেজ দ্বারা নির্ধারিত নিয়ম অনুসারে, কেবল দুটি কম্বোই আবেদন করবে কারণ এস কম্বো আইটেম নয়।

অন্যান্য প্রচারগুলি পরিমাণের উপর নির্ভরশীল, সুতরাং আপনি যদি বি এর 2 টি কিনে থাকেন তবে আপনি 20% ছাড় পান এবং / বা সময় অনুযায়ী নির্ভর করেন তবে এটি কেবল বৈধ হয় 5 অপরাহ্নের পরে বা 10% ছাড়ার আগে 10 টার আগে। আপনার শেষ ক্রয়টি কখন ঘটেছে বা আপনি যদি ওয়াই টাইমফ্রেমে $ X এর চেয়ে বেশি কিনেছেন তবে অন্য প্রচারটি নির্ভর করতে পারে।

আমার সমস্যাগুলি:

1) আমি টেবিলগুলি কীভাবে গঠন করব যাতে আমি আমার বিভিন্ন প্যাকেজ বা প্রচারগুলি এমনভাবে তৈরি করি যা বিভিন্ন প্রয়োজনীয়তার সাথে বিভিন্ন ধরণের প্রচার যুক্ত করতে খুব নমনীয় হয়?

২) যখন তারা কেস বি (বা কেস এ এবং কেস বি এর মিশ্রণ) এর মতো অর্ডার দেয় আমি কীভাবে আমার ক্যোয়ারিকে কাঠামোগত করব যাতে আমি কীভাবে পণ্য মিক্স (এস) ক্রমানুসারে তা পরীক্ষা করতে পারি এবং সেই অনুযায়ী দাম / বিবরণ আপডেট করতে পারি ? শেষ পর্যন্ত, এই ক্যোয়ারির সেরা ফলাফলটি প্যাকেজগুলি এবং প্রচারগুলির প্রয়োজনীয়তা পূরণ করবে যা গ্রাহককে সর্বাধিক সুবিধা দেয় (অর্থাত্ তারা যা আদেশ করেছিলেন তা পদোন্নতি 1 এবং 3 এর প্রয়োজনীয়তা পূরণ করে, তবে প্রচার 3 কম ব্যয়বহুল This একাধিক প্রচারের সাথে অবশ্যই কাজ করা উচিত)।

সাহায্যের জন্য আগাম ধন্যবাদ!

আপডেট # 1

সমস্যাগুলির আরও ভালভাবে বর্ণনা করার জন্য এবং এগুলি সমাধান করার জন্য এতদূর পর্যন্ত কাজটি আপডেট করার জন্য আমি ইস্যুটিকে প্রভাবিত করে এমন সত্ত্বা এবং বৈশিষ্ট্যগুলিতে সীমাবদ্ধ প্রোডাক্ট মডেলের একটি ইআরডি অন্তর্ভুক্ত করছি (অর্থাত্ ইনভেন্টরিটি এখানে খেলছে না, সুতরাং কোনও জায় নেই) সত্ত্বা উপস্থিত)

এখানে চিত্র বর্ণনা লিখুন

আমি এই প্রশ্নকে প্রভাবিত করে এমন সত্তা এবং বৈশিষ্ট্যগুলির নমুনা ডেটাও অন্তর্ভুক্ত করছি (ডেটা পড়া সহজ করার জন্য, আমি বিদেশী কীগুলির জায়গায় নাম / বিবরণ দিচ্ছি):

এখানে একটি ফ্লো চার্টের একটি লিঙ্ক রয়েছে যা একটি কম্বুর উদাহরণ দেয়, টেবিলের কাঠামোটি বোঝার দ্রুত এবং চাক্ষুষ উপায়।

PRODUCT
---------
ID  Name
================================
1   Hamburger
2   Cheeseburger
3   Bacon Hamburger
4   Bacon Cheeseburger
5   Orange Juice
6   Apple Juice
7   Coffee
8   Coke
9   French Fries
10  Onion Rings
11  Soup du Jour
12  Hamburger Combo
13  CheeseBurger Combo
14  Bacon Hamburger Combo
15  Bacon Cheeseburger Combo
16  Combo Side
17  Combo Beverage
18  Small Orange Juice
19  Large Orange Juice
20  Small Apple Juice
21  Large Apple Juice
22  Add Extra Patty
23  Add Avocado

PRODUCT COMPONENT
------------------
productFrom                 productTo       
===================================================
Hamburger Combo             Hamburger
Hamburger Combo             Combo Side
Hamburger Combo             Combo Beverage
CheeseBurger Combo          Cheeseburger
CheeseBurger Combo          Combo Side
CheeseBurger Combo          Combo Beverage
Bacon Hamburger Combo       Bacon Hamburger
Bacon Hamburger Combo       Combo Side
Bacon Hamburger Combo       Combo Beverage
Bacon Cheeseburger Combo    Bacon Cheeseburger
Bacon Cheeseburger Combo    Combo Side
Bacon Cheeseburger Combo    Combo Beverage

PRODUCT FEATURE
----------------
ID  Description
=======================
1   Combo Side Option
2   Combo Beverage
3   Juice
4   Orange Juice Size
5   Apple Juice Size
6   Extras

PRODUCT FEATURE APPLICABILITY
------------------------------
product                     productFeature  ProductFeatureApplicabilityType
============================================================================
Hamburger Combo             Combo Side      Required
Hamburger Combo             Juice Flavor    Required
Cheeseburger Combo          Combo Side      Required
Cheeseburger Combo          Juice Flavor    Required
Bacon Hamburger Combo       Combo Side      Required
Bacon Hamburger Combo       Juice Flavor    Required
Bacon Cheeseburger Combo    Combo Side      Required
Bacon Cheeseburger Combo    Juice Flavor    Required


PRODUCT FEATURE APPLICABILITY
------------------------------
productFeature  product             ProductFeatureApplicabilityType
============================================================================
Combo Side      Hamburger Combo             Required
Combo Beverage  Hamburger Combo             Required
Extras          Hamburger Combo             Optional
Combo Side      Cheeseburger Combo          Required
Combo Beverage  Cheeseburger Combo          Required
Extras          Cheeseburger Combo          Optional
Combo Side      Bacon Hamburger Combo       Required
Combo Beverage  Bacon Hamburger Combo       Required
Extras          Bacon Hamburger Combo       Optional
Combo Side      Bacon Cheeseburger Combo    Required
Combo Beverage  Bacon Cheeseburger Combo    Required
Extras          Bacon Cheeseburger Combo    Optional




OPTIONAL FEATURE
------------------
productFeatureFrom  Product             ProductFeatureTo        
=============================================================
Combo Side Option   French Fries
Combo Side Option   Onion Rings
Combo Side Option   Soup du Jour
Combo Beverage                          Juice
Combo Beverage      Coffee
Juice                                   Orange Juice Size
Juice                                   Apple Juice Size
Orange Juice Size   Orange Apple Juice
Orange Juice Size   Orange Apple Juice
Apple Juice Size    Small Apple Juice
Apple Juice Size    Large Apple Juice
Extras              Add Extra Patty
Extras              Add Avocado

সুতরাং, যতক্ষণ না জেনে সম্প্রদায়ের দ্বারা সরবরাহিত গবেষণা এবং সহায়তা দিয়ে আমি সমস্যা # 1 সমাধান করতে সক্ষম হয়েছি। প্রকৃতপক্ষে, আমি সিস্টেমের প্রথম মোতায়েনের ক্ষেত্রে আমি যা করতে পারি তার চেয়ে বেশি নমনীয়তার সাথে এটি করেছি।

যদিও সমস্যা 2 নিয়ে অগ্রগতি হয়েছে, তবুও এটি সন্তুষ্টির সমাধান হয় না। কীভাবে এটি করা যায় সে সম্পর্কে কিছু ধারণা রয়েছে, নীল ম্যাকগুইলান একটি বিরাট প্রশ্ন জিজ্ঞাসা করেছেন রিলেশনাল ডিভিশন (dba.stackexchange.com/questions/45829/ কি-is-the-name-of-this-type- ব্যবহার করে) একটি সম্ভাব্য সমাধানের দিকে নিয়ে অফ-কোয়েরি-এবং-কী-একটি-দক্ষ-উদাহরণ) এবং এই বইটি (www.amazon.com/books/dp/0471380237) অনেক সহায়তা করেছে। তবে বর্তমানে এই সমাধানটি এবং আমি এটি বুঝতে পারি, কেবল একবারে "এক" রেকর্ড (কম্বো) দিয়ে কাজ করে। যদি কোনও গ্রাহক উঠে যায় এবং বলে যে তিনি 2 পিজারবার্গার, 1 হ্যামবার্গার, 1 টি ছোট অ্যাপল জুস, 1 কোক, 1 ফরাসী ফ্রাই এবং 2 টি পেঁয়াজ রিং চান তবে আমার মিশ্রণের মধ্যে কেবল একটি কম্বো রয়েছে তা সনাক্ত করার জন্য একটি উপায় প্রয়োজন এবং অন্যটি যুক্ত করুন বেস দামে পণ্য। যদি একাধিক কম্বো কম্বিনেশন থাকে তবে আমি '

দু'টি সমস্যার সমাধান করার জন্য একটি ধারণা আমি নিয়ে এসেছি হ'ল কম্বোয়ের (যেমন হ্যামবার্গার) প্রধান পণ্যটি পণ্য সংমিশ্রণকে ফ্ল্যাগগিন যুক্ত করা এবং এট্রিবিউট করা। তারপরে দাম নির্ধারণের প্রক্রিয়া চলাকালীন, PRICE COMPONENT টেবিলের দেওয়া ছাড়ের সাথে কোয়েরি সম্পর্কিত এবং "মান" অবতরণ) এবং প্যাকেজগুলির চেকের ক্রম অনুসারে অর্ডারতে কোন পণ্যগুলি "প্যাকেজ" এর প্রধান পণ্যগুলি তা জিজ্ঞাসা করুন আপনি যদি কোনও জিজ্ঞাসা সহ বাকী অ-প্রধান পণ্যগুলির সাথে একটি "প্যাকেজ" তৈরি করতে পারেন এবং কোনও প্রধান পণ্য না পাওয়া অবধি বা বাকি অংশে আর কোনও প্রধান-প্রধান পণ্য না পাওয়া পর্যন্ত প্রক্রিয়াটি লুপ করতে পারেন কিনা তা দেখতে।


আপনি এ পর্যন্ত কি করেছে ? আমাদের কিছু ইআর ডায়াগ্রাম দেখান।
তুলিনাস কর্ডোভা

@ user61852 আমি আমার ইআরডি বেশিরভাগ হাত দিয়েই করি। কম্পিউটারে সেগুলি করার জন্য আপনি কি কোনও সরঞ্জামের প্রস্তাব দিতে পারেন যাতে আমি এটি ভাগ করতে পারি? (আশা করি একটি নিখরচায় :)
সেমিএল

@ user61852 আমি gliffy.com পেয়েছি যা বরং কার্যকর হিসাবে প্রমাণিত হচ্ছে। আমি আমার প্রশ্ন আপডেট করার জন্য যা কাজ করেছি তা একত্রে রাখার কাজ করছি।
সেমিএল

@ user61852 আমি ERD, ফ্লো চার্ট, অগ্রিম এবং নমুনা সারণী ডেটা প্রদর্শন করতে আপডেট # 1 যোগ করেছি।
সেমিএল

উত্তর:


2

এটি জটিল হতে পারে ...

1) আমি টেবিলগুলি কীভাবে গঠন করব যাতে আমি আমার বিভিন্ন প্যাকেজ বা প্রচারগুলি এমনভাবে তৈরি করি যা বিভিন্ন প্রয়োজনীয়তার সাথে বিভিন্ন ধরণের প্রচার যুক্ত করতে খুব নমনীয় হয়?

packaged_withকোন পণ্যগুলি গোষ্ঠীভুক্ত করা এবং একসাথে প্যাকেজ করা যেতে পারে তা নির্ধারণ করতে আপনি একটি টেবিল দিয়ে শুরু করতে পারেন:

প্যাকেজ
-------
  আইডি (পিকে)
  নাম

package_group
-------------
  প্যাকেজ_আইডি (এফকে থেকে প্যাকেজ.আইডি)
  নাম

packaged_with
-------------
  প্যাকেজ_গ্রুপ_আইডি (প্যাকেজ_গোষ্ঠী.এফ থেকে এফ কে)
  product_id (product.id থেকে এফ কে)
  can_be_packaged_with (product.id এফ কে)

package_groupবোঝায় a packagepackaged_withউল্লেখ করে productsএবং package_groups, যাতে একটি সারিতে packaged_withদেখায় যে কোন পণ্যগুলির সাথে কোন প্যাকেজ প্যাকেজ করা যায় এবং একাধিক গ্রুপের সমন্বয়ে একটি প্যাকেজ তৈরি করা যায়।

ডেটা দেখতে এই রকম হবে:

প্যাকেজ
-------
আইডি | নাম
------------
1 | কম্বো

package_group
------------
আইডি | নাম
---------
1 | কিউআর গ্রুপ
2 | এক্সওয়াইজেড গ্রুপ

packaged_with
-------------
প্যাকেজ_গ্রুপ_আইডি | product_id | can_be_packaged_with
----------------------------------------------
1 | ক | প্রশ্নঃ
1 | ক | আর
2 | ক | এক্স
2 | ক | ওয়াই
2 | ক | জেড
1 | খ | প্রশ্নঃ
1 | খ | আর
2 | খ | এক্স
2 | খ | ওয়াই
2 | খ | জেড

এটি আপনাকে নিজেরাই প্যাকেজ প্যাকেজগুলিতে সহায়তা করবে। আপনার বাকী প্রশ্নের জন্য আমার কাছে কিছু ধারণা আছে তবে এই মুহূর্তে এই উত্তরটি শেষ করার আমার কাছে সময় নেই ...


প্রচার

আপনি অনেক ধরণের প্রচারের তালিকাবদ্ধ করুন। আপনি হয়ত কিছু প্রকারের নিয়ম-ইঞ্জিনটি সন্ধান করতে চাইবেন তবে আমি তার চেয়ে সহজ জিনিসগুলি রাখার চেষ্টা করব, তবে এখনও ... এটি জটিল হয়ে উঠবে ..

আসুন সহজ প্রচারগুলি দিয়ে শুরু করি যেখানে একটি নির্দিষ্ট শতাংশকে ছাড় দেওয়া হয়:

PERCENT_DISCOUNT
----------------
  আইডি (পিকে)
  নাম
  percent_amount

product_promotions
------------------
  আইডি (পিকে)
  product_id (product.id থেকে এফ কে)
  পদোন্নতি_আইডি (এফকে শতাংশ_ডিসক্ট.আইডি)
  শুরুর তারিখ
  শেষ তারিখ

এখানে আমাদের কাছে একটি টেবিল রয়েছে যা আপনি পণ্যের জন্য কী শতাংশে নামবেন তা সঞ্চয় করে। অন্য একটি টেবিল আসলে ছাড়ের হারের সাথে পণ্যগুলিকে লিঙ্ক করে এবং এতে একটি শুরু এবং শেষের তারিখও অন্তর্ভুক্ত থাকে যাতে আপনি জানতে পারবেন যে কোনও নির্দিষ্ট তারিখে ছাড়টি প্রযোজ্য কিনা।

অন্যান্য প্রচারগুলির জন্য ধারণাগুলি পরে আসছে ...


আমি যখন আপনার লেখার সময় পেয়েছি তখন আপনার বাকী উত্তরগুলি পড়ার অপেক্ষায় রয়েছি। আপনার সাহায্যের জন্য ধন্যবাদ.
সেমিএল

আমি অবশ্যই "নিয়ম-ইঞ্জিন" সন্ধান করব! আপনার যদি কোনও ভাল সংস্থার লিঙ্ক থাকে তবে তাদের আমার পাঠান! আমার জানা সবচেয়ে বড় সমস্যাটি হ'ল অর্ডার আইটেমগুলির (কেস বি) একটি নিরবচ্ছিন্ন, অদলিত তালিকাতে কী প্রচারগুলি প্রযোজ্য তা নির্ধারণ করা।
সেমিএল

@ সিএমএল: আমি জানি এমন বাণিজ্যিক পণ্য রয়েছে যেগুলি ইতিমধ্যে আপনার পছন্দসই দক্ষতা রয়েছে। আমার পরিচিত একজনকে হাইব্রিস বলা হয়, আমি শুনেছি একটি অত্যন্ত পরিশীলিত প্রচার ব্যবস্থা রয়েছে।
হতাশ

আমি আপডেট 1 #
সেমিএল

1

যদিও এটি 3 বছরের পুরানো থ্রেড, তবুও আমি এটি ভেবে ভেবে উত্তর দিচ্ছি যে এটি কারওর পক্ষে সহায়ক হতে পারে।

Table Structure
Table_Offer
--------
ID FK
Name   
start time  
end time   

MandatoryGroup
--------
ProductId (FK to product)

MixGroup1
--------
ProductId (FK to product)


MixGroup2
--------
ProductId (FK to product)


Table_offerDetails
------------------
ID PK
offerId (FK to table_offer)
MandatoryProduct(FK to MandatoryProducts.productID
firstProduct ( fk to MixGroup1.productId)
secondProduct (FK to MixGroup2.productId)

Offer
----
 ID    name    startDate  EndDate 
---    ----     --------   ------
1       COMBO   


MandatoryGroup
-------------
 ID    name 
 ---   ---- 
1      A
2      B


MixGroup1
---------
 ID    name 
 ---   ---- 
 3      P      
 4      Q

MixGroup2
---------
 ID    name 
 ---   ---- 
 5      x      
 6      Y
 7      Z



 OfferHeader
-------------
ID  Customer count(B) B_disc time_disc  stat_disc DiscTotal orderPayableTotal
--  --------- -------  ----   --------  ---------  --------  ------------    
1     BOB     2         20      5         2             

অফার বিবরণ ------------

 ID   offerID   MandatoryProduct     1stProduct    2ndProduct
----  -------    ---------------     ----------    ----------
1       1         A                     P              X
2       1         A                     P              Y
3       1         A                     P              Z
4       1         A                     Q              X
5       1         A                     Q              Y
6       1         A                     Q              Z
7       1         B                     P              X
8       1         B                     P              Y
9       1         B                     P              Z
10      1         B                     Q              X
11      1         B                     Q              Y
12      1         B                     Q              Z

অফার ডেটেলগুলি তৈরি করতে আপনাকে অবশ্যই বাধ্যতামূলক, একটি মিক্সগ্রোপু 1 এবং অ্যামিক্সগ্রোপু 2 সরবরাহ করতে হবে। সুতরাং কেসবি এর নীচে কেবল দুটি অফার রয়েছে:

1 A and 2 B, 2 Q, 1 S, 2 X and 1 Z
2B 2Q and 2X =2 offers
1A 1Q and 1X=1st offer
1B 1Q and 1X=2nd Offer ... etc other combinations are vivid.

অন্যান্য অফারগুলি ব্যবসার যুক্তি ভিত্তিক: পরিমাণের অফারের ছাড়ের জন্য: কোনও গ্রাহকের জন্য অফারে বি এর গণনা সন্ধানের জন্য কোয়েরি তৈরি করুন। এটি কিউটিওয়াইবি কল করতে দিন। কিউটিওয়াইবি% 2 সন্ধান করুন এবং এটিকে পরিমাণের অফারের সাথে গুণ করুন (যা 20 ডলার)

পরিসংখ্যান অফারের জন্য, কেবল গ্রাহকের ক্রয়ের জন্য উপার্জন পয়েন্ট নামে পরিচিত আরেকটি বিট যুক্ত করুন। এবং উপার্জন পয়েন্টকে একটি সমাপ্তির তারিখ নির্ধারণ করুন। অর্জিত পয়েন্ট কেনা পরিমাণ হিসাবে একই হতে পারে। ক্রয়কৃত পরিমাণ> = $ এক্স কিনা তা নীতিমালা অনুসারে ছাড় দেয় কিনা তা পরীক্ষা করে দেখুন।

একইভাবে অর্ডার সময়ের তুলনা যদি এর 5PM এর আগে এবং 10am পরে হয় তবে 5% ইস্যু করুন অন্য 10% ছাড় ছাড়েন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.