যদিও ডাটাবেসের কর্মক্ষমতা উন্নত করার অনেক উপায় বিদ্যমান, একটি বৈশিষ্ট্য যে কোনো ডাটাবেসের জন্য প্রায় সর্বজনীন। ডেটাবেস সূচীগুলি হল ডেটা স্ট্রাকচার বা বস্তু যা টেবিল থেকে ডেটা পুনরুদ্ধারের গতি বাড়াতে ব্যবহৃত হয়।
সঠিকভাবে ব্যবহার করা হলে, ডেটাবেস সূচীগুলি লক্ষ্য ডেটা, বিন্যাস, উপলব্ধ সংস্থান ইত্যাদির উপর নির্ভর করে প্রায় অর্ধেক কোয়েরির গতি কমাতে পারে।
এই টিউটোরিয়ালে, আপনি শিখতে যাচ্ছেন কিভাবে ওরাকল ডাটাবেসে অনন্য সূচী দিয়ে কাজ করতে হয় যাতে একটি সূচীকৃত কলামে ডুপ্লিকেট মানগুলির উপলব্ধতা রোধ করা যায়।
ওরাকল ইউনিক ইনডেক্স
একটি প্রদত্ত কলামে কোনো ডুপ্লিকেট সারি সংরক্ষণ করা হয় না তা নিশ্চিত করতে আমরা একটি অনন্য সূচক ব্যবহার করতে পারি। যদি একটি প্রদত্ত সূচকের কলামে একটি অনন্য নিয়ম থাকে, তাহলে সেই কলামে একই মান সহ দুটি সারি যোগ করার চেষ্টা করলে একটি ত্রুটি দেখা দেবে যা একটি অনন্য সীমাবদ্ধতা লঙ্ঘন নির্দেশ করে।
ওরাকল-এ, আমরা একটি অনন্য সূচক তৈরি করতে পারি CREATE UNIQUE INDEX স্টেটমেন্ট ব্যবহার করে নিম্নলিখিত হিসাবে দেখানো হয়েছে:
টেবিল_নামে অনন্য সূচক সূচক_নাম তৈরি করুন ( কলাম ) ;
যে কলামগুলি সূচীতে অন্তর্ভুক্ত করা হয়েছে সেগুলি কোনও ডুপ্লিকেট সারি গ্রহণ করবে না৷
ইউনিক টেবিল ইলাস্ট্রেশনের উদাহরণ
কিভাবে একটি অনন্য সূচক তৈরি এবং ব্যবহার করতে হয় তা প্রদর্শন করতে, নিম্নলিখিত টেবিলটি নিন:
নির্বাচন করুন * নমুনা_ডেটা থেকে;
আউটপুট :
First_Name কলামে একটি অনন্য সূচক তৈরি করুন
নিম্নলিখিত উদাহরণ বিবৃতি দেখায় কিভাবে প্রথম_নাম কলাম ব্যবহার করে একটি অনন্য সূচক তৈরি করতে হয়:
স্যাম্পল_ডেটাতে ইউনিক ইনডেক্স first_name_unique তৈরি করুন ( নামের প্রথম অংশ ) ;এই সূচীটি সক্রিয় করার মাধ্যমে, আমরা একই প্রথম নামের সাথে একাধিক সারি সন্নিবেশ করতে পারি না।
উদাহরণস্বরূপ নিম্নলিখিত সন্নিবেশ বিবৃতি নিন:
নমুনা_ডেটাতে সন্নিবেশ করান ( আইডি , first_name, ip_address, btc_address, credit_card, identifier )মান ( এগারো , 'ওয়ালাস' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
যদি আমরা প্রদত্ত সন্নিবেশ বিবৃতিটি চালাই, তাহলে আমাদের নিম্নলিখিত হিসাবে দেখানো একটি ত্রুটি পাওয়া উচিত:
[ 23000 ] [ 1 ] ORA-00001: অনন্য সীমাবদ্ধতা ( HR.FIRST_NAME_UNIQUE ) লঙ্ঘনআমরা দেখতে পাচ্ছি, প্রদত্ত মান সন্নিবেশ করা হলে প্রথম_নাম কলামের অনন্য সীমাবদ্ধতা লঙ্ঘন হয়।
দুটি কলাম সহ একটি অনন্য সূচক তৈরি করুন
আমাদের একটি অনন্য সূচক থাকতে পারে যা একাধিক কলাম নিয়ে গঠিত। নিম্নলিখিত উদাহরণে, আমরা first_name এবং io_address কলাম ব্যবহার করে একটি অনন্য সূচক তৈরি করি:
স্যাম্পল_ডেটাতে অনন্য সূচক যাচাই_কলাম তৈরি করুন ( প্রথম_নাম, আইপি_ঠিকানা ) ;একইভাবে, first_name বা ip_address কলামের জন্য ডুপ্লিকেট মান যোগ করার ফলে অনন্য সূচক লঙ্ঘন ত্রুটি দেখা দেবে।
স্বয়ংক্রিয় অনন্য সূচক
আপনি কি কখনও ভেবে দেখেছেন যখন আপনি একটি প্রাথমিক কী বা অনন্য সীমাবদ্ধতা সহ একটি টেবিল কলাম ঘোষণা করেন তখন কী ঘটে?
সহজ কথায়, আপনি যদি টেবিলের প্রাথমিক কী হিসাবে একটি কলাম সেট করেন বা প্রদত্ত কলামে একটি অনন্য সীমাবদ্ধতা নির্ধারণ করেন, ডাটাবেস ইঞ্জিন স্বয়ংক্রিয়ভাবে সেই কলামের জন্য একটি অনন্য সূচক তৈরি করে।
এটি নিশ্চিত করে যে সেই কলামে কোন ডুপ্লিকেট মান সন্নিবেশ করা হয়নি।
উদাহরণস্বরূপ নিম্নলিখিত বিবৃতি নিন:
টেবিল নমুনা_ডেটা তৈরি করুন(
আইডি সংখ্যা
first_name varchar2 ( পঞ্চাশ ) ,
ip_address varchar2 ( বিশ ) ,
btc_address varchar2 ( পঞ্চাশ ) ,
ক্রেডিট_কার্ড varchar2 ( পঞ্চাশ ) ,
শনাক্তকারী varchar2 ( 40 ) ,
সীমাবদ্ধ নমুনা_pk প্রাথমিক কী ( আইডি )
) ;
আগের উদাহরণে, আমরা একটি টেবিল তৈরি করি এবং আইডি কলামটিকে টেবিলের প্রাথমিক কী হিসাবে সেট করি। তারপর, সেই কলামের সাথে যুক্ত অনন্য সীমাবদ্ধতা দেখতে (স্বয়ংক্রিয়ভাবে তৈরি), আমরা নিম্নলিখিত কমান্ডটি চালাতে পারি:
নির্বাচন করুন index_name, index_type, দৃশ্যমানতা, স্থিতি, TABLE_NAMEall_indexes থেকে যেখানে TABLE_NAME = 'নমুনা তথ্য' ;
ফলাফল :
এই ক্ষেত্রে, আমরা আইডি কলামের জন্য ডাটাবেস ইঞ্জিন দ্বারা তৈরি করা অনন্য সূচকটি দেখতে পাচ্ছি।
উপসংহার
এই নির্দেশিকায়, আপনি শিখেছেন কিভাবে ওরাকল ডাটাবেসে অনন্য সূচক তৈরি এবং ব্যবহার করতে হয়। আপনি যখন একটি টেবিল কলামে একটি প্রাথমিক কী বা অনন্য সীমাবদ্ধতা নির্ধারণ করেন তখন কী ঘটে তাও আপনি শিখেছেন।