مائیکروسافٹ SQL سرور میں غیر ملکی چابیاں کیسے بنائیں

ڈیٹا بیس میں سب سے اہم تصورات میں سے ایک ڈیٹا بیس میزوں کے درمیان تعلقات پیدا کر رہا ہے. یہ تعلقات متعدد جدولوں میں ذخیرہ کردہ ڈیٹا سے منسلک کرنے اور اسے موثر انداز میں حاصل کرنے کے لئے ایک میکانزم فراہم کرتی ہے. دو میزوں کے درمیان ایک لنک بنانے کے لئے، آپ کو ایک میز میں ایک غیر ملکی کی کلید کی وضاحت کرنا ضروری ہے جس میں کسی دوسرے میز کے ایک کالم کا حوالہ دیا جاتا ہے.

ڈیٹا بیس میزیں اور تعلقات

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

مثال کے طور پر، انسانی وسائل کی معلومات کو ٹریک کرنے کے لئے ایک کمپنی کی طرف سے استعمال کردہ ڈیٹا بیس پر غور کریں. اس ڈیٹا بیس میں ایک ملازم کا نام ملا ہے جس میں کمپنی کے عملے کے ہر رکن کے لئے مندرجہ ذیل معلومات ہوتی ہے:

اس مثال میں، ملازم کی شناخت ایک منفرد پیدا شدہ انکٹر ہے جو ہر ملازم کو تفویض کیا جاتا ہے جب وہ ڈیٹا بیس میں شامل ہوتے ہیں. پوزیشن ID ایک نوکری کا کوڈ ہے جس میں کمپنی میں ملازم کی حیثیت کا حوالہ دیا جاتا ہے. اس اسکیم میں، ایک ملازم صرف ایک پوزیشن حاصل کرسکتا ہے، لیکن ایک سے زیادہ (یا نہیں) ملازمین ہر پوزیشن کو بھر سکتے ہیں. مثال کے طور پر، آپ کے پاس "کیشئر" پوزیشن کے ساتھ سینکڑوں ملازمین ہوسکتے ہیں.

ہر ڈیٹا بیس کے بارے میں مندرجہ ذیل اضافی معلومات کے ساتھ ڈیٹا بیس میں اسٹائل نامی ایک میز بھی شامل ہوسکتا ہے:

اس ٹیبل میں پوزیشن ID فیلڈ ملازمین کی میز میں ملازم ID فیلڈ کی طرح ہے - یہ ایک منفرد تخلیقی انوزر ہے جس کی تشکیل کسی ڈیٹا بیس میں شامل ہوجائے گی.

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

جب آپ میزوں کی ساخت کو دیکھتے ہیں تو، تعلقات کی وضاحت کا میدان شاید واضح ہے - پوزیشن ID فیلڈ. ہر ملازم کو صرف ایک پوزیشن حاصل ہوسکتی ہے اور پوزیشن کی میز کے متعلقہ داخلے سے پوزیشن کی شناخت بھی شامل ہوتی ہے. پوزیشن میز کے لئے بنیادی کلید ہونے کے علاوہ، اس مثال میں، پوزیشن ID فیلڈ ملازمت کی میز سے پوزیشن میز پر ایک غیر ملکی کلیدی ہے. اس ڈیٹا بیس کو اس فیلڈ کا استعمال اس طرح سے کر سکتا ہے کہ معلومات کو متعدد جدولوں سے مل کر اور اس بات کو یقینی بنائے کہ ڈیٹا بیس میں کسی بھی تبدیلی یا اضافے کو حوالہ دار سالمیت کو نافذ کرنا جاری ہے .

ایک بار جب آپ نے غیر ملکی کلیدی کی شناخت کی ہے، تو آپ آگے بڑھا سکتے ہیں اور مندرجہ ذیل سوال کا استعمال کرتے ہوئے ڈیٹا بیس سے مطلوب معلومات ھیںچو:

منتخب کریں پہلا نام، آخری نام، ملازمین کی داخلہ سے عنوان ملازمین پر پوزیشن ..PositionID = پوزیشن. PositionID

SQL سرور میں غیر ملکی کلید بنانا

تکنیکی طور پر، آپ کو اوپر سے ایک جیسے سوالات انجام دینے کے قابل ہونے کے لئے واضح طور پر تعلقات کی وضاحت کرنے کی ضرورت نہیں ہے. تاہم، اگر آپ غیر ملکی کلیدی رکاوٹ کے استعمال سے واضح طور پر تعارف کرتے ہیں، تو ڈیٹا بیس آپ کے لئے کچھ گھریلو کام انجام دینے میں کامیاب ہوسکتا ہے:

یہاں ہے کہ آپ کس طرح SQL سرور میں غیر ملکی کلید بنائے جائیں گے:

مندرجہ ذیل جدول ملازمین خارجی کلیدی (PositionID) شامل ہیں حوالہ جات کی حیثیت (PositionID)

جب آپ اس شق کو شامل کرکے میز کی تخلیق کرتے ہیں تو آپ ایک غیر ملکی کلید تشکیل دے سکتے ہیں:

فاریکس کلیدی ریفریجریشن پوزیشن (پوزیشن آئی ڈی)

غیر ملکی کلیدی کالم کے لئے کالم کی تعریف کے اختتام تک.