Follow Us
माध्यम चुनें / Select Medium:
Eng (English) Beng (বাংলা) Hindi (हिन्दी)
WBB • कक्षा XII • Computer Science • अध्याय 3
अनुमानित समय: 120 Mins
प्रगति: अध्ययनरत

Database Management System (DBMS) (डेटाबेस प्रबंधन प्रणाली)

डेटाबेस प्रबंधन प्रणाली (DBMS) एक परिष्कृत सॉफ्टवेयर पैकेज है जिसका उपयोग परस्पर संबंधित डेटा के संरचित संग्रह को कुशलतापूर्वक बनाने, प्रबंधित करने, पुनर्प्राप्त करने और सुरक्षित रखने के लिए किया जाता है। पारंपरिक फाइल-प्रोसेसिंग प्रणालियों की गंभीर कमियां—जैसे डेटा की अनावश्यक पुनरावृत्ति (Redundancy), डेटा असंगति (Inconsistency), डेटा का पृथक्करण (Data Isolation) तथा समवर्ती उपयोगकर्ताओं द्वारा एक साथ परिवर्तन पर उत्पन्न विसंगतियां—DBMS के माध्यम से हल की जाती हैं। आधुनिक रिलेशनल डेटाबेस ANSI/SPARC के त्रि-स्तरीय आर्किटेक्चर पर कार्य करते हैं, जिससे भौतिक एवं तार्किक डेटा स्वतंत्रता सुनिश्चित होती है। इस अध्याय में ईआर (ER) मॉडलिंग, रिलेशनल बीजगणित, स्कीमा सामान्यीकरण (1NF से BCNF), SQL क्वेरी भाषा तथा लेन-देन के ACID गुणधर्मों का सविस्तार अध्ययन प्रस्तुत किया गया है।

यह अध्याय क्यों महत्वपूर्ण है

समकालीन डिजिटल अर्थव्यवस्था और सॉफ्टवेयर आर्किटेक्चर की नींव डेटाबेस सिस्टम पर टिकी है—चाहे वह बैंकिंग लेन-देन हो, रेलवे और एयरलाइंस का आरक्षण तंत्र हो, ई-कॉमर्स पोर्टल हो या सोशल मीडिया नेटवर्क। यदि डेटाबेस का उचित सामान्यीकरण (Normalization) और ACID लेन-देन नियंत्रण न हो, तो सर्वर क्रैश होने पर डेटा नष्ट होने, गलत वित्तीय शेष दर्ज होने और सुरक्षा में सेंध लगने का गंभीर खतरा बना रहता है। यह अध्याय उच्च माध्यमिक परीक्षा के साथ-साथ सॉफ्टवेयर इंजीनियरिंग और डेटा साइंस के अध्ययन हेतु अत्यंत महत्वपूर्ण है।

अध्याय रूपरेखा एवं प्रगति

1 Module 1: डेटाबेस सिस्टम की अवधारणा...
2 Module 2: एंटिटी-रिलेशनशिप (ER) मॉड...
3 Module 3: रिलेशनल मॉडल, कुंजी बाधाए...
4 Module 4: डेटाबेस सामान्यीकरण एवं क...
5 Module 5: स्ट्रक्चर्ड क्वेरी लैंग्व...
6 Module 6: लेन-देन प्रबंधन, ACID गुण...

सम्पूर्ण सैद्धांतिक एवं वैचारिक अध्ययन

Module 1: डेटाबेस सिस्टम की अवधारणा, आर्किटेक्चर एवं डेटा स्वतंत्रता

१.१ पारंपरिक फाइल सिस्टम बनाम डेटाबेस प्रबंधन प्रणाली (DBMS)

डेटाबेस सिस्टम के विकास से पहले विभिन्न विभागों द्वारा अलग-अलग फाइलों में डेटा संग्रहीत किया जाता था। इस पद्धति में निम्नलिखित गंभीर कमियां थीं:

  • डेटा की पुनरावृत्ति एवं असंगति (Data Redundancy & Inconsistency): एक ही जानकारी कई अलग-अलग फाइलों में दोहराई जाती थी। एक फाइल में सुधार करने पर दूसरी फाइल पुरानी रह जाती थी, जिससे असंगत परिणाम उत्पन्न होते थे।
  • प्रोग्राम-डेटा निर्भरता (Program-Data Dependence): यदि फाइल के भौतिक प्रारूप (Format) में मामूली बदलाव किया जाता, तो उस फाइल पर आधारित सभी प्रोग्रामों को दोबारा लिखना पड़ता था।
  • डेटा पृथक्करण एवं कठिन पहुंच: डेटा विभिन्न असंगत स्वरूपों में बिखरा रहता था, जिससे तदर्थ (Ad-hoc) प्रश्नों के उत्तर प्राप्त करने के लिए नए प्रोग्राम लिखने पड़ते थे।
  • समवर्ती पहुंच विसंगतियां (Concurrency Anomalies): जब एक से अधिक उपयोगकर्ता एक साथ एक ही फाइल में संपादन करते, तो अपडेट खो जाने (Lost Updates) की आशंका रहती थी।
  • सुरक्षा एवं अखंडता की कमी: उपयोगकर्ता के अनुसार सुरक्षा नियम और डेटा सत्यापन प्रतिबंध लगाना अत्यंत जटिल था।
१.२ ANSI/SPARC त्रि-स्तरीय (Three-Schema) आर्किटेक्चर

डेटाबेस उपयोगकर्ताओं को भौतिक संग्रहण की आंतरिक जटिलताओं से अलग रखने हेतु त्रि-स्तरीय ढांचा अपनाया जाता है:

