বিদেশী কী - সারোগেট বা প্রাকৃতিক কী ব্যবহার করে লিঙ্ক?


14

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

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

আমাদের সারণীর সর্বাধিক সারণিতে ইতিমধ্যে একটি সরোগেট এবং প্রাকৃতিক কী উভয় ইতিমধ্যে সংজ্ঞায়িত হয়েছে (যদিও অনন্য বাধা এবং পিকে) তবে অতিরিক্ত কলাম যুক্ত করা আমাদের পক্ষে এই উন্মত্ততার পক্ষে অ-ইস্যু। আমরা এসকিউএল সার্ভার ২০০৮ ব্যবহার করছি তবে আমি আশা করব যে এটি কোনও ডিবির পক্ষে যথেষ্ট জেনেরিক।

উত্তর:


15

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

সংজ্ঞা অনুসারে, আপনার প্রয়োজনীয় তথ্য সর্বদা প্রতিটি "অনুসন্ধান" সারণীর প্রাকৃতিক কীতে অন্তর্ভুক্ত থাকে। ( সন্ধানের টেবিলটি শব্দটি আনুষ্ঠানিক। , ইত্যাদি। বেশিরভাগ লোক এটিকে একটি সারণী বলবে)

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

আপনি টেবিলগুলিতে প্রাকৃতিক কীগুলি উল্লেখ করেন যখন দুটি সরোগেট কী রয়েছে তখন আপনি দুটি সমস্যার মুখোমুখি হবেন।

প্রথমত, আপনি মানুষকে অবাক করে দেবেন। যদিও আমি সর্বনিম্ন অবাক করা প্রিন্সিপালের জন্য দৃ strongly়ভাবে লবি করি , এটি এমন একটি পরিস্থিতি যেখানে আমি অবাক লোকদের কিছু মনে করি না। যখন সমস্যাটি হ'ল বিকাশকারীরা বিদেশী কীগুলির যৌক্তিক ব্যবহারের দ্বারা অবাক হয়ে যায়, সমাধানটি আবার নতুন করে নয়, শিক্ষা।

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

আমি এমন একটি ডাটাবেস সিস্টেমে কাজ করেছি যা ৩০ বছরের সময়কালে কমপক্ষে দুই ডজন ভাষায় লেখা শত শত অ্যাপ্লিকেশন প্রোগ্রামগুলিতে ডেটা সরবরাহ করে। সেই ডাটাবেসটি কোনও ওআরএমের নয়, এন্টারপ্রাইজের অন্তর্গত।

একটি কাঁটাচামচ যা ব্রেকিং পরিবর্তনগুলি উপস্থাপন করে তা শো-স্টপার হওয়া উচিত।

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

অন্যান্য প্রাসঙ্গিক উত্তর: ডেটাবেস স্কিমা বিভ্রান্তিতে


5

আমি সারোগেট কীগুলিকে সমর্থন করার মূল কারণ হ'ল প্রাকৃতিক কীগুলি প্রায়শই পরিবর্তিত হয় এবং এর অর্থ সমস্ত সম্পর্কিত সারণী আপডেট করতে হবে যা সার্ভারে বেশ চাপ দিতে পারে।

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

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

সুতরাং এক-আকারের সমস্ত উত্তর ফিট করে না। এটি আপনার ডাটাবেস এবং কীভাবে অনুসন্ধান করা হবে এবং কী ধরণের তথ্য এতে সংরক্ষণ করা হবে তার উপর নির্ভর করে। আপনার নিজের পরিবেশে সবচেয়ে ভাল কী কাজ করে তা খুঁজে পেতে আপনার কিছু পরীক্ষা করার প্রয়োজন হতে পারে।


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

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

-4

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

ব্যক্তি, ভূমিকা, পার্সোনরোল

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

প্রাকৃতিক কীগুলির কথা বললে আপনি এখন সত্যবাদী! তবে গুরুত্ব সহকারে, org যদি সিদ্ধান্ত নেয় যে কোনও ব্যক্তি এখন একাধিক ভূমিকা গ্রহণ করতে পারে? ব্যবসায়ের প্রয়োজনের পরিবর্তনকে সমর্থন করার প্রবাহের প্রভাবগুলি কী কী?


2
এবং সার্গেট কীগুলি নিয়ে আপনার কী সমস্যা নেই? কিভাবে দয়া করে আমাদের দেখান।
কলিন 't হার্ট

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