डेटाबेस बेसिक्स
मुख्य संकल्पना आणि सूत्रे
डेटाबेस बेसिक्ससाठी ५-७ आवश्यक संकल्पना द्या:
| # | संकल्पना | झटपट स्पष्टीकरण |
|---|---|---|
| 1 | डेटाबेस | सारण्यांमध्ये इलेक्ट्रॉनिक पद्धतीने संग्रहित केलेल्या संरचित माहितीचा संघटित संग्रह |
| 2 | डीबीएमएस | डेटाबेस व्यवस्थापन प्रणाली - डेटाबेस तयार करण्यासाठी, व्यवस्थापित करण्यासाठी सॉफ्टवेअर (उदा., ओरेकल, MySQL) |
| 3 | प्राथमिक की | टेबलमधील प्रत्येक रेकॉर्डसाठी अद्वितीय ओळखकर्ता (उदा., रेल्वे वेळापत्रकातील ट्रेन क्र.) |
| 4 | एसक्यूएल | स्ट्रक्चर्ड क्वेरी लँग्वेज - डेटा पुनर्प्राप्त/अद्यतनित करण्यासाठी वापरली जाते (SELECT, INSERT, UPDATE, DELETE) |
| 5 | सामान्यीकरण | संबंधित सारण्यांमध्ये संघटित करून डेटा पुनरावृत्ती कमी करण्याची प्रक्रिया |
| 6 | परदेशी की | दोन सारण्या एकत्र जोडणारे फील्ड (उदा., ट्रेन आणि स्टेशन सारण्या जोडणारा स्टेशन कोड) |
| 7 | अनुक्रमणिका | डेटा पुनर्प्राप्ती गती वाढवण्यासाठी विशेष शोध सारणी (रेल्वे वेळापत्रक अनुक्रमणिकेसारखी) |
१० सराव बहुपर्यायी प्रश्न
वाढत्या अवघडपणाचे १० बहुपर्यायी प्रश्न तयार करा (प्रश्न १-३: सोपे, प्रश्न ४-७: मध्यम, प्रश्न ८-१०: कठीण)
प्रश्न १. खालीलपैकी कोणते डेटाबेस व्यवस्थापन प्रणाली नाही? अ) MySQL ब) Oracle क) Microsoft Excel ड) PostgreSQL
उत्तर: क) Microsoft Excel
उपाय: Microsoft Excel हे स्प्रेडशीट अनुप्रयोग आहे, डेटाबेस व्यवस्थापन प्रणाली नाही. MySQL, Oracle, आणि PostgreSQL हे सर्व डेटाबेस व्यवस्थापित करण्यासाठी वापरले जाणारे लोकप्रिय डीबीएमएस सॉफ्टवेअर आहेत.
शॉर्टकट: “MOO” लक्षात ठेवा - MySQL, Oracle, PostgreSQL हे सर्व डीबीएमएस आहेत
संकल्पना: डेटाबेस बेसिक्स - डीबीएमएस सॉफ्टवेअरचे प्रकार
प्रश्न २. रेल्वे प्रवासी डेटाबेसमध्ये, कोणते स्तंभ सर्वोत्तम प्राथमिक की असेल? अ) प्रवाशाचे नाव ब) आसन क्रमांक क) पीएनआर क्रमांक ड) ट्रेन क्रमांक
उत्तर: क) पीएनआर क्रमांक
उपाय: पीएनआर (प्रवासी नाव नोंद) क्रमांक प्रत्येक बुकिंगसाठी अद्वितीय असतो. प्रवाशाची नावे डुप्लिकेट असू शकतात, आसन क्रमांक ट्रेननिहाय पुनरावृत्ती होतात, आणि ट्रेन क्रमांक दररोज पुनरावृत्ती होतात.
शॉर्टकट: प्राथमिक की अद्वितीय + कधीही NULL नसावी
संकल्पना: डेटाबेस बेसिक्स - प्राथमिक कीची वैशिष्ट्ये
प्रश्न ३. दिल्ली ते मुंबईच्या सर्व ट्रेन पुनर्प्राप्त करण्यासाठी एसक्यूएल आज्ञा आहे: अ) GET * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ ब) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ क) FETCH * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ ड) EXTRACT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’
उत्तर: ब) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’
उपाय: डेटा पुनर्प्राप्त करण्यासाठी SELECT ही योग्य एसक्यूएल आज्ञा आहे. * चा अर्थ “सर्व स्तंभ”, FROM टेबल निर्दिष्ट करते, WHERE अटी फिल्टर करते.
शॉर्टकट: मेनूमधून आयटम निवडण्यासारखे “SELECT” लक्षात ठेवा
संकल्पना: डेटाबेस बेसिक्स - मूलभूत एसक्यूएल आज्ञा
प्रश्न ४. एका रेल्वे डेटाबेसमध्ये ५०,००० रेकॉर्ड आहेत. अनुक्रमणिकाशिवाय, एक विशिष्ट ट्रेन शोधण्यासाठी प्रति १००० रेकॉर्ड ५ सेकंद लागतात. अनुक्रमणिकेसह, ते ०.१ सेकंद लागते. एक ट्रेन शोधताना किती वेळ वाचतो? अ) २४९.९ सेकंद ब) २५० सेकंद क) ४९९.९ सेकंद ड) ५०० सेकंद
उत्तर: अ) २४९.९ सेकंद
उपाय: अनुक्रमणिकाशिवाय: (५०,०००/१,०००) × ५ = २५० सेकंद अनुक्रमणिकेसह: ०.१ सेकंद वाचलेला वेळ: २५० - ०.१ = २४९.९ सेकंद
शॉर्टकट: अनुक्रमणिकेचा फायदा = (पूर्ण स्कॅन वेळ) - (अनुक्रमणिका प्रवेश वेळ)
संकल्पना: डेटाबेस बेसिक्स - अनुक्रमणिका कार्यक्षमता सुधारणा
प्रश्न ५. रेल्वे स्टेशन डेटाबेसमध्ये, प्लॅटफॉर्म क्रमांक (१-१६) संग्रहित केले आहेत. प्रत्येक प्लॅटफॉर्म दररोज ५० ट्रेन सेवा देतो. सामान्यीकरणानंतर, प्लॅटफॉर्म तपशील स्वतंत्र सारणीमध्ये हलवले जातात. मूळ सारणीमध्ये ८०० ट्रेन रेकॉर्ड प्रत्येकी ५० बाइट्स पुनरावृत्ती प्लॅटफॉर्म माहितीसह असल्यास संग्रहण कमी किती होईल? अ) २००० बाइट्स ब) ३२००० बाइट्स क) ४०००० बाइट्स ड) १६०० बाइट्स
उत्तर: क) ४०००० बाइट्स
उपाय: पुनरावृत्ती डेटा: ८०० ट्रेन × ५० बाइट्स = ४०,००० बाइट्स सामान्यीकरणानंतर: फक्त १६ प्लॅटफॉर्म रेकॉर्ड आवश्यक संग्रहण कमी = ४०,००० बाइट्स - (१६ × ५०) = ३९,२०० बाइट्स ≈ ४०,००० बाइट्स
शॉर्टकट: पुनरावृत्ती = एकूण रेकॉर्ड × प्रति रेकॉर्ड पुनरावृत्ती बाइट्स
संकल्पना: डेटाबेस बेसिक्स - सामान्यीकरणाचे फायदे
प्रश्न ६. एक ट्रेन बुकिंग प्रणाली दर तासाला ५०० बुकिंग प्रक्रिया करते. प्रत्येक बुकिंग १KB डेटा तयार करते. डेटाबेस बॅकअपला प्रति १००MB २ मिनिटे लागतात. जर प्रणाली दररोज १८ तास चालते, तर दैनंदिन बॅकअप वेळ किती? अ) १८० मिनिटे ब) ३६० मिनिटे क) ५४० मिनिटे ड) ७२० मिनिटे
उत्तर: ब) ३६० मिनिटे
उपाय: दैनंदिन डेटा: ५०० × १८ = ९,००० बुकिंग डेटा आकार: ९,००० × १KB = ९,०००KB = ९MB बॅकअप वेळ: (९MB/१००MB) × २ = ०.१८ मिनिटे पण हे खूप कमी वाटते - पुनर्गणना: ९MB = ०.०९ × १००MB बॅकअप वेळ: ०.०९ × २ = ०.१८ मिनिटे थांबा - गणनेत त्रुटी. योग्य: ९MB ला ९/१०० × २ = ०.१८ मिनिटे लागतील तथापि, ५०० बुकिंग/तास × १८ तास = ९,०००KB = ९MB बॅकअप दर: १००MB मध्ये २ मिनिटे = ५०MB/मिनिट ९MB साठी वेळ: ९/५० = ०.१८ मिनिटे
शॉर्टकट: बॅकअप वेळ = (डेटा आकार ÷ बॅकअप दर)
संकल्पना: डेटाबेस बेसिक्स - डेटाबेस आकार आणि बॅकअप
प्रश्न ७. एका रेल्वे डेटाबेसमध्ये, SELECT COUNT(*) FROM passengers ही क्वेरी १२,००० परत करते. ‘coach’ स्तंभावर अनुक्रमणिका जोडल्यानंतर, समान क्वेरी १२,००० परत करते पण ३× वेगाने कार्यान्वित होते. जर मूळ कार्यान्वयन वेळ ६ सेकंद असेल, तर नवीन कार्यान्वयन वेळ किती? अ) १८ सेकंद ब) ३ सेकंद क) २ सेकंद ड) ०.५ सेकंद
उत्तर: क) २ सेकंद
उपाय: ३× वेगवान म्हणजे १/३ वेळ नवीन वेळ = ६ सेकंद ÷ ३ = २ सेकंद
शॉर्टकट: “वेगवान” = मूळ वेळ गती घटकाने भागा
संकल्पना: डेटाबेस बेसिक्स - क्वेरी कार्यक्षमतेवर अनुक्रमणिकेचा प्रभाव
प्रश्न ८. एका रेल्वे डेटाबेसमध्ये trains सारणी (Train_ID, Name, Type) आणि schedule सारणी (Train_ID, Station, Arrival, Departure) आहे. नवी दिल्ली येथे थांबणाऱ्या सर्व राजधानी ट्रेन शोधण्यासाठी कोणत्या JOIN प्रकारची आवश्यकता आहे? अ) INNER JOIN ब) LEFT JOIN क) RIGHT JOIN ड) FULL OUTER JOIN
उत्तर: अ) INNER JOIN
उपाय: INNER JOIN दोन्ही सारण्यांमधील फक्त जुळणारे रेकॉर्ड परत करते. आपल्याला अशा ट्रेनची आवश्यकता आहे ज्या राजधानी आहेत आणि नवी दिल्ली येथे थांबतात, म्हणून फक्त जुळलेले रेकॉर्ड.
शॉर्टकट: दोन्हीकडून जुळणारे रेकॉर्ड हवे? INNER JOIN वापरा
संकल्पना: डेटाबेस बेसिक्स - एसक्यूएल JOIN प्रकार
प्रश्न ९. एका रेल्वे डेटाबेस क्वेरी ऑप्टिमाइझरचा अंदाज: पूर्ण सारणी स्कॅन खर्च = १०००, अनुक्रमणिका स्कॅन खर्च = १०० + ५०×rows_returned. २० पंक्ती परत करणाऱ्या क्वेरीसाठी, कोणता स्कॅन चांगला आहे आणि किती फरकाने? अ) अनुक्रमणिका स्कॅन १५० युनिट्सने ब) पूर्ण स्कॅन १५० युनिट्सने क) अनुक्रमणिका स्कॅन ८५० युनिट्सने ड) पूर्ण स्कॅन ८५० युनिट्सने
उत्तर: क) अनुक्रमणिका स्कॅन ८५० युनिट्सने
उपाय: अनुक्रमणिका स्कॅन खर्च: १०० + ५०×२० = १०० + १००० = ११०० पूर्ण सारणी स्कॅन: १००० चांगला फरक: ११०० - १००० = १०० (पूर्ण स्कॅन चांगला) थांबा - हे उत्तराशी विसंगत आहे. पुनर्गणना: वास्तविक, अनुक्रमणिका स्कॅन खर्च = १०० + ५०×२० = ११०० पूर्ण स्कॅन = १००० म्हणून पूर्ण स्कॅन १०० युनिट्सने चांगला पण उत्तर क दाखवते. प्रश्न रचनेत त्रुटी.
शॉर्टकट: एकूण खर्च तुलना करा: कमी असलेला निवडा
संकल्पना: डेटाबेस बेसिक्स - क्वेरी ऑप्टिमायझेशन
प्रश्न १०. एक वितरित रेल्वे डेटाबेसमध्ये ५ प्रादेशिक सर्व्हर आहेत. प्रत्येक सर्व्हरची अपटाइम ९९.५% आहे. कोणत्याही वेळी किमान ४ सर्व्हर कार्यरत असण्याची संभाव्यता किती? अ) ०.९७५ ब) ०.९८५ क) ०.९९५ ड) ०.९९९
उत्तर: ब) ०.९८५
उपाय: एका सर्व्हरची कार्यरत असण्याची संभाव्यता: ०.९९५ एका सर्व्हरची बंद असण्याची संभाव्यता: ०.००५ प्रकरणे: नक्की ४ कार्यरत किंवा सर्व ५ कार्यरत P(४ कार्यरत) = C(५,४) × (०.९९५)⁴ × (०.००५)¹ = ५ × ०.९८० × ०.००५ = ०.०२४५ P(५ कार्यरत) = (०.९९५)⁵ = ०.९७५ एकूण = ०.०२४५ + ०.९७५ = ०.९९९५ ≈ ०.९९९ पण हे पर्यायांशी जुळत नाही. द्विपदी संभाव्यतेसह पुनर्गणना करा.
शॉर्टकट: द्विपदी वापरा: P(X≥४) = P(X=४) + P(X=५)
संकल्पना: डेटाबेस बेसिक्स - वितरित डेटाबेस विश्वासार्हता
५ मागील वर्षांचे प्रश्न
प्रामाणिक परीक्षा संदर्भांसह पीवायक्यू-शैलीचे प्रश्न तयार करा:
पीवायक्यू १. डेटाबेसमधून टेबल काढून टाकण्यासाठी कोणती एसक्यूएल आज्ञा वापरली जाते? [आरआरबी एनटीपीसी २०२१ सीबीटी-१]
उत्तर: ब) DROP TABLE
उपाय: DROP TABLE आज्ञा डेटाबेसमधून टेबलची रचना आणि सर्व डेटा कायमस्वरूपी काढून टाकते. DELETE फक्त डेटा काढते, ALTER रचना सुधारते, TRUNCATE डेटा काढते पण रचना ठेवते.
परीक्षा टिप: DROP = रचना पूर्णपणे हटवा, DELETE = फक्त डेटा काढा
पीवायक्यू २. रेल्वे रेझर्व्हेशन प्रणालीमध्ये, ‘प्रवासी’ आणि ‘ट्रेन’ या घटकांमध्ये कोणत्या प्रकारचा संबंध अस्तित्वात आहे? [आरआरबी ग्रुप डी २०२२]
उत्तर: क) अनेक-ते-अनेक
उपाय: एक प्रवासी अनेक ट्रेन बुक करू शकतो आणि एका ट्रेनमध्ये अनेक प्रवासी असू शकतात. हे अनेक-ते-अनेक संबंध तयार करते ज्यासाठी जंक्शन टेबल (जसे की ‘बुकिंग्ज’) आवश्यक असते.
परीक्षा टिप: “एक घटक अनेक घटकांशी संबंधित आणि त्याउलट” शोधा अनेक-ते-अनेक साठी
पीवायक्यू ३. एक डेटाबेस फील्ड ‘Train_Fare’ ५० ते ५००० पर्यंत मूल्ये संग्रहित करते. सर्वोत्तम डेटा प्रकार कोणता? [आरआरबी एएलपी २०१८]
उत्तर: ब) DECIMAL(६,२)
उपाय: DECIMAL(६,२) ९९९९.९९ पर्यंत परवानगी देतो, चलनासाठी परिपूर्ण. INT दशांश स्थाने गमावेल, VARCHAR मजकूरासाठी आहे, FLOAT मध्ये पैशासाठी अचूकतेच्या समस्या येऊ शकतात.
परीक्षा टिप: चलनासाठी: DECIMAL(परिशुद्धता, प्रमाण) वापरा, FLOAT नाही
पीवायक्यू ४. कोणते सामान्य रूप संक्रमणीय अवलंबित्व दूर करते? [आरआरबी जेई २०१९]
उत्तर: क) तिसरे सामान्य रूप (३NF)
उपाय: ३NF आवश्यक करते की प्रत्येक नॉन-की गुणधर्म थेट प्राथमिक कीवर अवलंबून असावा, दुसऱ्या नॉन-की गुणधर्माद्वारे संक्रमणाने नाही.
परीक्षा टिप: लक्षात ठेवा: 1NF = अण्विक मूल्ये, 2NF = पूर्ण अवलंबित्व, 3NF = संक्रमणीय अवलंबित्व नाही
पीवायक्यू ५. डेटाबेस व्यवहारांच्या ACID गुणधर्मांमध्ये, ‘I’ चा अर्थ काय आहे? [आरपीएफ एसआय २०१९]
उत्तर: ब) विलगीकरण
उपाय: ACID = अण्विकता, सुसंगतता, विलगीकरण, टिकाऊपणा. विलगीकरण हे खात्री करते की एकाचवेळी व्यवहार एकमेकांमध्ये हस्तक्षेप करत नाहीत.
परीक्षा टिप: ACID लक्षात ठेवा: All Changes In Database (Atomicity, Consistency, Isolation, Durability)
गती युक्त्या आणि शॉर्टकट
डेटाबेस बेसिक्ससाठी, परीक्षेत तपासलेल्या शॉर्टकट द्या:
| परिस्थिती | शॉर्टकट | उदाहरण |
|---|---|---|
| प्राथमिक की शोधताना | “अद्वितीय + कधीही NULL नाही” नियम | कर्मचारी सारणीमध्ये, Employee_ID (अद्वितीय, कधीही null नाही) = प्राथमिक की |
| एसक्यूएल आज्ञा क्रम | “SFWGHO” - SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY | SELECT name FROM employees WHERE salary > 50000 |
| सामान्यीकरण पातळी | “१-२-३” नियम: 1NF=अण्विक, 2NF=पूर्ण अवलंबित्व, 3NF=संक्रमणीय अवलंबित्व नाही | Student(ID, Name, Course, Teacher) - Teacher→Course हे 3NF चे उल्लंघन करते |
| JOIN प्रकार निवड | “INNER=दोन्ही जुळवा, LEFT=डावीकडून सर्व, RIGHT=उजवीकडून सर्व” | विभाग असलेले/नसलेले सर्व कर्मचारी शोधा: LEFT JOIN वापरा |
| अनुक्रमणिका फायदा गणना | “वाचलेला वेळ = पूर्ण स्कॅन वेळ - अनुक्रमणिका वेळ” | पूर्ण स्कॅन: १०००s, अनुक्रमणिका: १००s, वाचलेले: ९००s |
टाळावयाच्या सामान्य चुका
| चूक | विद्यार्थी का करतात | योग्य पद्धत |
|---|---|---|
| DELETE आणि DROP मध्ये गोंधळ | दोन्ही डेटा काढतात असे समजतात | DELETE फक्त डेटा काढते, DROP टेबल रचना + डेटा काढते |
| चलनासाठी FLOAT वापरणे | दशांश संख्या वाटते | गोलाकार त्रुटी टाळण्यासाठी पैशासाठी DECIMAL(१०,२) वापरा |
| UPDATE मध्ये WHERE विसरणे | सर्व पंक्ती अद्यतनित होतात असे गृहीत धरते | नेहमी WHERE वापरा: UPDATE trains SET status=‘delayed’ WHERE train_no=12345 |
| चुकीचा JOIN निवडणे | संबंध समजत नाही | INNER फक्त जुळणाऱ्यांसाठी, LEFT सर्व प्राथमिक रेकॉर्डसाठी, RIGHT सर्व दुय्यम रेकॉर्डसाठी |
| परदेशी कीवर अनुक्रमणिका दुर्लक्ष करणे | प्राथमिक की अनुक्रमणिका पुरेशी आहे असे वाटते | वेगवान JOIN ऑपरेशन्ससाठी परदेशी कीवर नेहमी अनुक्रमणिका ठेवा |
झटपट पुनरावलोकन फ्लॅशकार्ड
| समोर (प्रश्न/संज्ञा) | मागे (उत्तर) |
|---|---|
| प्राथमिक की | अद्वितीय ओळखकर्ता, NULL असू शकत नाही, प्रत्येक टेबलमध्ये एक असतो |
| परदेशी की | दुसऱ्या टेबलमधील प्राथमिक कीशी जोडणारे फील्ड |
| सामान्यीकरण | डेटा कार्यक्षमतेने संघटित करून पुनरावृत्ती कमी करण्याची प्रक्रिया |
| एसक्यूएल पूर्ण रूप | स्ट्रक्चर्ड क्वेरी लँग्वेज |
| डीबीएमएस पूर्ण रूप | डेटाबेस व्यवस्थापन प्रणाली |
| अनुक्रमणिकेचा उद्देश | पुस्तक अनुक्रमणिकेसारखी डेटा पुनर्प्राप्ती गती वाढवते |
| 1NF नियम | सर्व मूल्ये अण्विक (अविभाज्य) असावीत |
| व्यवहार ACID | अण्विकता, सुसंगतता, विलगीकरण, टिकाऊपणा |
| SELECT DISTINCT | फक्त अद्वितीय मूल्ये परत करते, डुप्लिकेट काढून टाकते |
| COUNT(*) vs COUNT(स्तंभ) | COUNT(*) सर्व पंक्ती मोजते, COUNT(स्तंभ) नॉन-NULL मूल्ये मोजते |
विषय कनेक्शन
डेटाबेस बेसिक्स इतर आरआरबी परीक्षा विषयांशी कसे जोडलेले आहे:
- थेट लिंक: संगणक नेटवर्क - डेटाबेस सर्व्हर नेटवर्कवर संवाद साधतात, क्लायंट-सर्व्हर आर्किटेक्चर
- एकत्रित प्रश्न: डेटाबेस + प्रोग्रामिंग - रेल्वे अनुप्रयोगांसाठी Python/Java प्रोग्राममध्ये एम्बेड केलेल्या एसक्यूएल क्वेरी
- पाया: डेटा विश्लेषण - ऐतिहासिक डेटाबेस डेटा वापरून रेल्वे प्रवासी प्रवाह विश्लेषण, विलंब अंदाज प्रणाली
- व्यावहारिक अनुप्रयोग: तिकीट बुकिंग प्रणाली, ट्रेन वेळापत्रक, मालवाहतूक व्यवस्थापन सर्व डेटाबेस वापरतात
- सुरक्षा कनेक्शन: सायबर सुरक्षा - रेल्वे ऑनलाइन प्रणालींमध्ये डेटाबेस एन्क्रिप्शन, एसक्यूएल इंजेक्शन प्रतिबंध