आर्किटेक्चर स्तर कार्यप्रणाली एवं विवरण लक्षित उपयोगकर्ता एवं संरचनाएं
बाह्य स्तर (External / View Level) विभिन्न प्रयोक्ताओं अथवा समूहों के लिए डेटाबेस के केवल संबंधित भाग को प्रदर्शित करता है। शेष डेटाबेस को छिपा कर रखता है। अंतिम उपयोगकर्ता (End Users) व एप्लिकेशन प्रोग्रामर; अनुकूलित स्क्रीन एवं SQL व्यूज।
वैचारिक स्तर (Conceptual / Logical Level) समग्र डेटाबेस की तार्किक संरचना, इकाइयाँ (Entities), संबंध, डेटा प्रकार एवं अखंडता बाधाओं (Constraints) को परिभाषित करता है। डेटाबेस प्रशासक (DBA); टेबल्स, स्कीमा, प्राथमिक कुंजी व विदेशी कुंजी।
आंतरिक स्तर (Internal / Physical Level) वर्णन करता है कि डेटा भौतिक हार्ड डिस्क पर किस प्रकार ब्लॉक्स, क्लस्टर्स, फाइल संगठनों एवं B+ ट्री इंडेक्स में संग्रहीत है। DBMS स्टोरेज इंजन व सिस्टम प्रोग्रामर; डिस्क पॉइंटर्स, कम्प्रेशन एवं एन्क्रिप्शन।
डेटा स्वतंत्रता (Data Independence) के सिद्धांत:
१. भौतिक डेटा स्वतंत्रता (Physical Data Independence): वैचारिक स्कीमा को बदले बिना आंतरिक (भौतिक) स्कीमा (जैसे इंडेक्स बदलना, फाइल संगठन बदलना या SSD पर स्थानांतरित करना) को बदलने की क्षमता।
२. तार्किक डेटा स्वतंत्रता (Logical Data Independence): बाह्य दृश्यों (Views) अथवा प्रयोक्ता प्रोग्रामों को बदले बिना वैचारिक स्कीमा (जैसे नए एट्रिब्यूट जोड़ना या टेबल विभाजित करना) को संशोधित करने की क्षमता। इसे प्राप्त करना भौतिक स्वतंत्रता की तुलना में अधिक कठिन होता है।

Module 2: एंटिटी-रिलेशनशिप (ER) मॉडलिंग एवं रिलेशनल स्कीमा मैपिंग

२.१ एंटिटी एवं एट्रिब्यूट का वर्गीकरण

१९७६ में पीटर चेन द्वारा प्रतिपादित ईआर (ER) मॉडल वास्तविक दुनिया की वस्तुओं और उनके संबंधों को रेखाचित्रों द्वारा व्यक्त करता है:

  • प्रबल इकाई (Strong Entity): वह एंटिटी जिसका अपना प्राथमिक कुंजी (Primary Key) होता है और जो स्वतंत्र अस्तित्व रखती है (एकल आयत द्वारा प्रदर्शित)।
  • दुर्बल इकाई (Weak Entity): वह एंटिटी जिसकी अपनी कोई प्राथमिक कुंजी नहीं होती और जो अपनी पहचान के लिए किसी प्रबल एंटिटी पर निर्भर करती है (दोहरे आयत द्वारा प्रदर्शित; इसकी आंशिक कुंजी को टूटी हुई रेखांकित रेखा द्वारा दर्शाया जाता है)।
  • सरल बनाम मिश्रित एट्रिब्यूट (Simple vs. Composite): सरल एट्रिब्यूट अविभाज्य होते हैं (जैसे Roll_No); मिश्रित एट्रिब्यूट को छोटे उप-घटकों में विभाजित किया जा सकता है (जैसे Name → First_Name, Last_Name)।
  • एकल-मान बनाम बहु-मान एट्रिब्यूट (Single vs. Multi-Valued): एकल-मान में केवल एक मान होता है (जैसे DOB); बहु-मान में एक से अधिक मान हो सकते हैं (जैसे Phone_Number, दोहरे दीर्घवृत्त द्वारा प्रदर्शित)।
  • व्युत्पन्न एट्रिब्यूट (Derived Attribute): जिनका मान किसी अन्य संग्रहीत विशेषता से परिकलित किया जाता है (जैसे DOB से Age, डैश्ड दीर्घवृत्त द्वारा प्रदर्शित)।
२.२ कार्डिनैलिटी अनुपात एवं टेबल रूपांतरण नियम
संबंध का प्रकार परिभाषा एवं उदाहरण रिलेशनल टेबल रूपांतरण नियम
One-to-One (1:1) एंटिटी A का एक सदस्य एंटिटी B के अधिकतम एक सदस्य से संबंधित होता है (उदा. विभाग — विभागाध्यक्ष)। किसी भी एक टेबल की प्राथमिक कुंजी को दूसरी टेबल में Foreign Key और UNIQUE के रूप में सम्मिलित किया जाता है।
One-to-Many (1:N) A का एक सदस्य B के अनेक सदस्यों से जुड़ सकता है, किंतु B का प्रत्येक सदस्य A के केवल एक सदस्य से संबंधित होता है (उदा. विभाग — कर्मचारी)। '१'-पक्षीय टेबल की प्राथमिक कुंजी को 'N'-पक्षीय टेबल में Foreign Key के रूप में रखा जाता है।
Many-to-Many (M:N) A के सदस्य B के अनेक सदस्यों से और B के सदस्य A के अनेक सदस्यों से जुड़ सकते हैं (उदा. छात्र — पाठ्यक्रम)। एक नई पृथक जंक्शन टेबल बनाई जाती है जिसकी प्राथमिक कुंजी दोनों संबंधित टेबलों की विदेशी कुंजियों का संयुक्त रूप होती है।

Module 3: रिलेशनल मॉडल, कुंजी बाधाएं एवं रिलेशनल बीजगणित

३.१ रिलेशनल डेटा मॉडल के मूल घटक

१९७० में ई.एफ. कॉड द्वारा प्रस्तुत रिलेशनल मॉडल डेटा को पंक्तियों और कॉलमों की टेबलों में व्यवस्थित करता है:

  • रिलेशन (Relation): पंक्तियों और कॉलमों से युक्त एक द्विविमीय टेबल।
  • टपल (Tuple): किसी रिलेशन की एकल पंक्ति (Row या Record)।
  • एट्रिब्यूट (Attribute): रिलेशन का एक नामित कॉलम या विशेषता।
  • डिग्री (Degree): किसी रिलेशन में उपस्थित कुल कॉलमों (एट्रिब्यूट्स) की संख्या।
  • कार्डिनैलिटी (Cardinality): किसी रिलेशन में उपस्थित कुल पंक्तियों (टपल्स) की संख्या।
  • डोमेन (Domain): किसी एट्रिब्यूट द्वारा स्वीकार किए जाने वाले अनुमत परमाण्विक मानों का समुच्चय।
