পণ্যের বান্ডিল সহ পণ্যগুলির জন্য ডেটাবেস ডিজাইন


14

আমি আমার খুচরা ব্যবসায়ের জন্য একটি ডাটাবেস সিস্টেম তৈরি করছি। আমি কিছু টেবিল সেট করেছি যা হ'ল:

  • প্রোডাক্ট
  • ক্রয়
  • বিক্রয়
  • ভারসাম্য

সবাই একে অপরের সাথে সংযুক্ত এবং আমার ইনভেন্টরি স্তরটি প্রদর্শন করতে সক্ষম।

আমার যে সমস্যাটি হচ্ছে তা হ'ল আমি পণ্যগুলির বান্ডিলগুলিও বিক্রি করি - যার নিজস্ব দামের চেয়ে আলাদা দাম রয়েছে।
উদাহরণ: আমি কমলা বিক্রি করি 1 ডলারে, একটি আপেল $ 1.2! আমি ফল প্যাকেজ 1 (2 কমলা এবং 2 টি আপেল) $ 3.8 এর জন্য, প্যাকেজ 2 (4 কমলা এবং 4 টি আপেল) $ 7 এর জন্য বিক্রয় করি।

এই পণ্য বান্ডিল জন্য সম্পর্ক তৈরি করতে কিভাবে একটি সঠিক উপায় আছে?

পিএস: আমি এটি তৈরি করে ফাইলমেকার প্রো ব্যবহার করছি।

উত্তর:


16

আপনি যে প্যাটার্নটির বর্ণনা দিচ্ছেন তাকে প্রায়শই " অংশ বিস্ফোরণ " বা " উপকরণগুলির বিল " বলা হয় । এটি ডেটা স্ট্রাকচারের অধ্যয়নের জন্য গ্রাফ এবং গাছের অংশের একটি অংশ। সমাধানের সারমর্মটি উপলব্ধি করা যে কোনও প্রদত্ত "পণ্য" অন্যান্য "পণ্য" দিয়ে তৈরি করা যেতে পারে। নকশাটি তখন একটি নেটওয়ার্ক স্ট্রাকচার যেখানে সেখানে একটি Productটেবিল থাকে যা প্রতিটি পণ্যের জন্য একটি সারি থাকে - তা অন্য পণ্যগুলি দিয়ে তৈরি হয় বা না হয়, এবং তারপরে এমন একটি Product Componentটেবিলের সাথে থাকে যা প্রতিটি পণ্যগুলির জন্য সারি থাকে যা অন্য পণ্যগুলি দিয়ে তৈরি হয় এবং প্রতিটি সংশ্লিষ্ট পণ্য যা সেই পণ্যের একটি উপাদান। আপনার ক্ষেত্রে, প্রতিটি পণ্য একটি মূল্য আছে। সুতরাং আপনি এই কিছু হবে

Product
-----------------------------------
|Name             |Price          |
-----------------------------------
|Orange           |1             |
|Apple            |1.20          |
|Fruit Package    |3.80          |
-----------------------------------

Product Component
----------------------------------------------------------
|Product               |Contains                |Quantity|
----------------------------------------------------------
|Fruit Package         |Orange                  |2       |
|Fruit Package         |Apple                   |2       |
----------------------------------------------------------

এই নকশাটি পুনরাবৃত্তির সাথে সংযুক্ত একটি একক টেবিলের চেয়ে বেশি পছন্দনীয় কারণ এটি দুটি সত্তার প্রকার - নোড এবং লিঙ্কগুলি পরিষ্কারভাবে পৃথক করে। আমাদের ক্ষেত্রে পণ্যগুলি নোড এবং পণ্যের উপাদানগুলি লিঙ্কগুলি।

যদিও নেটওয়ার্ক ডিজাইনটি একটি সাধারণ কাঠামো, ততক্ষণে এটি সম্পূর্ণরূপে ভরাট হওয়ার কারণে সমস্যাযুক্ত কারণ এটি বিভিন্ন গভীরতার একটি পুনরাবৃত্ত কাঠামো। শিল্প শক্তি ডিবিএমএস 'যেমন ওরাকল এবং এসকিউএল সার্ভারের কাছে কোয়েরিটি ঘোষণামূলক করতে সহায়তা করার জন্য বিশেষ ভাষার উপাদান (ওরাকল এর সংযোগ বাই এবং এসকিউএল সার্ভারের রিকার্সি সিটিই) রয়েছে। আপনি ফাইল মেকার প্রো ব্যবহার করছেন, যা সম্পর্কে আমি খুব কমই জানি, আপনার কাছে সাহায্যের জন্য এ জাতীয় ভাষা নির্ধারণ নাও থাকতে পারে এবং নেটওয়ার্কটি পেরিয়ে যাওয়ার জন্য পদ্ধতি কোড লিখতে হতে পারে। নেটওয়ার্কটি যদি নির্দিষ্ট গভীরতার হয়ে দাঁড়ায় তবে এই সমস্যাটি সহজ করা যেতে পারে - বলুন যে প্রতিটি পণ্যটির কোনও উপাদান বা উপাদানগুলির একটি স্তর নেই। ডাটাবেস ডিজাইনে নেটওয়ার্ক স্ট্রাকচার সম্পর্কিত কিছু রেফারেন্স এখানে রয়েছে:

  1. ডাটাবেস ব্যবস্থাপনায় ব্যবহারিক সমস্যা - ফ্যাবিয়ান পাস্কাল । অধ্যায় 7 আমি খুঁজে পেয়েছি সেরা এবং সবচেয়ে বোধগম্য ব্যাখ্যা সরবরাহ করে।
  2. স্মার্টিজ, দ্বিতীয় সংস্করণের জন্য এসকিউএল-এ জো সেল্কোর গাছ এবং হায়ারারচিজ । এটি এসকিউএল স্ট্যান্ডার্ড সম্পর্কিত নির্দিষ্ট বিষয়ের একটি সম্পূর্ণ বই।
  3. এন্টারপ্রাইজ মডেল প্যাটার্নস - ডেভিড হে । সমস্ত সংস্থার কাছে সাধারণ নিদর্শন সম্পর্কিত একটি বই (দুর্ভাগ্যক্রমে ER ডায়াগ্রামগুলি ইউএমএলে উপস্থাপন করা হয়েছে তবে এটি কাটিয়ে উঠতে পারে) নেটওয়ার্ক স্ট্রাকচারের বেশ কয়েকটি উদাহরণ রয়েছে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.