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