३.२ कुंजियों का वर्गीकरण एवं अखंडता नियम (Integrity Constraints)
कुंजी का प्रकार परिभाषा एवं गुण संबद्ध अखंडता प्रतिबंध
Super Key एक या अधिक एट्रिब्यूट्स का ऐसा समुच्चय जो रिलेशन के प्रत्येक टपल को विशिष्ट रूप से पहचानता है। अद्वितीयता (Uniqueness) की गारंटी।
Candidate Key न्यूनतम (Minimal) सुपर कुंजी; जिसका कोई भी उचित उपसमुच्चय टपल को अद्वितीय रूप से नहीं पहचान सकता। अविभाज्य विशिष्ट पहचान।
Primary Key (PK) कैंडिडेट कुंजियों में से डेटाबेस डिजाइनर द्वारा चुनी गई मुख्य कुंजी। Entity Integrity Constraint: प्राथमिक कुंजी का मान कभी भी NULL नहीं हो सकता।
Foreign Key (FK) एक टेबल का ऐसा एट्रिब्यूट जो किसी अन्य टेबल की प्राथमिक कुंजी को संदर्भित करता है। Referential Integrity Constraint: विदेशी कुंजी का मान या तो मूल टेबल की प्राथमिक कुंजी से मेल खाना चाहिए या NULL होना चाहिए।
३.३ रिलेशनल बीजगणित (Relational Algebra)

रिलेशनल बीजगणित एक प्रक्रियात्मक क्वेरी भाषा है। इसके मुख्य ऑपरेटर निम्नलिखित हैं:

  • चयन (\(\sigma_p(R)\)): शर्त \(p\) को संतुष्ट करने वाली पंक्तियों को चुनता है (क्षैतिज चयन): \(\sigma_{ ext{Marks} \ge 80}( ext{STUDENT})\)।
  • प्रक्षेपण (\(\Pi_{A_1, \dots, A_k}(R)\)): विशिष्ट कॉलमों को निकालता है और डुप्लिकेट पंक्तियों को हटा देता है (ऊर्ध्वाधर चयन): \(\Pi_{ ext{Roll}, ext{Name}}( ext{STUDENT})\)।
  • कार्तीय गुणनफल (\(R imes S\)): दोनों टेबलों के सभी संभावित संयोजन बनाता है। डिग्री जुड़ती है (\(m + n\)) और कार्डिनैलिटी गुणा होती है (\(r imes s\))।
  • प्राकृतिक जॉइन (\(R owtie S\)): उभयनिष्ठ कॉलमों की समानता के आधार पर पंक्तियाँ जोड़ता है और दोहराए गए कॉलमों को हटाता है।

Module 4: डेटाबेस सामान्यीकरण एवं कार्यात्मक निर्भरता (1NF, 2NF, 3NF एवं BCNF)

४.१ डेटा विसंगतियां (Anomalies) एवं कार्यात्मक निर्भरता

अव्यवस्थित और गैर-सामान्यीकृत टेबलों में तीन मुख्य प्रकार की विसंगतियां उत्पन्न होती हैं:

  • प्रविष्टि विसंगति (Insertion Anomaly): किसी आवश्यक जानकारी को तब तक दर्ज न कर पाना जब तक कि कोई अन्य असंबंधित जानकारी उपलब्ध न हो।
  • विलोपन विसंगति (Deletion Anomaly): किसी अवांछित रिकॉर्ड को हटाते समय अनपेक्षित रूप से अन्य महत्वपूर्ण जानकारी का हमेशा के लिए मिट जाना।
  • अद्यतन विसंगति (Update Anomaly): डेटा के दोहराव के कारण एक ही तथ्य को कई स्थानों पर बदलना पड़ना; एक भी स्थान छूट जाने पर डेटा में असंगति उत्पन्न होना।
कार्यात्मक निर्भरता (FD) एवं आर्मस्ट्रांग के अभिगृहीत:
यदि \(X\) के प्रत्येक मान के लिए \(Y\) का ठीक एक मान निर्धारित हो, तो उसे \(X ightarrow Y\) कहते हैं।
• स्वतुल्यता (Reflexivity): यदि \(Y \subseteq X\), तब \(X ightarrow Y\)।
• संवर्धन (Augmentation): यदि \(X ightarrow Y\), तब \(XZ ightarrow YZ\)।
• संक्रामकता (Transitivity): यदि \(X ightarrow Y\) और \(Y ightarrow Z\), तब \(X ightarrow Z\)।
४.२ सामान्य रूपों (Normal Forms) का पदानुक्रम
सामान्य रूप (NF) आवश्यक नियम एवं शर्तें दूर की गई विसंगति
1NF (First Normal Form) प्रत्येक कॉलम में केवल परमाण्विक (अविभाज्य) मान होने चाहिए। कोई बहु-मान या दोहराव समूह नहीं होना चाहिए। कॉमा से अलग किए गए मान अथवा नेस्टेड समूह।
2NF (Second Normal Form) 1NF में होना चाहिए और कोई आंशिक निर्भरता (Partial Dependency) नहीं होनी चाहिए। सभी गैर-कुंजी एट्रिब्यूट संपूर्ण कैंडिडेट कुंजी पर निर्भर होने चाहिए। संयुक्त कुंजी के केवल एक भाग पर निर्भरता।
3NF (Third Normal Form) 2NF में होना चाहिए और कोई संक्रामक निर्भरता (Transitive Dependency) नहीं होनी चाहिए। प्रत्येक \(X ightarrow Y\) में या तो \(X\) सुपर कुंजी हो, या \(Y\) अभाज्य एट्रिब्यूट हो। गैर-कुंजी एट्रिब्यूट का दूसरे गैर-कुंजी एट्रिब्यूट पर निर्भर होना।
BCNF (Boyce-Codd NF) प्रत्येक गैर-तुच्छ कार्यात्मक निर्भरता \(X ightarrow Y\) में \(X\) को अनिवार्य रूप से एक Super Key होना चाहिए। अतिव्यापी (Overlapping) कैंडिडेट कुंजियों से उत्पन्न विसंगतियां।

