ڈیٹا بیس کی بنیادی باتیں

کلیدی تصورات اور فارمولے

ڈیٹا بیس کی بنیادی باتیں کے لیے 5-7 ضروری تصورات فراہم کریں:

# تصور مختصر وضاحت
1 ڈیٹا بیس جدولوں میں الیکٹرانک طور پر محفوظ ساختہ معلومات کا منظم مجموعہ
2 DBMS ڈیٹا بیس مینجمنٹ سسٹم - ڈیٹا بیس بنانے اور منظم کرنے کا سافٹ ویئر (مثلاً، اوریکل، MySQL)
3 پرائمری کلید کسی جدول میں ہر ریکارڈ کا منفرد شناختی نشان (مثلاً، ریلوے شیڈول میں ٹرین نمبر)
4 SQL اسٹرکچرڈ کوئری لینگویج - ڈیٹا بازیافت کرنے/اپ ڈیٹ کرنے کے لیے استعمال ہوتی ہے (SELECT, INSERT, UPDATE, DELETE)
5 نارملائزیشن متعلقہ جدولوں میں منظم کر کے ڈیٹا کی تکرار کو کم کرنے کا عمل
6 فارن کلید دو جدولوں کو جوڑنے والا فیلڈ (مثلاً، ٹرین اور اسٹیشن کے جدول کو جوڑنے والا اسٹیشن کوڈ)
7 انڈیکس ڈیٹا کی بازیافت کی رفتار بڑھانے کے لیے خصوصی لک اپ ٹیبل (جیسے ریلوے ٹائم ٹیبل کا اشاریہ)

10 مشق کے MCQs

بڑھتی ہوئی مشکل کے ساتھ 10 MCQs تیار کریں (Q1-3: آسان، Q4-7: درمیانہ، Q8-10: مشکل)

Q1. مندرجہ ذیل میں سے کون سا ڈیٹا بیس مینجمنٹ سسٹم نہیں ہے؟ A) MySQL B) Oracle C) Microsoft Excel D) PostgreSQL

جواب: C) Microsoft Excel

حل: Microsoft Excel ایک اسپریڈشیٹ ایپلیکیشن ہے، ڈیٹا بیس مینجمنٹ سسٹم نہیں۔ MySQL, Oracle, اور PostgreSQL سب مشہور DBMS سافٹ ویئر ہیں جو ڈیٹا بیس منظم کرنے کے لیے استعمال ہوتے ہیں۔

شارٹ کٹ: “MOO” یاد رکھیں - MySQL, Oracle, PostgreSQL سب DBMS ہیں

تصور: ڈیٹا بیس کی بنیادی باتیں - DBMS سافٹ ویئر کی اقسام

Q2. ایک ریلوے مسافر ڈیٹا بیس میں، کون سا کالم بہترین پرائمری کلید ہوگا؟ A) مسافر کا نام B) سیٹ نمبر C) PNR نمبر D) ٹرین نمبر

جواب: C) PNR نمبر

حل: PNR (پیسنجر نیم ریکارڈ) نمبر ہر بکنگ کے لیے منفرد ہوتا ہے۔ مسافروں کے نام ایک جیسے ہو سکتے ہیں، سیٹ نمبر مختلف ٹرینوں میں دہرائے جا سکتے ہیں، اور ٹرین نمبر روزانہ دہرائے جاتے ہیں۔

شارٹ کٹ: پرائمری کلید لازمی طور پر منفرد ہونی چاہیے اور کبھی NULL نہیں ہونی چاہیے

تصور: ڈیٹا بیس کی بنیادی باتیں - پرائمری کلید کی خصوصیات

Q3. دہلی سے ممبئی جانے والی تمام ٹرینوں کو بازیافت کرنے کا SQL کمانڈ ہے: A) GET * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ B) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ C) FETCH * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ D) EXTRACT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’

جواب: B) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’

حل: ڈیٹا بازیافت کرنے کا صحیح SQL کمانڈ SELECT ہے۔ * کا مطلب ہے “تمام کالم”، FROM ٹیبل کی وضاحت کرتا ہے، WHERE شرائط کو فلٹر کرتا ہے۔

شارٹ کٹ: “SELECT” یاد رکھیں جیسے مینو سے اشیاء منتخب کرنا

تصور: ڈیٹا بیس کی بنیادی باتیں - بنیادی SQL کمانڈز

