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