Module 5: स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) — DDL, DML, जॉइन एवं समूहीकरण

५.१ SQL उप-भाषाओं का वर्गीकरण

SQL रिलेशनल डेटाबेस को प्रबंधित करने की मानक भाषा है। इसे चार मुख्य श्रेणियों में बांटा गया है:

श्रेणी कार्य एवं भूमिका प्रमुख कमांड्स
DDL (Data Definition) डेटाबेस एवं टेबल की संरचना (Schema) बनाती है, बदलती है और नष्ट करती है। स्वतः कमिट होती है। CREATE, ALTER, DROP, TRUNCATE
DML (Data Manipulation) टेबल के भीतर वास्तविक डेटा को दर्ज, संशोधित, विलोपित तथा खोजने का कार्य करती है। SELECT, INSERT, UPDATE, DELETE
DCL (Data Control) डेटाबेस की सुरक्षा और उपयोगकर्ताओं को अधिकार प्रदान करने व वापस लेने का कार्य करती है। GRANT, REVOKE
TCL (Transaction Control) लेन-देन के परिवर्तनों को स्थायी रूप से सुरक्षित करने अथवा रद्द करने का प्रबंधन करती है। COMMIT, ROLLBACK, SAVEPOINT
WHERE एवं HAVING क्लॉज में अंतर (बोर्ड परीक्षा का महत्वपूर्ण बिंदु):
• WHERE क्लॉज: ग्रुप बनने से पहले व्यक्तिगत पंक्तियों को फिल्टर करता है। इसमें Aggregate फलन नहीं लगाए जा सकते (उदा. WHERE AVG(salary) > 50000 अवैध है)।
• HAVING क्लॉज: GROUP BY द्वारा ग्रुप बनने के बाद संपूर्ण समूहों को फिल्टर करता है। यह विशेष रूप से Aggregate फलनों पर कार्य करता है (उदा. HAVING COUNT(*) >= 5)।

Module 6: लेन-देन प्रबंधन, ACID गुणधर्म एवं समवर्ती नियंत्रण

৬.১ लेन-देन (Transaction) के ACID गुणधर्म

लेन-देन डेटाबेस संचालन की एक तार्किक इकाई है। डेटाबेस की विश्वसनीयता बनाए रखने हेतु इसके चार अनिवार्य गुणधर्म होते हैं:

ACID गुणधर्म मूल सिद्धांत एवं अर्थ उत्तरदायी DBMS घटक
Atomicity (परमाणुता) "सब या कुछ नहीं" सिद्धांत। या तो लेन-देन के सभी कार्य पूर्ण होंगे, अन्यथा विफलता पर सब कुछ पूर्ववत (Rollback) हो जाएगा। रिकवरी मैनेजर (Undo Log / WAL)।
Consistency (संगति) लेन-देन के आरंभ होने से पहले और पूर्ण होने के बाद डेटाबेस हमेशा नियमों और बाधाओं के अनुकूल वैध स्थिति में रहेगा। एप्लिकेशन कोड एवं अखंडता प्रतिबंध।
Isolation (पृथक्करण) समानांतर चलने वाले लेन-देन एक-दूसरे के कार्य में हस्तक्षेप नहीं करते। अंतर्वर्ती परिणाम दूसरों को नहीं दिखते। समवर्ती नियंत्रण प्रबंधक (2PL लॉकिंग)।
Durability (स्थायित्व) एक बार लेन-देन Commit हो जाने के बाद सिस्टम क्रैश अथवा बिजली गुल होने पर भी डेटा स्थायी रूप से सुरक्षित रहता है। रिकवरी मैनेजर (Redo Log)।
६.२ टू-फेज लॉकिंग प्रोटोकॉल (2PL Protocol)

समवर्ती पहुंच के खतरों (जैसे डर्टी रीड एवं लॉस्ट अपडेट) को रोकने के लिए 2PL प्रोटोकॉल दो चरणों में कार्य करता है:

  • वृद्धि चरण (Growing Phase): लेन-देन आवश्यकतानुसार डेटा पर लॉक (Shared या Exclusive) प्राप्त कर सकता है, परंतु कोई भी लॉक छोड़ नहीं सकता।
  • संकोचन चरण (Shrinking Phase): लेन-देन लॉक छोड़ सकता है, परंतु कोई नया लॉक प्राप्त नहीं कर सकता।

प्रोग्रामिंग सिंटेक्स, स्टेटमेंट्स एवं भाषा अनुवादक नियम

कार्तीय गुणनफल की डिग्री एवं कार्डिनैलिटी नियम
$$Degree(R imes S) = Degree(R) + Degree(S); \quad Cardinality(R imes S) = Cardinality(R) imes Cardinality(S)$$
आर्मस्ट्रांग का संक्रामकता अभिगृहीत (Transitivity Axiom)
$$(X ightarrow Y) \land (Y ightarrow Z) \implies X ightarrow Z$$
द्वितीय सामान्य रूप (2NF) परीक्षण नियम
$$ orall (X ightarrow A) \in F: (A otin ext{Prime}) \implies ( exists K \in ext{Candidate Keys}: X \subset K)$$
तृतीय सामान्य रूप (3NF) शर्त
$$ orall (X ightarrow Y) \in F_{ ext{non-trivial}}: (X ext{ is a Super Key}) \lor (Y ext{ is a Prime Attribute})$$
बॉयस-कॉड सामान्य रूप (BCNF) नियम
$$ orall (X ightarrow Y) \in F_{ ext{non-trivial}}: X ext{ must be a Super Key}$$
रिलेशनल प्राकृतिक जॉइन तुल्यता
$$R owtie S = \Pi_{Attrs(R) \cup Attrs(S)} ( \sigma_{R.A_1 = S.A_1 \land \dots \land R.A_k = S.A_k} (R imes S) )$$

