স্ট্যান্ডার্ড এসকিউএল ডেটাবেসগুলি ব্যবহার করার ক্ষেত্রে কিছুটা নতুন (বর্তমানে বেশিরভাগ মাইএসকিউএল নিয়ে কাজ করছেন) আমি এখনও এর অনেকগুলি ব্যবহারের বাইরে চলি না।
কখন এবং কেন কোনও টেবিলকে সূচকযুক্ত নেতিবাচক (বা বরং স্বাক্ষরিত) কীগুলি রাখা কার্যকর?
স্ট্যান্ডার্ড এসকিউএল ডেটাবেসগুলি ব্যবহার করার ক্ষেত্রে কিছুটা নতুন (বর্তমানে বেশিরভাগ মাইএসকিউএল নিয়ে কাজ করছেন) আমি এখনও এর অনেকগুলি ব্যবহারের বাইরে চলি না।
কখন এবং কেন কোনও টেবিলকে সূচকযুক্ত নেতিবাচক (বা বরং স্বাক্ষরিত) কীগুলি রাখা কার্যকর?
উত্তর:
সমস্ত প্রাথমিক কী হ'ল একটি মান যা আমরা নির্ধারিত করেছি সেটি হ'ল রেকর্ডে এমন মান যা সর্বোচ্চ গুরুত্ব দেয়। সেই কীটি কোনও স্বাক্ষরিত ইনট, স্বাক্ষরবিহীন ইনট, একটি স্ট্রিং, একটি ব্লব (প্রকৃতপক্ষে সীমাবদ্ধতা রয়েছে) বা ইউইউডি (বা এটি আজ যে নামেই নেবে) বাস্তবতা এখনও দাঁড়িয়ে আছে যে এটি একটি কী, এবং এটি অত্যন্ত গুরুত্বের জিনিস।
যেহেতু আমরা আমাদের কীগুলির জন্য কেবল ইতিবাচক ভিত্তিক সংখ্যা ব্যবহারে সীমাবদ্ধ নই, তাই এটি বিবেচনা করে বিবেচনা করা উচিত যে একটি স্বাক্ষরপ্রাপ্ত ইন্টিরিটি কেবলমাত্র 2 বিলিয়ন ডলারে যাবে, অন্যদিকে স্বাক্ষরযুক্ত ইনট 4 মিলিয়ন ডলারে যাবে। তবে একটি সাইনড ইনট ব্যবহার করে প্রাথমিক মানটি -2 বিলিয়ন ডলারে সেট করে এবং একটিতে ইনক্রিমেন্ট নির্ধারণে কোনও সমস্যা নেই। Billion 2 বিলিয়ন রেকর্ডের পরে আপনি "শূন্য" টিপুন এবং তারপরে আপনি 2 বিলিয়ন ডলার অবিরত রাখবেন।
কোনও টেবিলে "নেতিবাচক কীগুলি" রাখা কীভাবে সহায়ক হবে, এটি "টেবিলের চাবিগুলি থাকা কীভাবে সহায়ক" হিসাবে একই প্রশ্ন। একটি কী এর "মান" এর কী হিসাবে তার স্থিতিতে কোনও প্রভাব পড়ে না। একটি চাবি একটি চাবি একটি চাবি হয়।
কীটি কার্যকর হয় তা গুরুত্বপূর্ণ।
নেতিবাচক ছিল এমন কীগুলি মঞ্জুরি দেওয়া কেন কার্যকর হবে তা সম্পর্কে আমি কয়েকটি কারণ প্রস্তাব করতে পারি:
আপনি যদি বিক্রয় ব্যবস্থায় নেতিবাচক বিক্রয় অর্ডার সংখ্যা হিসাবে ইতিবাচক বিক্রয় অর্ডার সংখ্যার সাথে মিলে প্রতিদানটি নির্দেশ করতে চান, তবে এভাবে সম্পর্ককে সহজ করে তোলে (এটি নির্বোধ এবং খারাপভাবে নকশাকৃত, তবে এটি "স্প্রেডশিট" অর্থে কাজ করবে)।
আপনি যদি কোনও ব্যবহারকারীর টেবিলটি রাখতে চান এবং এটি নির্দেশ করেন যে negativeণাত্মক সংখ্যার সাথেগুলি সিস্টেম নিয়ন্ত্রিত ছিল (চ্যাট ফিড ব্যবহারকারীদের জন্য এটি খুব ভাল কাজ করে)।
আমি যেতে পারছিলাম, তবে সংখ্যাটি নেতিবাচক হওয়ার কারণেই যদি আপনি বা আমি এটিকে গুরুত্ব দিয়ে থাকেন তবেই কেবল একমাত্র কারণ। এ ছাড়াও, কীটি নিজেই কী চালানোর কোনও বড় কারণ নেই।
যদি আমরা পরিচয় বা স্বায়ত্তশাসিত কলামগুলি সম্পর্কে চলেছি তবে মানটির নিজের কোনও অর্থ হওয়া উচিত। (কখনও কখনও এটি করা হয়, এসও-র চ্যাট ব্যবহারকারীরা ড্র্যাচেনস্টার দ্বারা নামকরণ করা হয়েছে, যা আমি নিজের আগে করেছি)
তবে, আপনি স্বাক্ষরিত পূর্ণসংখ্যা ব্যবহার করতে পারলে সাধারণত আপনি আপনার পরিসীমা অর্ধেক হারাবেন।
দেখুন: যখন কোনও টেবিলের ক্ষেত্রটি সর্বাধিক স্বাক্ষরিত বা স্বাক্ষরযুক্ত 32 বিট পূর্ণসংখ্যার কাছে পৌঁছায় তখন কী করবেন?
অন্য উদাহরণ: ছোট প্রতিরূপ পরিস্থিতিতে, একটি সাইটের জন্য নেতিবাচক মান এবং অন্যটির জন্য ইতিবাচক ব্যবহার কোনও প্রদত্ত সারির উত্স সম্পর্কে কিছু অন্তর্নিহিত জ্ঞান দেয়।
NOT FOR REPLICATION
আপনি কি জানেন যে এর কোনও মাইএসকিউএল (বা অন্য) এনালগ রয়েছে ?
সমস্ত ডাটাবেস সিস্টেম এমনকি স্বাক্ষরবিহীন পূর্ণসংখ্যার ধরণের সমর্থন করে না, এমএসএসকিউএল হ'ল এটির মধ্যে একটি। এই ক্ষেত্রে পূর্ণসংখ্যার কী ক্ষেত্রগুলিতে নেতিবাচক মানগুলি কেবলমাত্র টাইপেই সম্ভব (কারণ এই উদাহরণে দেখানো হয়েছে আপনি এগুলি ব্লক করতে নিয়ম বা ট্রিগার ব্যবহার করতে পারেন , তবে সম্ভবত এই জাতীয় বিধি প্রয়োগের ওভারহেড যুক্ত করার প্রয়োজন নেই probably প্রতিটি চৌরাস্তা / আপডেট)।
যতক্ষণ ডাটাবেস সম্পর্কিত, কোনও প্রাথমিক কীটির প্রকৃত মান যতক্ষণ তা সারণীর মধ্যে অনন্য হিসাবে ততক্ষণ গুরুত্বপূর্ণ নয়। এটির জন্য -42 এবং 42 একইভাবে 42 এবং 69 এর মধ্যে দুটি পৃথক সংখ্যা - অর্থ কেবল আপনার কোড দ্বারা মূল্যহীনতা বা মানের উপর দেওয়া হবে না imp
স্বাক্ষরযুক্ত পূর্ণসংখ্যার প্রকারের সমর্থন না করা সম্ভবত জটিলতা হ্রাসের উপর ভিত্তি করে একটি ডিজাইনের সিদ্ধান্ত - যার মধ্যে দুটি পৃথক 32 বিট পূর্ণসংখ্যার প্রকারের মধ্যে মান নির্ধারণের সময় রেঞ্জগুলি পরীক্ষা করার বিষয়ে চিন্তা করা উচিত নয়। এটি স্বতঃবৃদ্ধি ক্ষেত্রে সম্ভাব্য সূচীর সংখ্যা সীমাবদ্ধ করে না যা 0 বা 1 থেকে অর্ধেক শুরু করে যা স্বাক্ষরবিহীন প্রকারে (e 4e9 এর পরিবর্তে ~ 2e9) সম্ভব হবে তবে এটি খুব কমই একটি উল্লেখযোগ্য সমস্যা (যদি আপনার প্রয়োজন হয় তবে সম্ভবত আপনি সম্ভবত কোনও 64৪-বিট টাইপের জন্য গিয়েছিলেন সেই পরিমাণের মূল মানগুলির একটি বিশেষত যদি 64৪-বিট আর্কিটেকচার ব্যবহার করে যেখানে এই জাতীয় মানগুলি কম দক্ষতার সাথে প্রসেস করা হয় তবে 32-বিট মানগুলি থাকে) যদিও আপনি যদি পুরো পরিসর এবং প্রয়োজনীয়তা চান স্থান কারণে 32-বিট আটকে আপনি -2,147,483,647 এ বৃদ্ধি শুরু করতে পারেন।