Skip to content
سبق 9

Databases As Trustworthy Notebooks

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

اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔

اس کو سمجھنے کا ایک سے زیادہ طریقہ ہے۔ اگر آپ کو صرف ایک طریقہ سکھایا گیا ہے تو آپ کو حق سے کم سکھایا گیا ہے۔

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

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

ہاتھوں پر کام۔ sqliteonline.com کھولیں، مفت، انسٹال کی ضرورت نہیں۔ بائیں طرف نمونہ ڈیٹابیس ملے گا۔ new database پر کلک کریں، پھر لکھیں CREATE TABLE customers (name TEXT, city TEXT, balance INTEGER); رن دبائیں۔ آپ نے ابھی خالی کھاتہ بنا لیا۔ اب لکھیں INSERT INTO customers VALUES ('Asif', 'Lahore', 4500); چلائیں۔ کراچی اور کوئٹہ کے دو اور اندراج، مختلف بقایا کے ساتھ۔ آخر میں لکھیں SELECT * FROM customers WHERE balance > 4000; اسکرین آپ کو بالکل وہی قطاریں دکھاتی ہے جو شرط پر اترتی ہیں۔ آپ نے تین کمانڈز میں وہ کام کیا جو کریانے والا سال بھر تین ہزار روپے کے کاغذی کھاتے میں کرتا ہے۔

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

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

تخمینی وقت: 14 منٹ