अवधारणात्मक हल उदाहरण एवं अनुप्रयोग (Solved Examples)

उदाहरण 1
प्राइमरी कुंजी (Primary Key) और अद्वितीय कुंजी (Unique Key) के मध्य दो मुख्य अंतर लिखिए। (NULL मान एवं प्रति टेबल सीमा के आधार पर)
विस्तृत समाधान / उत्तर:

उत्तर:

तुलना का आधार प्राइमरी कुंजी (Primary Key) अद्वितीय कुंजी (Unique Key)
NULL मान स्वीकार्यता किसी भी परिस्थिति में NULL मान स्वीकार नहीं कर सकती (Entity Integrity)। कॉलम में अधिकतम एक NULL मान स्वीकार कर सकती है।
प्रति टेबल संख्या एक टेबल में केवल एकमात्र प्राइमरी कुंजी हो सकती है। एक टेबल में अनेक यूनिक कुंजियाँ घोषित की जा सकती हैं।
उदाहरण 2
दो रिलेशन दिए गए हैं: STUDENT(Roll, Name, Department, Marks) और ENROLL(Roll, Course_ID)। निम्नलिखित के लिए रिलेशनल बीजगणित समीकरण लिखिए: (क) 'Computer Science' विभाग के उन छात्रों के Name जो Marks >= 80 प्राप्त किए हों। (ख) 'CS101' कोर्स में नामांकित एवं Marks >= 90 प्राप्त छात्रों के Roll नंबर।
विस्तृत समाधान / उत्तर:

रिलेशनल बीजगणित हल:

(क) क्वेरी १: Department = 'Computer Science' और Marks >= 80 के आधार पर चयन करके Name कॉलम को प्रोजेक्ट किया गया:
\Pi_{Name} ( \sigma_{Department = 'Computer Science' \land Marks \ge 80} (STUDENT) )

(ख) क्वेरी २: STUDENT एवं ENROLL का प्राकृतिक जॉइन करके Course_ID = 'CS101' और Marks >= 90 की शर्त लगाकर Roll को प्रोजेक्ट किया गया:
\Pi_{Roll} ( \sigma_{Course\_ID = 'CS101' \land Marks \ge 90} (STUDENT \bowtie ENROLL) )

उदाहरण 3
एक रिलेशन R(A, B, C, D, E) के कार्यात्मक निर्भरताओं का समुच्चय F = { A -> BC, CD -> E, B -> D, E -> A } दिया गया है। विशेषता समापन (Attribute Closure, X+) विधि का उपयोग करके R की सभी उम्मीदवार कुंजियाँ (Candidate Keys) ज्ञात कीजिए।
विस्तृत समाधान / उत्तर:

चरणबद्ध एट्रिब्यूट क्लोजर गणना:

  1. A का क्लोजर:
    \(A^+ = \{A\}\)
    \(A ightarrow BC\) से: \(A^+ = \{A, B, C\}\)
    \(B ightarrow D\) से: \(A^+ = \{A, B, C, D\}\)
    \(CD ightarrow E\) से: \(A^+ = \{A, B, C, D, E\}\)।
    चूँकि \(A^+\) रिलेशन के सभी एट्रिब्यूट्स को निर्धारित करता है, अतः A एक Candidate Key है।
  2. E का क्लोजर:
    \(E^+ = \{E\}\)
    \(E ightarrow A\) से: \(E^+ = \{E, A\}\)। चूँकि \(A\) एक उम्मीदवार कुंजी है, अतः \(E^+ = \{A, B, C, D, E\}\)।
    अतः E एक Candidate Key है।
  3. CD का क्लोजर:
    \(CD^+ = \{C, D\}\)
    \(CD ightarrow E \implies CD^+ = \{C, D, E\}\)
    \(E ightarrow A \implies CD^+ = \{A, C, D, E\}\)
    \(A ightarrow BC \implies CD^+ = \{A, B, C, D, E\}\)।
    चूँकि \(C\) या \(D\) अकेले सभी मान नहीं निकाल सकते, अतः CD एक Candidate Key है।
  4. BC का क्लोजर:
    \(B ightarrow D \implies BC ightarrow CD \implies BC^+ = \{A, B, C, D, E\}\)।
    अतः BC भी एक Candidate Key है।

अंतिम उत्तर: रिलेशन \(R\) की उम्मीदवार कुंजियाँ {A, E, CD, BC} हैं।

उदाहरण 4
कॉलेज डेटाबेस में छात्र पंजीकरण हेतु एक एकल टेबल प्रयुक्त होती है: ENROLLMENT(Student_ID, Student_Name, Course_ID, Course_Name, Instructor_Name, Instructor_Office)। प्राथमिक कुंजी (Student_ID, Course_ID) है। कार्यात्मक निर्भरताएं: { (Student_ID, Course_ID) -> Instructor_Name, Student_ID -> Student_Name, Course_ID -> (Course_Name, Instructor_Name), Instructor_Name -> Instructor_Office }। टेबल का वर्तमान सामान्य रूप पहचानिए और इसे 3NF स्कीमा में विघटित कीजिए।
विस्तृत समाधान / उत्तर:

मूल्यांकन एवं सामान्यीकरण चरण:

  1. वर्तमान सामान्य रूप: यह टेबल 1NF में है, परंतु 2NF में नहीं है।
    कारण: उम्मीदवार कुंजी संयुक्त (Student_ID, Course_ID) है। यहाँ आंशिक निर्भरताएं (Partial Dependencies) विद्यमान हैं:
    • Student_ID → Student_Name (आंशिक निर्भरता)।
    • Course_ID → Course_Name (आंशिक निर्भरता)।
  2. 2NF में विघटन (आंशिक निर्भरता निवारण):
    • STUDENT(Student_ID, Student_Name)
    • COURSE(Course_ID, Course_Name, Instructor_Name, Instructor_Office)
    • ENROLLMENT(Student_ID, Course_ID) [विदेशी कुंजियाँ]।
  3. 3NF में विघटन (संक्रामक निर्भरता निवारण):
    COURSE टेबल में Course_ID → Instructor_Name और Instructor_Name → Instructor_Office है।
    यहाँ गैर-कुंजी विशेषता Instructor_Office अन्य गैर-कुंजी विशेषता Instructor_Name पर संक्रामक रूप से निर्भर है।
    अतः COURSE को दो टेबलों में बांटा गया:
    • INSTRUCTOR(Instructor_Name, Instructor_Office)
    • COURSE(Course_ID, Course_Name, Instructor_Name) [जहाँ Instructor_Name विदेशी कुंजी है]।

अंतिम 3NF रिलेशनल स्कीमा:
१. STUDENT(Student_ID, Student_Name)
२. INSTRUCTOR(Instructor_Name, Instructor_Office)
३. COURSE(Course_ID, Course_Name, Instructor_Name)
४. ENROLLMENT(Student_ID, Course_ID)

उदाहरण 5
दो टेबल दी गई हैं: EMPLOYEE(Emp_ID, Emp_Name, Dept_ID, Salary, Commission) और DEPARTMENT(Dept_ID, Dept_Name, Location)। SQL क्वेरी लिखिए: (क) उन विभागों का Dept_Name और औसत वेतन प्रदर्शित कीजिए जिनमें 3 से अधिक कर्मचारी हैं (औसत वेतन के घटते क्रम में)। (ख) उन कर्मचारियों के नाम और वेतन ज्ञात कीजिए जिनका वेतन उनके अपने विभाग के औसत वेतन से अधिक है।
विस्तृत समाधान / उत्तर:

SQL हल:

(क) समूहीकरण एवं HAVING क्वेरी:

SELECT d.Dept_Name, AVG(e.Salary) AS Avg_Salary
FROM EMPLOYEE e
INNER JOIN DEPARTMENT d ON e.Dept_ID = d.Dept_ID
GROUP BY d.Dept_ID, d.Dept_Name
HAVING COUNT(e.Emp_ID) > 3
ORDER BY Avg_Salary DESC;

(ख) सह-संबंधित सबक्वेरी (Correlated Subquery):

SELECT e1.Emp_ID, e1.Emp_Name, e1.Dept_ID, e1.Salary
FROM EMPLOYEE e1
WHERE e1.Salary > (
    SELECT AVG(e2.Salary)
    FROM EMPLOYEE e2
    WHERE e2.Dept_ID = e1.Dept_ID
);

उदाहरण 6
बैंक खाते A (प्रारंभिक शेष रु 50,000) से खाते B (प्रारंभिक शेष रु 20,000) में रु 10,000 ट्रांसफर करने के उदाहरण द्वारा लेन-देन के ACID गुणों को समझाइए। खाते A से राशि कटने के तुरंत बाद सिस्टम क्रैश होने पर DBMS किस प्रकार अखंडता सुनिश्चित करता है?
विस्तृत समाधान / उत्तर:

ACID गुणों का विस्तृत विश्लेषण:

फंड ट्रांसफर लेन-देन \(T\) के चरण निम्नवत हैं:

T: 1. Read(A);  2. A = A - 10000;  3. Write(A);  4. Read(B);  5. B = B + 10000;  6. Write(B);  7. Commit;
  1. Atomicity (परमाणुता):
    • यदि चरण 3 के बाद (\(A = 40,000\) रु) हार्डवेयर विफल हो जाता है, तो खाते B में राशि जमा नहीं हुई है।
    • सिस्टम रीबूट होने पर रिकवरी मैनेजर Write-Ahead Log (WAL) का निरीक्षण करता है। चूँकि कमिट रिकॉर्ड नहीं मिलता, अतः वह तुरंत UNDO ऑपरेशन चलाता है और खाता A का शेष पुनः 50,000 रु कर देता है। आधा-अधूरा लेन-देन पूरी तरह रद्द हो जाता है।
  2. Consistency (संगति):
    • कुल बैंक शेष \(A + B = 50,000 + 20,000 = 70,000\) रु होना अनिवार्य है।
    • लेन-देन से पूर्व कुल राशि 70,000 रु थी और सफल कमिट के पश्चात भी \(40,000 + 30,000 = 70,000\) रु स्थिर रहती है।
  3. Isolation (पृथक्करण):
    • चरण 3 और 6 के मध्य यदि कोई अन्य ऑडिट लेन-देन कुल शेष की गणना करे, तो बिना पृथक्करण के वह \(A = 40,000\) और \(B = 20,000\) (कुल 60,000 रु) देखेगा जो कि त्रुटिपूर्ण है।
    • एक्सक्लूसिव लॉक (X-lock) लगाकर DBMS किसी अन्य को कमिट होने से पूर्व मध्यवर्ती मान देखने से रोकता है।
  4. Durability (स्थायित्व):
    • चरण 7 में Commit होते ही परिवर्तन गैर-वाष्पशील डिस्क पर दर्ज हो जाते हैं। इसके तुरंत बाद बिजली चले जाने पर भी रिकवरी मैनेजर REDO लॉग द्वारा डेटा को सुरक्षित बनाए रखता है।

सामान्य गलतियाँ एवं परीक्षक के जाल (Examiner Traps)

सामान्य भ्रम / गलत उत्तर

SQL क्वेरी में WHERE क्लॉज के अंदर Aggregate फलनों (जैसे AVG, SUM) का उपयोग करना।

सही वैज्ञानिक तथ्य

WHERE क्लॉज समूह बनने से पूर्व व्यक्तिगत पंक्तियों पर कार्य करता है। समूहीकृत फलनों को फिल्टर करने हेतु सदैव HAVING क्लॉज का उपयोग करना चाहिए।

सामान्य भ्रम / गलत उत्तर

सुपर कुंजी (Super Key) और कैंडिडेट कुंजी (Candidate Key) को समान मानना।

सही वैज्ञानिक तथ्य

