আরকোবজেক্টস কোড ব্যতীত সংস্করণযুক্ত ফিচার ক্লাসে প্রাথমিক কীগুলি বজায় রাখা সম্ভব?


11

যেহেতু সম্পর্কের ক্ষেত্রে প্রাথমিক কী হিসাবে অবজেক্টআইডি ব্যবহার করা ভাল ধারণা নয় , তাই অন্য কয়েকটি কলাম ব্যবহার করা প্রয়োজন। সংস্করণযুক্ত বৈশিষ্ট্যযুক্ত ক্লাসে প্রাথমিক কী কলামগুলি পপুলেট করার জন্য কি ডিবিএমএস সিকোয়েন্সগুলি ব্যবহার করা সম্ভব, বা এটি করার জন্য আমার কি আরকোবজেক্টস কোড লিখতে হবে?

আমি শুনেছি গ্লোবাল আইডি ব্যবহার করা যেতে পারে , তবে নন-জিআইএস ডিবিএর রক্ষণাবেক্ষণ সম্পর্কিত টেবিলগুলি প্রায়শই এই ধারণাটিতে ভ্রান্ত হয়।


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

2
আমি মনে করি এটি একটি নাল চেক সহ একটি আফটার ইনসার্ট ট্রিগার (ওরাকল) ছিল, সুতরাং নতুন সারিটি সরানো থাকলে বিদ্যমান প্রাথমিক কী মানটি পেতে পারে। যদি এটি নাল হয়, এটি জনবহুল হত। হয়তো আমি ভুল এবং এটি সঠিকভাবে কাজ করছে না এবং আমি এটি বুঝতে পারি নি। কোন ডাটাবেস ব্যবহার করছে?
জে কামিন্স

@ জায়ে বিস্তৃত করার জন্য ধন্যবাদ। এই প্রশ্নটি জিজ্ঞাসা করার জন্য আমার প্রধান কারণটি হ'ল এটি করতে আমি লিখেছি এমন আরকোবজেক্টস কোড ছাড়াও এই সমস্যাটির অন্যান্য পন্থাগুলি আছে কিনা তা নির্ধারণ করা। আমি কাউকে বলতে চাই না যে পুরোপুরি তদন্ত না করেই আমার সমাধানই একমাত্র সম্ভাব্য সমাধান। এবং যদি তা হয় তবে এটি বজায় রাখা কতটা কঠিন। আমি মাঝে মধ্যে কেবল সঞ্চিত প্রক্রিয়াগুলি লিখি এবং এর বেশিরভাগই স্কিএল সার্ভারে থাকে। আমার সন্দেহ হয় ডিবিএমএস স্তরে এটি করার একটি উপায় রয়েছে (আরকোবজেক্টগুলির পরিবর্তে) তবে এটি কখনও সমস্ত ডিবিএমএসের কাছ থেকে ঘনিষ্ঠভাবে দেখেনি।
কर्क কুইকেনডাল

উত্তর:


7

হ্যাঁ, এটি সম্ভব - কয়েকটি সতর্কতার সাথে।

আপনি এটি ট্রিগারগুলির সাহায্যে করতে পারেন - তবে বাস্তবায়নটি ডিবিএমএস-নির্দিষ্ট হবে (যেহেতু আপনাকে অন্তর্নিহিত ডাটাবেস (নির্দিষ্ট) প্রক্রিয়া ব্যবহার করে একটি আলাদা আফটার ইনসার্ট ট্রিগার প্রয়োগ করতে হবে।

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

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