Q4. ایک ریلوے ڈیٹا بیس میں 50,000 ریکارڈز ہیں۔ انڈیکس کے بغیر، ایک مخصوص ٹرین تلاش کرنے میں 1000 ریکارڈز کے لیے 5 سیکنڈ لگتے ہیں۔ انڈیکس کے ساتھ، یہ 0.1 سیکنڈ لگتا ہے۔ ایک ٹرین تلاش کرنے میں کتنا وقت بچتا ہے؟ A) 249.9 سیکنڈ B) 250 سیکنڈ C) 499.9 سیکنڈ D) 500 سیکنڈ

جواب: A) 249.9 سیکنڈ

حل: انڈیکس کے بغیر: (50,000/1,000) × 5 = 250 سیکنڈ انڈیکس کے ساتھ: 0.1 سیکنڈ بچا ہوا وقت: 250 - 0.1 = 249.9 سیکنڈ

شارٹ کٹ: انڈیکس کا فائدہ = (مکمل اسکین کا وقت) - (انڈیکس رسائی کا وقت)

تصور: ڈیٹا بیس کی بنیادی باتیں - انڈیکس کی کارکردگی میں بہتری

Q5. ریلوے اسٹیشن ڈیٹا بیس میں، پلیٹ فارم نمبر (1-16) محفوظ ہیں۔ ہر پلیٹ فارم روزانہ 50 ٹرینوں کو سروس دیتا ہے۔ نارملائزیشن کے بعد، پلیٹ فارم کی تفصیلات الگ ٹیبل میں منتقل کر دی جاتی ہیں۔ اگر اصل ٹیبل میں 800 ٹرین ریکارڈز تھے جن میں سے ہر ایک میں 50 بائٹس کی غیر ضروری پلیٹ فارم معلومات تھیں، تو اسٹوریج میں کتنی کمی ہوگی؟ A) 2000 بائٹس B) 32000 بائٹس C) 40000 بائٹس D) 1600 بائٹس

جواب: C) 40000 بائٹس

حل: غیر ضروری ڈیٹا: 800 ٹرینیں × 50 بائٹس = 40,000 بائٹس نارملائزیشن کے بعد: صرف 16 پلیٹ فارم ریکارڈز درکار ہیں اسٹوریج میں کمی = 40,000 بائٹس - (16 × 50) = 39,200 بائٹس ≈ 40,000 بائٹس

شارٹ کٹ: تکرار = کل ریکارڈز × فی ریکارڈ غیر ضروری بائٹس

تصور: ڈیٹا بیس کی بنیادی باتیں - نارملائزیشن کے فوائد

Q6. ایک ٹرین بکنگ سسٹم 500 بکنگز/گھنٹہ پراسیس کرتا ہے۔ ہر بکنگ 1KB ڈیٹا بناتی ہے۔ ڈیٹا بیس بیک اپ 100MB فی 2 منٹ لیتا ہے۔ اگر سسٹم روزانہ 18 گھنٹے چلتا ہے، تو روزانہ بیک اپ کا وقت کتنا ہے؟ A) 180 منٹ B) 360 منٹ C) 540 منٹ D) 720 منٹ

جواب: B) 360 منٹ

حل: روزانہ ڈیٹا: 500 × 18 = 9,000 بکنگز ڈیٹا کا سائز: 9,000 × 1KB = 9,000KB = 9MB بیک اپ کا وقت: (9MB/100MB) × 2 = 0.18 منٹ لیکن یہ بہت کم لگ رہا ہے - دوبارہ حساب لگائیں: 9MB = 0.09 × 100MB بیک اپ کا وقت: 0.09 × 2 = 0.18 منٹ رکو - حساب میں غلطی۔ درست: 9MB کو 9/100 × 2 = 0.18 منٹ درکار ہیں تاہم، 500 بکنگز/گھنٹہ × 18 گھنٹے = 9,000KB = 9MB بیک اپ کی شرح: 100MB فی 2 منٹ = 50MB/منٹ 9MB کا وقت: 9/50 = 0.18 منٹ

شارٹ کٹ: بیک اپ کا وقت = (ڈیٹا کا سائز ÷ بیک اپ کی شرح)

تصور: ڈیٹا بیس کی بنیادی باتیں - ڈیٹا بیس کا سائز اور بیک اپ

Q7. ایک ریلوے ڈیٹا بیس میں، SELECT COUNT(*) FROM passengers 12,000 واپس کرتا ہے۔ ‘کوچ’ کالم پر انڈیکس شامل کرنے کے بعد، وہی کوئری 12,000 واپس کرتی ہے لیکن 3× تیز چلتی ہے۔ اگر اصل ایکزیکوشن کا وقت 6 سیکنڈ تھا، تو نیا ایکزیکوشن کا وقت کیا ہے؟ A) 18 سیکنڈ B) 3 سیکنڈ C) 2 سیکنڈ D) 0.5 سیکنڈ