प्रत्येक कैंडिडेट कुंजी एक सुपर कुंजी होती है, किंतु प्रत्येक सुपर कुंजी कैंडिडेट कुंजी नहीं होती। कैंडिडेट कुंजी न्यूनतम (Minimal) सुपर कुंजी होती है जिसमें कोई अनावश्यक विशेषता नहीं होती।

सामान्य भ्रम / गलत उत्तर

यह सोचना कि विदेशी कुंजी (Foreign Key) कभी भी NULL मान नहीं ले सकती।

सही वैज्ञानिक तथ्य

प्राइमरी कुंजी कभी भी NULL नहीं हो सकती (Entity Integrity), किंतु फॉरेन कुंजी NULL मान स्वीकार कर सकती है (जब तक कि NOT NULL न लगाया गया हो)।

सामान्य भ्रम / गलत उत्तर

DROP, TRUNCATE और DELETE कमांड्स को एक जैसा समझना।

सही वैज्ञानिक तथ्य

DELETE एक DML कमांड है जो पंक्तियों को चुनकर हटाती है और Rollback की जा सकती है। TRUNCATE एक DDL कमांड है जो पूरी टेबल को तुरंत खाली कर देती है। DROP एक DDL कमांड है जो टेबल की संरचना और डेटा दोनों को डेटाबेस से पूरी तरह नष्ट कर देती है।

सामान्य भ्रम / गलत उत्तर

प्राकृतिक जॉइन (Natural Join) और इक्वी-जॉइन (Equi-Join) को पूर्णतः एक मानना।

सही वैज्ञानिक तथ्य

इक्वी-जॉइन में दोनों टेबलों के उभयनिष्ठ कॉलम परिणाम में दो बार आते हैं। प्राकृतिक जॉइन स्वतः दोहराए गए कॉलम को हटाकर केवल एक बार प्रदर्शित करता है।

चित्रात्मक व्याख्या एवं मॉडल

डेटाबेस प्रबंधन प्रणाली (DBMS) — वास्तुकला एवं मुख्य अवधारणाएँ WBCHSE कक्षा 12 कंप्यूटर साइंस • अध्याय 3: DBMS आर्किटेक्चर, ER मॉडल, रिलेशनल बीजगणित, नॉर्मलाइजेशन एवं SQL भाग 1: त्रि-स्तरीय आर्किटेक्चर (Three-Schema) बाह्य दृश्य (External/View Level) — प्रयोक्ताओं के विशिष्ट दृश्य वैचारिक स्कीमा (Conceptual Level) — समग्र तार्किक संरचना व संबंध आंतरिक स्तर (Internal/Physical Level) — भौतिक डेटा संग्रहण व इंडेक्स ⚡ तार्किक एवं भौतिक डेटा स्वतंत्रता (Data Independence) भाग 2: डेटा मॉडल एवं ER मैपिंग ER आरेख — एंटिटी (आयत), एट्रिब्यूट (दीर्घवृत्त), संबंध (रोम्बस) रिलेशनल कुंजियाँ — प्राथमिक कुंजी (PK), उम्मीदवार कुंजी (CK) विदेशी कुंजी (Foreign Key) — संदर्भात्मक अखंडता (Referential Integrity) 🛡️ अखंडता बाधाएँ: एंटिटी, डोमेन एवं संदर्भात्मक नियम भाग 3: रिलेशनल बीजगणित एवं SQL मौलिक ऑपरेटर — चयन (σ), प्रक्षेपण (Π), कार्तीय गुणनफल (×) जॉइन एवं समुच्चय — प्राकृतिक जॉइन (⋈), संघ (∪), अंतर (-) SQL उप-भाषाएँ — DDL, DML, DCL, TCL (SELECT, GROUP BY, HAVING) ⚙️ प्रक्रियात्मक रिलेशनल बीजगणित बनाम घोषणात्मक SQL भाग 4: सामान्यीकरण एवं लेन-देन (Transactions) नॉर्मलाइजेशन — 1NF (परमाण्विक मान) → 2NF (पूर्ण कार्यात्मक निर्भरता) उच्च सामान्य रूप — 3NF (संक्रामक निर्भरता रहित) एवं BCNF ACID गुण — परमाणुता, संगति, पृथक्करण एवं स्थायित्व 🔒 2PL लॉकिंग प्रोटोकॉल एवं समवर्ती नियंत्रण (Concurrency) DBMS कोर इंजन डेटा स्वतंत्रता एवं विश्वसनीयता

अध्याय का सार संक्षेप एवं 10 मुख्य निष्कर्ष

मुख्य बिंदु 1
DBMS फाइल-प्रोसेसिंग सिस्टम के डेटा दोहराव, असंगति, समवर्ती विसंगतियों और पृथक्करण को समाप्त करता है।
मुख्य बिंदु 2
ANSI/SPARC के त्रि-स्तरीय आर्किटेक्चर में बाह्य (दृश्य), वैचारिक (तार्किक) एवं आंतरिक (भौतिक) स्तर होते हैं।
मुख्य बिंदु 3
भौतिक डेटा स्वतंत्रता भंडारण संरचना बदलने की स्वतंत्रता देती है; तार्किक डेटा स्वतंत्रता व्यूज को प्रभावित किए बिना स्कीमा बदलने देती है।
मुख्य बिंदु 4
ER मॉडल में प्रबल एंटिटी एकल आयत, दुर्बल एंटिटी दोहरे आयत तथा बहु-मान विशेषता दोहरे दीर्घवृत्त द्वारा प्रदर्शित होती है।
मुख्य बिंदु 5
डिग्री किसी रिलेशन के कुल कॉलमों की संख्या है; कार्डिनैलिटी कुल पंक्तियों की संख्या है।
मुख्य बिंदु 6
एंटिटी अखंडता के अनुसार प्राथमिक कुंजी कभी NULL नहीं हो सकती। संदर्भात्मक अखंडता के अनुसार विदेशी कुंजी को प्राथमिक कुंजी से मेल खाना चाहिए या NULL होना चाहिए।
मुख्य बिंदु 7
रिलेशनल बीजगणित के पाँच मौलिक ऑपरेटर चयन (σ), प्रक्षेपण (Π), कार्तीय गुणनफल (×), संघ (∪) एवं समुच्चय अंतर (-) हैं।
मुख्य बिंदु 8
1NF परमाण्विक मान सुनिश्चित करता है, 2NF आंशिक निर्भरता समाप्त करता है, 3NF संक्रामक निर्भरता हटाता है और BCNF में प्रत्येक निर्धारक सुपर कुंजी होता है।
मुख्य बिंदु 9
SQL की चार उप-भाषाएं DDL (संरचना निर्माण), DML (डेटा संपादन), DCL (सुरक्षा अधिकार) एवं TCL (लेन-देन नियंत्रण) हैं।
मुख्य बिंदु 10
ACID गुणधर्म हैं Atomicity (रिकवरी मैनेजर), Consistency (एप्लिकेशन नियम), Isolation (समवर्ती नियंत्रण / 2PL) एवं Durability (रेडू लॉग)।

