PostgreSQL آٹو انکریمنٹ کیسے کریں۔

Postgresql A W Ankrymn Kys Kry



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

PostgreSQL آٹو انکریمنٹ کے دو طریقے

ڈیٹا بیس بناتے وقت، آپ کے پاس ہر ٹیبل کے لیے ایک بنیادی کلید ہونی چاہیے تاکہ یہ یقینی بنایا جا سکے کہ ٹیبلز میں کوئی ڈپلیکیٹ ظاہر نہ ہو۔ بنیادی کلیدیں بنانے کا ایک طریقہ INT ڈیٹا کی قسم کے لیے آٹو انکریمنٹ فیچر کا استعمال کرنا ہے۔ PostgreSQL تمام اندراجات کے لیے بنیادی کلیدی قدر پیدا کرتا ہے، جس سے ڈویلپر کو پرائمری کو دستی طور پر ٹائپ کرنے کی پریشانی سے آزاد کیا جاتا ہے۔

دو طریقے ہیں جو آپ اپنے PostgreSQL ڈیٹا بیس میں آٹو انکریمنٹ بنانے کے لیے استعمال کر سکتے ہیں۔







طریقہ 1: سیریل سیوڈو ٹائپ کا استعمال

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



نوٹ کریں کہ یہ آٹو انکریمنٹ INT ڈیٹا کی قسم کو تفویض کیا جاتا ہے اور ٹیبل یا کالم کے گرنے کے بعد حذف ہوجاتا ہے۔



آٹو انکریمنٹ بنانے کا نحو یہ ہے:





بنانا ٹیبل TABLE_NAME ( id SERIAL data_type ) ;

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



جب ہم اپنے ٹیبل میں اقدار داخل کرنا چاہتے ہیں، تو ہم صرف دوسرے کالموں کے لیے داخل کرتے ہیں اور آٹو انکریمنٹ کالم کو چھوڑ دیتے ہیں کیونکہ اس کی قدریں خود بخود بن جاتی ہیں۔ یہاں ایک مثال ہے جہاں ہم اپنے ٹیبل میں پانچ اندراجات شامل کرتے ہیں:

جب ہم ٹیبل ریکارڈز کو چیک کرنے کے لیے SELECT اسٹیٹمنٹ کا استعمال کرتے ہیں، تو دیکھیں کہ 'user_id' کالم منفرد شناختوں پر مشتمل ہے جو کہ ہمارے معاملے میں 1 سے شروع ہونے والے نمبر ہیں۔ اسی طرح SERIAL pseudo-type کا استعمال کرتے ہوئے PostgreSQL آٹو انکریمنٹ کرنا ہے۔

طریقہ 2: ایک ترتیب بنانا

جب آپ SERIAL pseudo-type استعمال کرتے ہیں تو آٹو انکریمنٹ ویلیوز بنانے کے لیے، آپ اس پر قابو نہیں رکھتے کہ آپ کی منفرد شناخت کیسے بنتی ہے۔ پچھلی مثال کے لیے، ہم نے دیکھا ہے کہ ہماری منفرد شناختیں 1 سے شروع ہوتی ہیں۔ تاہم، اگر آپ ان اقدار کو کنٹرول کرنا چاہتے ہیں، تو مان لیں کہ آپ ان کو کس نقطہ پر بنانا چاہتے ہیں، آپ کو ایک حسب ضرورت ترتیب بنانا چاہیے۔

PostgreSQL کے پاس SEQUENCE کا آپشن ہے جہاں آپ کالم کا نام بتا سکتے ہیں جو آٹو انکریمنٹ کے لیے استعمال کیا جا سکتا ہے اور کالم کے لیے ابتدائی قدر کی وضاحت کر سکتے ہیں۔ مثال کے طور پر، اگر ہم 100 سے اقدار شروع کرنا چاہتے ہیں، تو ہم درج ذیل حسب ضرورت ترتیب بناتے ہیں:

ترتیب ترتیب بنائیں کالم_نام start_value؛

ترتیب بنانے کے بعد، اب آپ اپنا ٹیبل بنا سکتے ہیں۔ نوٹ کریں کہ آپ کو وہی کالم نام استعمال کرنا چاہیے جہاں آپ نے تخلیق کردہ ٹیبل کے لیے 'nextval('holder')' کی طرح ترتیب بنائی ہے۔ اس طرح، PostgreSQL یہ جاننے کے لیے ترتیب کا حوالہ دیتا ہے کہ کالموں کے لیے منفرد شناخت پیدا کرتے وقت کس ترتیب پر عمل کرنا ہے۔

ہم اپنا ٹیبل بنانے کے لیے درج ذیل کمانڈ چلاتے ہیں۔

متعلقہ کالموں کے لیے بنائے گئے ٹیبل میں اقدار داخل کرنے کے لیے آگے بڑھیں۔

جب ہم ٹیبل کے اندراجات کی فہرست بنانے کے لیے 'منتخب کریں' استفسار چلاتے ہیں، تو ہم دیکھ سکتے ہیں کہ ہم اپنے آٹو انکریمنٹ کو کنٹرول کرنے میں کامیاب ہو گئے ہیں۔ 'user_id' کالم اپنی قدر 100 سے شروع کرتا ہے اور دیگر اندراجات کے لیے بعد میں آنے والی قدریں تیار کرتا ہے جو ہم ٹیبل میں داخل کرتے ہیں۔

PostgreSQL کے لیے آٹو انکریمنٹ بنانے کا یہ دوسرا طریقہ ہے۔

نتیجہ

آپ کے ٹیبل میں انفرادیت پیدا کرنے کے لیے آٹو انکریمنٹ بنانا فائدہ مند ہے۔ جب آپ اپنے ٹیبل کے لیے بنیادی کلید کی وضاحت کرنا چاہتے ہیں، تو INT ڈیٹا کی قسم کے لیے آٹو انکریمنٹ فیچر استعمال کریں۔ PostgreSQL قدریں خود بخود پیدا کرتا ہے، اس بات کو یقینی بناتے ہوئے کہ آپ کے ٹیبل میں کوئی ڈپلیکیٹ موجود نہیں ہے۔ ہم نے وضاحت کی ہے کہ PostgreSQL کے لیے آٹو انکریمنٹ کیسے بنایا جائے اور دو طریقوں کی دو مثالیں فراہم کیں جنہیں آپ استعمال کر سکتے ہیں۔ آپ کے پاس موجود منظر نامے کے لحاظ سے دونوں طریقے لاگو ہوتے ہیں۔ انہیں آزمائیں!