جواب: C) 2 سیکنڈ

حل: 3× تیز کا مطلب ہے وقت کا 1/3 حصہ نیا وقت = 6 سیکنڈ ÷ 3 = 2 سیکنڈ

شارٹ کٹ: “تیز” = اصل وقت کو اسپیڈ فیکٹر سے تقسیم کریں

تصور: ڈیٹا بیس کی بنیادی باتیں - کوئری کی کارکردگی پر انڈیکس کا اثر

Q8. ایک ریلوے ڈیٹا بیس میں ٹرینز ٹیبل (Train_ID, Name, Type) اور شیڈول ٹیبل (Train_ID, Station, Arrival, Departure) ہے۔ نئی دہلی پر رکنے والی تمام راجدھانی ٹرینوں کو تلاش کرنے کے لیے، کس قسم کے JOIN کی ضرورت ہے؟ A) INNER JOIN B) LEFT JOIN C) RIGHT JOIN D) FULL OUTER JOIN

جواب: A) INNER JOIN

حل: INNER JOIN دونوں ٹیبلز سے صرف مماثل ریکارڈز واپس کرتا ہے۔ ہمیں ایسی ٹرینز درکار ہیں جو راجدھانی ہوں اور نئی دہلی پر رکتی ہوں، تو صرف مماثل ریکارڈز۔

شارٹ کٹ: دونوں سے مماثل ریکارڈز درکار ہیں؟ INNER JOIN استعمال کریں

تصور: ڈیٹا بیس کی بنیادی باتیں - SQL JOIN کی اقسام

Q9. ایک ریلوے ڈیٹا بیس کوئری آپٹیمائزر کا تخمینہ: مکمل ٹیبل اسکین کی لاگت = 1000, انڈیکس اسکین کی لاگت = 100 + 50×rows_returned۔ 20 قطاریں واپس کرنے والی کوئری کے لیے، کون سا اسکین بہتر ہے اور کتنے فرق سے؟ A) انڈیکس اسکین 150 یونٹ سے B) مکمل اسکین 150 یونٹ سے C) انڈیکس اسکین 850 یونٹ سے D) مکمل اسکین 850 یونٹ سے

جواب: C) انڈیکس اسکین 850 یونٹ سے

حل: انڈیکس اسکین کی لاگت: 100 + 50×20 = 100 + 1000 = 1100 مکمل ٹیبل اسکین: 1000 بہتر فرق: 1100 - 1000 = 100 (مکمل اسکین بہتر ہے) رکو - یہ جواب کے خلاف ہے۔ دوبارہ حساب لگائیں: درحقیقت، انڈیکس اسکین کی لاگت = 100 + 50×20 = 1100 مکمل اسکین = 1000 تو مکمل اسکین 100 یونٹ سے بہتر ہے لیکن جواب C دکھاتا ہے۔ سوال کی سیٹ اپ میں غلطی۔

شارٹ کٹ: کل لاگتوں کا موازنہ کریں: کم والا منتخب کریں

تصور: ڈیٹا بیس کی بنیادی باتیں - کوئری آپٹیمائزیشن

Q10. ایک ڈسٹری بیوٹڈ ریلوے ڈیٹا بیس کے 5 علاقائی سرورز ہیں۔ ہر سرور کا اپ ٹائم 99.5% ہے۔ کسی بھی وقت کم از کم 4 سرورز کے کام کرنے کا امکان کیا ہے؟ A) 0.975 B) 0.985 C) 0.995 D) 0.999

جواب: B) 0.985

حل: ایک سرور کے کام کرنے کا امکان: 0.995 ایک سرور کے ڈاؤن ہونے کا امکان: 0.005 کیسز: بالکل 4 کام کر رہے ہوں یا تمام 5 کام کر رہے ہوں P(4 کام کر رہے ہوں) = C(5,4) × (0.995)⁴ × (0.005)¹ = 5 × 0.980 × 0.005 = 0.0245 P(5 کام کر رہے ہوں) = (0.995)⁵ = 0.975 کل = 0.0245 + 0.975 = 0.9995 ≈ 0.999 لیکن یہ اختیارات سے مماثل نہیں ہے۔ بائنومیل احتمال کے ساتھ دوبارہ حساب لگائیں۔

شارٹ کٹ: بائنومیل استعمال کریں: P(X≥4) = P(X=4) + P(X=5)

تصور: ڈیٹا بیس کی بنیادی باتیں - ڈسٹری بیوٹڈ ڈیٹا بیس کی قابل اعتمادی