स्व-मूल्यांकन अभ्यास (Check Your Understanding)

मूल वैचारिक स्पष्टता की जांच के लिए नैदानिक प्रश्न। पहले स्वयं हल करें, फिर उत्तर देखें।

1
भौतिक डेटा स्वतंत्रता और तार्किक डेटा स्वतंत्रता में क्या अंतर है? इनमें से किसे प्राप्त करना अधिक कठिन है?
उत्तर एवं व्याख्या देखें
उत्तर: भौतिक डेटा स्वतंत्रता वैचारिक स्कीमा को बदले बिना आंतरिक (स्टोरेज) स्कीमा बदलने की क्षमता है। तार्किक डेटा स्वतंत्रता प्रयोक्ता प्रोग्रामों को बदले बिना वैचारिक स्कीमा में संशोधन की क्षमता है। तार्किक डेटा स्वतंत्रता प्राप्त करना अधिक कठिन है क्योंकि एप्लिकेशन प्रोग्राम डेटा की तार्किक संरचना पर गहराई से निर्भर होते हैं।
हार्ड डिस्क पर फाइल स्वरूप बदलने बनाम टेबल संरचना बदलने पर विचार करें।
2
यदि रिलेशन R की डिग्री 4 और कार्डिनैलिटी 100 है, तथा रिलेशन S की डिग्री 3 और कार्डिनैलिटी 50 है, तो R × S की डिग्री और कार्डिनैलिटी क्या होगी?
उत्तर एवं व्याख्या देखें
उत्तर: Degree(R × S) = Degree(R) + Degree(S) = 4 + 3 = 7। Cardinality(R × S) = Cardinality(R) × Cardinality(S) = 100 × 50 = 5,000।
डिग्री जुड़ती है और कार्डिनैलिटी गुणा होती है।
3
BCNF को 3NF से अधिक कठोर क्यों माना जाता है? 3NF टेबल किस स्थिति में स्वतः BCNF में होगी?
उत्तर एवं व्याख्या देखें
उत्तर: 3NF में यदि दायाँ पक्ष Y एक प्राइम एट्रिब्यूट हो, तो बायाँ पक्ष X सुपर कुंजी न होने पर भी छूट मिल जाती है। BCNF इस छूट को समाप्त कर देता है और मांग करता है कि प्रत्येक गैर-तुच्छ निर्भरता में X अनिवार्य रूप से सुपर कुंजी हो। यदि टेबल में एक से अधिक अतिव्यापी (Overlapping) कैंडिडेट कुंजियाँ न हों, तो वह 3NF टेबल BCNF में भी होगी।
दाएं पक्ष में प्राइम एट्रिब्यूट की छूट 3NF देता है, BCNF नहीं।
4
यह क्वेरी क्यों त्रुटिपूर्ण है और इसका सही रूप क्या होगा: 'SELECT Dept_ID, AVG(Salary) FROM EMPLOYEE WHERE AVG(Salary) > 40000 GROUP BY Dept_ID;'
उत्तर एवं व्याख्या देखें
उत्तर: WHERE क्लॉज व्यक्तिगत पंक्तियों की जांच करता है, इसलिए इसमें AVG(Salary) जैसे ग्रुप फलनों का प्रयोग नहीं हो सकता। सही क्वेरी HAVING क्लॉज के साथ होगी: 'SELECT Dept_ID, AVG(Salary) FROM EMPLOYEE GROUP BY Dept_ID HAVING AVG(Salary) > 40000;'।
WHERE क्लॉज ग्रुपिंग से पहले लगता है, अतः इसमें समूहीकृत फलन नहीं आ सकते।
5
टू-फेज लॉकिंग (2PL) प्रोटोकॉल क्या है और यह समवर्ती विसंगतियों को कैसे रोकता है?
उत्तर एवं व्याख्या देखें
उत्तर: 2PL प्रोटोकॉल के अनुसार लेन-देन दो चरणों में कार्य करता है: ग्रोइंग फेज में केवल लॉक प्राप्त किए जाते हैं (कोई लॉक छोड़ा नहीं जाता), और श्रिंकिंग फेज में लॉक छोड़े जाते हैं (कोई नया लॉक नहीं लिया जाता)। यह सीरियल अनुसूची की गारंटी देकर डर्टी रीड और लॉस्ट अपडेट जैसी समस्याओं को रोकता है।
वृद्धि चरण में केवल लॉक प्राप्त करना और संकोचन चरण में लॉक छोड़ना।
अध्याय का अध्ययन पूर्ण हुआ?
अभ्यास के लिए तैयार?

ऑनलाइन CBT टेस्ट देकर तैयारी का मूल्यांकन करें

WBB परीक्षा पैटर्न पर आधारित बहुविकल्पीय प्रश्नों का ऑनलाइन टेस्ट दें। तुरंत परिणाम, समय विश्लेषण और प्रत्येक प्रश्न का विस्तृत हल प्राप्त करें।

STAY UPDATED

Get the Latest Updates

New test series, syllabus updates, exam notifications and more.

Syllabus
Updates
Exam
Alerts
Study
Resources