اوریکل یونیک انڈیکس

Awrykl Ywnyk An Yks



ڈیٹا بیس کی کارکردگی ڈیٹا بیس ڈویلپر کے ضروری کرداروں میں سے ایک ہے۔ اس بات کو یقینی بنانا کہ آپ کا ڈیٹا بیس بہترین کارکردگی پر چل رہا ہے اس ڈیٹا بیس پر ایپلی کیشنز کو پڑھنے یا لکھنے پر نمایاں طور پر اثر انداز ہو سکتا ہے۔

اگرچہ ڈیٹا بیس کی کارکردگی کو بہتر بنانے کے متعدد طریقے موجود ہیں، لیکن ایک خصوصیت کسی بھی ڈیٹا بیس کے لیے تقریباً عالمگیر ہے۔ ڈیٹا بیس انڈیکس ڈیٹا کے ڈھانچے یا اشیاء ہیں جو ٹیبل سے ڈیٹا کی بازیافت کی رفتار کو بڑھانے کے لیے استعمال ہوتے ہیں۔

جب درست طریقے سے استعمال کیا جائے تو، ڈیٹا بیس انڈیکسز کسی سوال کی رفتار کو تقریباً نصف تک کم کر سکتے ہیں، ہدف ڈیٹا، ترتیب، دستیاب وسائل وغیرہ پر منحصر ہے۔







اس ٹیوٹوریل میں، آپ یہ سیکھنے جا رہے ہیں کہ اوریکل ڈیٹا بیس میں منفرد اشاریہ جات کے ساتھ کیسے کام کرنا ہے تاکہ انڈیکسڈ کالم میں ڈپلیکیٹ ویلیو کی دستیابی کو روکا جا سکے۔



اوریکل یونیک انڈیکس

ہم اس بات کو یقینی بنانے کے لیے ایک منفرد انڈیکس استعمال کر سکتے ہیں کہ دیے گئے کالم میں کوئی ڈپلیکیٹ قطاریں محفوظ نہیں ہیں۔ اگر کسی دیے گئے انڈیکس کے کالم میں ایک منفرد اصول ہے، تو اس کالم میں ایک جیسی قدر کے ساتھ دو قطاریں شامل کرنے کی کوشش کرنے سے ایک خرابی پیدا ہو جائے گی جو ایک منفرد رکاوٹ کی خلاف ورزی کی نشاندہی کرتی ہے۔



اوریکل میں، ہم CREATE UNIQUE INDEX اسٹیٹمنٹ کا استعمال کرتے ہوئے ایک منفرد انڈیکس بنا سکتے ہیں جیسا کہ درج ذیل میں دکھایا گیا ہے۔





ٹیبل_نام پر منفرد انڈیکس انڈیکس_نام بنائیں ( کالم ) ;

جو کالم انڈیکس میں شامل ہیں وہ کسی بھی ڈپلیکیٹ قطار کو قبول نہیں کریں گے۔

منفرد جدول کی مثال کی مثال

ایک منفرد انڈیکس بنانے اور استعمال کرنے کا طریقہ دکھانے کے لیے، درج ذیل جدول کو لیں:



منتخب کریں۔ * نمونہ_ڈیٹا سے؛

آؤٹ پٹ :

First_Name کالم پر ایک منفرد انڈیکس بنائیں

مندرجہ ذیل مثال کے بیان سے پتہ چلتا ہے کہ 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 کالم کے لیے انوکھی رکاوٹ کی خلاف ورزی ہوتی ہے۔

دو کالموں کے ساتھ ایک منفرد انڈیکس بنائیں

ہمارے پاس ایک منفرد انڈیکس بھی ہو سکتا ہے جو ایک سے زیادہ کالموں پر مشتمل ہو۔ درج ذیل مثال میں، ہم first_name اور io_address کالمز کا استعمال کرتے ہوئے ایک منفرد انڈیکس بناتے ہیں۔

نمونہ_ڈیٹا پر منفرد انڈیکس verify_columns بنائیں ( پہلا نام، آئی پی ایڈریس ) ;

اسی طرح، first_name یا ip_address کالم کے لیے ڈپلیکیٹ اقدار کو شامل کرنے کے نتیجے میں انڈیکس کی خلاف ورزی کی انوکھی خامیاں پیدا ہوں گی۔

خودکار منفرد اشاریہ جات

کیا آپ نے کبھی سوچا ہے کہ جب آپ بنیادی کلید یا منفرد رکاوٹ کے ساتھ ٹیبل کالم کا اعلان کرتے ہیں تو کیا ہوتا ہے؟

سادہ الفاظ میں، اگر آپ کسی کالم کو ٹیبل کی بنیادی کلید کے طور پر سیٹ کرتے ہیں یا کسی دیے گئے کالم کے لیے ایک منفرد رکاوٹ تفویض کرتے ہیں، تو ڈیٹا بیس انجن خود بخود اس کالم کے لیے ایک منفرد انڈیکس بناتا ہے۔

یہ یقینی بناتا ہے کہ اس کالم میں کوئی ڈپلیکیٹ قدر نہیں ڈالی گئی ہے۔

مثال کے طور پر درج ذیل بیان کو لیں:

ٹیبل نمونہ_ڈیٹا بنائیں
(
آئی ڈی نمبر
first_name  varchar2 ( پچاس ) ,
ip_address  varchar2 ( بیس ) ،
btc_address varchar2 ( پچاس ) ،
credit_card varchar2 ( پچاس ) ،
شناخت کنندہ varchar2 ( 40 ) ،
constraint sample_pk بنیادی کلید ( آئی ڈی )
) ;

پچھلی مثال میں، ہم ایک ٹیبل بناتے ہیں اور آئی ڈی کالم کو ٹیبل کی بنیادی کلید کے طور پر سیٹ کرتے ہیں۔ پھر، اس کالم سے منسلک منفرد رکاوٹ کو دیکھنے کے لیے (خود بخود تیار کردہ)، ہم درج ذیل کمانڈ چلا سکتے ہیں:

منتخب کریں index_name, index_type, visibility, status, TABLE_NAME
تمام_انڈیکس سے جہاں TABLE_NAME = 'SAMPLE_DATA' ;

نتائج :
اس صورت میں، ہم منفرد انڈیکس دیکھ سکتے ہیں جو id کالم کے لیے ڈیٹا بیس انجن کے ذریعے بنایا گیا ہے۔

نتیجہ

اس گائیڈ میں، آپ نے سیکھا کہ اوریکل ڈیٹا بیس میں انوکھے اشاریہ جات کو کیسے بنانا اور استعمال کرنا ہے۔ آپ نے یہ بھی سیکھا کہ جب آپ ٹیبل کالم کو بنیادی کلید یا انوکھی رکاوٹ تفویض کرتے ہیں تو کیا ہوتا ہے۔