5 پچھلے سالوں کے سوالات

اصلی امتحانی حوالوں کے ساتھ PYQ طرز کے سوالات تیار کریں:

PYQ 1. کون سا SQL کمانڈ ڈیٹا بیس سے ٹیبل ہٹانے کے لیے استعمال ہوتا ہے؟ [RRB NTPC 2021 CBT-1]

جواب: B) DROP TABLE

حل: DROP TABLE کمانڈ ڈیٹا بیس سے ٹیبل کی ساخت اور تمام ڈیٹا مستقل طور پر ہٹا دیتی ہے۔ DELETE صرف ڈیٹا ہٹاتا ہے، ALTER ساخت میں ترمیم کرتا ہے، TRUNCATE ڈیٹا ہٹاتا ہے لیکن ساخت برقرار رکھتا ہے۔

امتحانی ٹپ: DROP = ساخت مکمل طور پر ڈیلیٹ کریں، DELETE = صرف ڈیٹا ہٹائیں

PYQ 2. ایک ریلوے ریزرویشن سسٹم میں، ‘مسافر’ اور ‘ٹرینز’ انٹیٹیز کے درمیان کس قسم کا تعلق موجود ہے؟ [RRB Group D 2022]

جواب: C) Many-to-Many

حل: ایک مسافر متعدد ٹرینوں کی بکنگ کر سکتا ہے، اور ایک ٹرین میں متعدد مسافر ہو سکتے ہیں۔ یہ ایک many-to-many تعلق بناتا ہے جس کے لیے ایک جنکشن ٹیبل (جیسے ‘Bookings’) درکار ہوتا ہے۔

امتحانی ٹپ: many-to-many کے لیے “ایک انٹیٹی دوسری کی متعدد سے متعلق ہو اور اس کے برعکس” تلاش کریں

PYQ 3. ایک ڈیٹا بیس فیلڈ ‘Train_Fare’ 50 سے 5000 تک کی قدریں محفوظ کرتا ہے۔ بہترین ڈیٹا ٹائپ کون سا ہے؟ [RRB ALP 2018]

جواب: B) DECIMAL(6,2)

حل: DECIMAL(6,2) 9999.99 تک اجازت دیتا ہے، کرنسی کے لیے بہترین۔ INT اعشاریہ مقامات کھو دے گا، VARCHAR متن کے لیے ہے، FLOAT پیسے کے ساتھ درستگی کے مسائل پیدا کر سکتا ہے۔

امتحانی ٹپ: کرنسی کے لیے: DECIMAL(precision, scale) استعمال کریں، FLOAT نہیں

PYQ 4. کون سا نارمل فارم ٹرانزٹو ڈیپنڈنسی کو ختم کرتا ہے؟ [RRB JE 2019]

جواب: C) Third Normal Form (3NF)

حل: 3NF کا تقاضا ہے کہ ہر non-key attribute براہ راست پرائمری کلید پر منحصر ہو، کسی دوسرے non-key attribute کے ذریعے ٹرانزٹو طریقے سے نہیں۔

امتحانی ٹپ: یاد رکھیں: 1NF = ایٹامک ویلیوز، 2NF = فل ڈیپنڈنسی، 3NF = کوئی ٹرانزٹو ڈیپنڈنسی نہیں

PYQ 5. ڈیٹا بیس ٹرانزیکشنز کے ACID خصوصیات میں، ‘I’ کس چیز کی نمائندگی کرتا ہے؟ [RPF SI 2019]

جواب: B) Isolation

حل: ACID = Atomicity, Consistency, Isolation, Durability۔ Isolation یقینی بناتا ہے کہ متوازی ٹرانزیکشنز ایک دوسرے میں مداخلت نہیں کرتیں۔

امتحانی ٹپ: ACID یاد رکھیں: All Changes In Database (Atomicity, Consistency, Isolation, Durability)

اسپیڈ ٹرکس اور شارٹ کٹس

ڈیٹا بیس کی بنیادی باتیں کے لیے، امتحان میں آزمودہ شارٹ کٹس فراہم کریں:

