تیسری عمومی فارم (3 این ایف) میں ڈیٹا بیس ڈالنا

تیسری معمولی شکل (3 این ایف) ایک ڈیٹا بیس کے اصول ہے جو ڈیٹا بیس معمولی فارم (1 این ایف) اور دوسرا عمومی فارم (2 این ایف) کی طرف سے فراہم ڈیٹا بیس معمولی اصولوں پر تعمیر کرکے ڈیٹا کی سالمیت کی حمایت کرتا ہے.

تیسری عمومی فارم کی ضروریات

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

ابتدائی کلیدی انحصار کے بارے میں

آئیے اس حقیقت سے ہمارا کیا مطلب ہے کہ تمام کالم کو بنیادی کلید پر منحصر ہونا چاہئے.

اگر کالم کی قیمت میں بنیادی کلید اور ٹیبل میں دوسرے کالم دونوں سے حاصل کیا جاسکتا ہے، تو یہ 3 این ایف کی خلاف ورزی ہے. ان کالموں کے ساتھ ملازمین کی میز پر غور کریں:

LastName اور FirstName دونوں صرف EmployeeID کی قیمت پر منحصر ہے؟ ٹھیک ہے، آخری نام سب سے پہلے نام پر منحصر ہے؟ نہیں، کیونکہ LastName میں موجود کوئی بھی چیز اولین نام کی قیمت بتاتی ہے. سب سے پہلے نام LastName پر منحصر ہے؟ کوئی بھی نہیں، کیونکہ وہی سچ ہے: جو کچھ بھی آخری نام ہوسکتا ہے، اسے پہلی نام کی قیمت کے طور پر اشارہ نہیں مل سکا. لہذا، یہ میز 3NF مطابق ہے.

لیکن اس گاڑیوں کی میز پر غور کریں:

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

اسے تعمیل کرنے کے لئے، ہمیں اضافی منسلک کالم کو دوسری میز پر منتقل کرنے کی ضرورت ہوگی اور اسے غیر ملکی کلیدی کا استعمال کرتے ہوئے حوالہ دینا ہوگا. اس کے نتیجے میں دو میزیں ہوں گے:

گاڑیاں

مندرجہ ذیل کی میز میں، ماڈلڈ ماڈل میز کی ایک غیر ملکی کلیدی ہے:

ماڈلز ٹیبل

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

3 این ایف ماڈل میں حاصل شدہ فیلڈز

میز میں ایک حاصل کردہ فیلڈ ہوسکتا ہے - جو میز کے دیگر کالموں پر مبنی ہے. مثال کے طور پر، ویجیٹ احکامات کی اس میز پر غور کریں:

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

دراصل، کیونکہ یہ حاصل کیا جاتا ہے، یہ بہتر ہے کہ اسے ڈیٹا بیس میں ذخیرہ نہ کرو.

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

منتخب کریں آرڈر نمبر، کل سے ویجیٹآرڈرز

اب ہم مندرجہ ذیل سوال کا استعمال کرسکتے ہیں:

منتخب کریں آرڈر نمبر، یونٹ قیمت * مقدار کے طور پر ویجیٹ سے کلآرڈرز

معمول کے قوانین کی خلاف ورزی کے بغیر ہی نتائج حاصل کرنے کے لئے.