PostgreSQL অটো ইনক্রিমেন্টের জন্য দুটি পদ্ধতি
একটি ডাটাবেস তৈরি করার সময়, আপনার কাছে প্রতিটি টেবিলের জন্য একটি প্রাথমিক কী থাকা উচিত যাতে টেবিলে কোনো ডুপ্লিকেট উপস্থিত না হয়। প্রাথমিক কী তৈরি করার একটি উপায় হল INT ডেটা টাইপের জন্য স্বয়ংক্রিয়-বৃদ্ধি বৈশিষ্ট্য ব্যবহার করা। PostgreSQL সমস্ত এন্ট্রির জন্য প্রাথমিক কী মান তৈরি করে, যা ম্যানুয়ালি প্রাথমিক টাইপ করার ঝামেলা থেকে বিকাশকারীকে মুক্ত করে।
দুটি পন্থা আছে যা আপনি আপনার PostgreSQL ডাটাবেসে স্বয়ংক্রিয়-বৃদ্ধি তৈরি করতে ব্যবহার করতে পারেন।
পদ্ধতি 1: সিরিয়াল সিউডো-টাইপ ব্যবহার করা
আপনার ডাটাবেসের প্রাথমিক কীগুলির জন্য স্বয়ংক্রিয়-বৃদ্ধি তৈরির ডিফল্ট উপায় হল SERIEL কীওয়ার্ড ব্যবহার করা। যখন ব্যবহার করা হয়, সিরিয়াল সিউডো-টাইপ মান তৈরি করার জন্য একটি ক্রম তৈরি করে। এটি ক্রমানুসারে পরবর্তী মানটি নোট করে এবং যখনই আপনি একটি নতুন মান সন্নিবেশ করেন, এটি একটি অনন্য পরিচয় দিয়ে বরাদ্দ করা হয়।
মনে রাখবেন যে এই স্বয়ংক্রিয়-বৃদ্ধিটি একটি INT ডেটা টাইপের জন্য বরাদ্দ করা হয়েছে এবং টেবিল বা কলামটি ড্রপ হয়ে গেলে মুছে ফেলা হবে।
একটি স্বয়ংক্রিয়-বৃদ্ধি তৈরি করার জন্য এখানে সিনট্যাক্স রয়েছে:
সৃষ্টি টেবিল TABLE_NAME ( আইডি সিরিয়াল ডেটা_টাইপ ) ;
আমাদের ক্ষেত্রে, আসুন 'বিশদ' নামে একটি টেবিল তৈরি করি যাতে আমাদের স্বয়ংক্রিয় বৃদ্ধি এবং প্রাথমিক কী হিসাবে 'user_id' রয়েছে। আমরা আরও দুটি কলাম অন্তর্ভুক্ত করি।
যখন আমরা আমাদের টেবিলে মান সন্নিবেশ করতে চাই, তখন আমরা কেবলমাত্র অন্যান্য কলামগুলির জন্য সন্নিবেশ করি এবং স্বয়ংক্রিয়-বৃদ্ধি কলামটি ছেড়ে দিই কারণ এর মানগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়। এখানে একটি উদাহরণ যেখানে আমরা আমাদের টেবিলে পাঁচটি এন্ট্রি যোগ করি:
যখন আমরা টেবিলের রেকর্ডগুলি পরীক্ষা করার জন্য SELECT স্টেটমেন্ট ব্যবহার করি, লক্ষ্য করুন যে 'user_id' কলামে অনন্য পরিচয় রয়েছে যা আমাদের ক্ষেত্রে 1 থেকে শুরু হওয়া সংখ্যা। এভাবেই SERIAL ছদ্ম-টাইপ ব্যবহার করে PostgreSQL স্বয়ংক্রিয়-বৃদ্ধি করা যায়।
পদ্ধতি 2: একটি ক্রম তৈরি করা
আপনি যখন স্বয়ংক্রিয়-বৃদ্ধির মান তৈরি করতে সিরিয়াল সিউডো-টাইপ ব্যবহার করেন, তখন আপনার অনন্য পরিচয় কীভাবে তৈরি হবে তা আপনি নিয়ন্ত্রণ করেন না। পূর্ববর্তী উদাহরণের জন্য, আমরা দেখেছি যে আমাদের অনন্য পরিচয়গুলি 1 থেকে শুরু হয়। যাইহোক, আপনি যদি এই মানগুলিকে নিয়ন্ত্রণ করতে চান, তাহলে ধরা যাক আপনি কোন সময়ে এগুলি তৈরি করা শুরু করবেন তা নির্ধারণ করতে চান, আপনাকে অবশ্যই একটি কাস্টম ক্রম তৈরি করতে হবে।
PostgreSQL-এর SEQUENCE বিকল্প রয়েছে যেখানে আপনি স্বয়ংক্রিয়-বৃদ্ধির জন্য ব্যবহার করার জন্য কলামের নাম নির্দিষ্ট করতে পারেন এবং কলামের জন্য শুরুর মান নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, যদি আমরা 100 থেকে মানগুলি শুরু করতে চাই, আমরা নিম্নলিখিত কাস্টম ক্রম তৈরি করি:
ক্রিয়েট সিকোয়েন্স কলাম_নাম start_value;
ক্রম তৈরি করার পরে, আপনি এখন আপনার টেবিল তৈরি করতে পারেন। মনে রাখবেন যে আপনাকে অবশ্যই একই কলামের নাম ব্যবহার করতে হবে যেখানে আপনি তৈরি করা টেবিলের জন্য 'nextval('holder')' এর মতো একটি ক্রম তৈরি করেছেন। এইভাবে, পোস্টগ্রেএসকিউএল কলামগুলির জন্য অনন্য পরিচয় তৈরি করার সময় কোন ক্রম অনুসরণ করতে হবে তা জানতে ক্রমটি উল্লেখ করে।
আমাদের টেবিল তৈরি করতে আমরা নিম্নলিখিত কমান্ডটি চালাই:
প্রাসঙ্গিক কলামের জন্য তৈরি করা টেবিলে মান সন্নিবেশ করতে এগিয়ে যান।
যখন আমরা টেবিল এন্ট্রি তালিকাভুক্ত করার জন্য 'নির্বাচন' ক্যোয়ারী চালাই, তখন আমরা দেখতে পারি যে আমরা আমাদের স্বয়ংক্রিয়-বৃদ্ধি নিয়ন্ত্রণ করতে পেরেছি। 'user_id' কলামটি তার মান 100 এ শুরু করে এবং আমরা টেবিলে সন্নিবেশ করা অন্যান্য এন্ট্রিগুলির জন্য পরবর্তী মান তৈরি করে।
এটি PostgreSQL-এর জন্য স্বয়ংক্রিয়-বৃদ্ধি তৈরির অন্য উপায়।
উপসংহার
আপনার টেবিলে স্বতন্ত্রতা তৈরি করার জন্য একটি স্বয়ংক্রিয়-বৃদ্ধি তৈরি করা উপকারী। যখন আপনি আপনার টেবিলের জন্য একটি প্রাথমিক কী সংজ্ঞায়িত করতে চান, তখন INT ডেটা টাইপের জন্য স্বয়ংক্রিয়-বৃদ্ধি বৈশিষ্ট্যটি ব্যবহার করুন। PostgreSQL স্বয়ংক্রিয়ভাবে মান তৈরি করে, নিশ্চিত করে যে আপনার টেবিলে কোনো সদৃশ নেই। PostgreSQL-এর জন্য কীভাবে স্বয়ংক্রিয়-বৃদ্ধি তৈরি করা যায় তা আমরা সংজ্ঞায়িত করেছি এবং আপনি ব্যবহার করতে পারেন এমন দুটি পদ্ধতির দুটি উদাহরণ প্রদান করেছি। উভয় পদ্ধতিই প্রযোজ্য আপনার দৃশ্যের উপর নির্ভর করে। তাদের চেষ্টা করে দেখুন!