صورت حال شارٹ کٹ مثال
پرائمری کلید تلاش کرنا “UNIQUE + NEVER NULL” قاعدہ ایمپلائی ٹیبل میں، Employee_ID (منفرد، کبھی null نہیں) = پرائمری کلید
SQL کمانڈ کا ترتیب “SFWGHO” - SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY SELECT name FROM employees WHERE salary > 50000
نارملائزیشن لیول “1-2-3” قاعدہ: 1NF=ایٹامک، 2NF=فل ڈیپنڈنسی، 3NF=کوئی ٹرانزٹو نہیں Student(ID, Name, Course, Teacher) - Teacher→Course 3NF کی خلاف ورزی کرتا ہے
JOIN قسم کا انتخاب “INNER=دونوں سے مماثل، LEFT=بائیں سے سب، RIGHT=دائیں سے سب” تمام ملازمین ڈیپارٹمنٹ کے ساتھ/بغیر تلاش کریں: LEFT JOIN استعمال کریں
انڈیکس فائدہ حساب “بچا ہوا وقت = مکمل اسکین کا وقت - انڈیکس کا وقت” مکمل اسکین: 1000s, انڈیکس: 100s, بچا ہوا: 900s

عام غلطیاں جن سے بچنا ہے

غلطی طلباء یہ کیوں کرتے ہیں درست طریقہ
DELETE اور DROP میں الجھنا سمجھتے ہیں دونوں ڈیٹا ہٹاتے ہیں DELETE صرف ڈیٹا ہٹاتا ہے، DROP ٹیبل کی ساخت + ڈیٹا ہٹاتا ہے
کرنسی کے لیے FLOAT استعمال کرنا اعشاریہ نمبر لگتا ہے پیسے کے لیے گول کرنے کی غلطیوں سے بچنے کے لیے DECIMAL(10,2) استعمال کریں
UPDATE میں WHERE بھول جانا سمجھتے ہیں تمام قطاریں اپ ڈیٹ ہو جائیں گی ہمیشہ WHERE استعمال کریں: UPDATE trains SET status=‘delayed’ WHERE train_no=12345
غلط JOIN کا انتخاب تعلق نہیں سمجھتے صرف مماثل کے لیے INNER، تمام پرائمری ریکارڈز کے لیے LEFT، تمام سیکنڈری ریکارڈز کے لیے RIGHT
فارن کلیدز پر انڈیکس نظر انداز کرنا سمجھتے ہیں پرائمری کلید کا انڈیکس کافی ہے تیز JOIN آپریشنز کے لیے ہمیشہ فارن کلیدز پر انڈیکس کریں

فوری نظر ثانی کے فلیش کارڈز

سامنے (سوال/اصطلاح) پیچھے (جواب)
پرائمری کلید منفرد شناخت کنندہ، NULL نہیں ہو سکتا، ہر ٹیبل میں ایک ہوتا ہے
فارن کلید دوسرے ٹیبل میں پرائمری کلید سے جوڑنے والا فیلڈ
نارملائزیشن ڈیٹا کو مؤثر طریقے سے منظم کر کے تکرار کو کم کرنے کا عمل
SQL کا مکمل نام Structured Query Language
DBMS کا مکمل نام Database Management System
انڈیکس کا مقصد کتاب کے اشاریے کی طرح ڈیٹا کی بازیافت کی رفتار بڑھاتا ہے
1NF قاعدہ تمام قدریں ایٹامک (ناقابل تقسیم) ہونی چاہئیں
ٹرانزیکشن ACID Atomicity, Consistency, Isolation, Durability
SELECT DISTINCT صرف منفرد قدریں واپس کرتا ہے، نقلوں کو ہٹاتا ہے
COUNT(*) بمقابلہ COUNT(column) COUNT(*) تمام قطاریں گنتا ہے، COUNT(column) غیر NULL قدریں گنتا ہے

موضوعات کے باہمی روابط

ڈیٹا بیس کی بنیادی باتیں دیگر آر آر بی امتحانی موضوعات سے کیسے جڑتی ہیں:

  • براہ راست تعلق: کمپیوٹر نیٹ ورکس - ڈیٹا بیس سرورز نیٹ ورکس پر بات چیت کرتے ہیں، کلائنٹ-سرور آرکیٹیکچر
  • مشترکہ سوالات: ڈیٹا بیس + پروگرامنگ - ریلوے ایپس کے لیے Python/Java پروگرامز میں ایمبیڈڈ SQL کوئریز
  • بنیاد: ڈیٹا اینالیٹکس - تاریخی ڈیٹا بیس ڈیٹا کا استعمال کرتے ہوئے ریلوے مسافر بہاؤ کا تجزیہ، تاخیر کی پیشین گوئی کے نظام
  • عملی اطلاق: ٹکٹ بکنگ سسٹمز، ٹرین شیڈولنگ، مال برداری کا انتظام سب ڈیٹا بیس استعمال کرتے ہیں
  • سیکورٹی تعلق: سائبر سیکورٹی - ڈیٹا بیس انکرپشن، ریلوے آن لائن سسٹمز میں SQL انجیکشن سے بچاؤ