रिलेशनल डेटाबेस (Relational Database)
रिलेशनल डेटाबेस में डेटा को द्वि-आयामी सारणियों (2-Dimensional Tables) के रूप में संग्रहीत किया जाता है। इन सारणियों को रिलेशन (Relation) भी कहा जाता है। रिलेशन डेटाबेस के रख-रखाव के लिए रिलेशनल डेटाबेस प्रबन्धन प्रणाली (Relational Database Management System-RDBMS) की आवश्यकता होती है। RDBMS, DBMS का ही एक प्रकार है। रिलेशनल डेटाबेस की मुख्य विशेषता यह है कि एक एकल डेटाबेस में एक से अधिक सारणियों को संग्रहीत किया जा सकता है। और ये सारणियाँ आपस में सम्बन्धित होती है।
सम्बन्धित पदावली (Related Terminology)
रिलेशनल डेटाबेस की कुछ सम्बन्धित पदावली निम्नलिखित हैं।
1. रिलेशन (Relation)
रिलेशन के अन्तर्गत एक टेबल (Table) तैयार की जाती है जो एक सिक्वेन्शियल फाइल को निरूपित करती है, जिसमें टेबल की पंक्तियाँ (Rows) फाइल के रिकॉर्ड को इंगित करती हैं। एवं स्तम्भ (Column) रिकॉर्ड के फील्ड को दर्शाता है। ये टेबल्स रिलेशन ही होते हैं। रिलेशन को उच्च स्तरीय फाइल्स के रूप में समझा जाता है, जिसमें
- प्रत्येक रिलेशन में एक ही तरह के रिकॉर्ड होते हैं।
- किसी दिए गए रिलेशन में प्रत्येक रिकॉर्ड के फील्डों की संख्या समान होती है।
- प्रत्येक रिकॉर्ड का एक अलग पहचानने वाला (Identifier) होता है।
- रिलेशन के अन्दर रिकॉर्ड किसी विशेष क्रम में व्यवस्थित होते हैं।
इसके लिए निम्नलिखित उदाहरण पर विचार कीजिए।
Relation : Part | ||||
P# | P Name | Colour | Weight | City |
P1 | Nut | Red | 12 | London |
P2 | Bolt | Green | 15 | Paris |
P3 | Screw | Blue | 18 | Rome |
P4 | Screw | Red | 14 | London |
P5 | Cam | Blue | 19 | Paris |
2. ट्यूपल (Tuple)
रिलेशन में प्रत्येक रिकॉर्ड को ट्यूपल कहा जाता है। उदाहरण के लिए, दिए गए रिलेशन Parts में पाँच ट्यूपल है। उनमें से एक ट्यूपल (P2, Bolt, Green, 15, Paris) है जो एक Part के विषय में एक विशेष सूचना हैं।
3. एट्रिब्यूट (Attribute)
रिलेशन के सन्दर्भ में प्रत्येक कॉलम (फील्ड) को एट्रिब्यूट कहते हैं। उदाहरण के लिए, दिए गए रिलेशन Parts में पाँच एट्रिब्यूट्स (P4, P Name, Colour, Weight, City) हैं। जिनमें से प्रत्येक कॉलम एक Part के विषय सूचना प्रदान करता है।
4. डोमेन (Domain)
रिलेशन के सन्दर्भ में डोमेन मानों का एक समूह होता है जिससे किसी कॉलम में दिए गए वास्तविक मानों को व्युत्पन्न किया जा सकता है।
उदाहरण के लिए, हम निम्न रिलेशन पर विचार कर सकते हैं।
Relation: S | |||
S# | S Name | Status | City |
S1 | Amar | 30 | Paris |
S2 | Mohan | 20 | New Delhi |
S3 | Ram | 10 | London |
Relation: P | |||
P# | P Name | Status | Quality |
P1 | Nut | 12 | A |
P2 | Bolt | 15 | B |
P3 | Screw | 25 | C |
C Relation: SP | ||
P# | S# | Quantity |
P1 | S1 | 300 |
P2 | S2 | 400 |
P3 | S1 | 200 |
P2 | S1 | 300 |
P1 | S2 | 200 |
यहाँ SP टेबल के P# कॉलम में जो मान दिए गए हैं उन्हें P टेबल से व्युत्पन्न किया गया है एवं SP टेबल के S# कॉलम में जो मान दिए गए हैं उन्हें S टेबल से व्युत्पन्न किया गया है। अतः यहाँ टेबल P एवं टेबल S एक डोमेन के रूप में हैं, जिनसे P# एवं S# मानों को व्युत्पन्न कर एक SP टेबल तैयार किया गया है।
5. कार्डिनैलिटी (Cardinality)
रिलेशन के सन्दर्भ में ट्यूपल (रिकॉड्र्स) की कुल संख्या को कार्डिनैलिटी कहते हैं। अतः ऊपर वर्णित उदाहरण के लिए रिलेशन P की कार्डिनैलिटी 3, S की 3 एवं SP की 5 है।
6. डिग्री (Degree)
रिलेशन के सन्दर्भ में एट्रिब्यूट (फील्ड या कॉलम) की कुल संख्या को रिलेशन की डिग्री कहते हैं। अतः ऊपर दिए गए। उदाहरण में रिलेशन P की डिग्री 4, S की 4 एवं SP की 3 है।
की-फील्ड (Key-Field)
सामान्यतः किसी डेटाबेस के हर रिकॉर्ड को उसकी रिकॉर्ड संख्या द्वारा पहचाना जाता हैं, लेकिन सभी रिकॉर्डों की रिकॉर्ड संख्या को याद रखना सम्भव नहीं है। इसलिए किसी रिकॉर्ड को पहचानने के लिए हम उसके एक फील्ड को मुख्य फील्ड या की-फील्ड मान लेते हैं।
की (Key) कई प्रकार की होती है, जो निम्नलिखित हैं।
(i) प्राइमरी की (Primary Key)
‘प्राइमरी की किसी रिलेशन का एक एट्रिब्यूट होता है, जिसमें विभिन्न मान होते हैं और जिनका प्रयोग उस रिलेशन के ट्यूपल को निर्धारित करने में किया जाता है। प्राइमरी की के रूप में चुना गया फील्ड NULL वैल्यू स्वीकार नहीं कर सकता।
उदाहरण के लिए, रिलेशन P के लिए एट्रिब्यूट P# की यह विशेषता है। कि प्रत्येक ट्यूपल में एक विशिष्ट P# मान होता है एवं यह मान उस ट्यूपल को उस रिलेशन के अन्य ट्यूयल से पृथक् करता है। इस स्थिति में रिलेशन P के लिए P# को एक प्राइमरी की कहा जाता है।
(ii) कैन्डिडेट की (Candidate Key)
कभी-कभी ऐसे रिलेशन भी उत्पन्न होते हैं जिनमें एक से अधिक एट्रिब्यूट का समूह होता है जिसमें विशेष निर्धारक गुण होते हैं एवं इसके लिए एक से अधिक की (Key) का निर्माण करना आवश्यक हो जाता है। वह की जिस पर विशिष्ट निर्धारक गुण प्रयुक्त किए जाते हैं, कैन्डिडेट की कहलाती है। किसी एक रिलेशन में एक या एक से अधिक कैन्डिडेट की हो सकती है। दिए गए उदाहरण में रिलेशन 5 में एट्रिब्यूट S# एवं SNAME की यह विशेषता है- प्रत्येक ट्यूपल में एक विशिष्ट S# एवं SNAME मान है। जिसका उपयोग उस ट्यूपल को उस रिलेशन में विद्यमान बाकी सभी ट्यूपल से पृथक् से करने में किया जाता है।
(iii) आल्टरनेट की (Alternate Key)
आल्टरनेट की वह होती है जो प्राइमरी की नहीं होती। इसकी उपयोगिता उस रिलेशन के लिए होती है जिसमें एक से अधिक एट्रिब्यूटों का समूह होता है एवं एक से अधिक कैण्डिडेट की होते हैं। इस स्थिति में, किसी विशिष्ट गुण को निर्धारित करने के लिए जब एक से अधिक की (Key) के समूहों का उपयोग किया जाता है तब प्रथम की को प्राइमरी की एवं दूसरी की को आल्टरनेट की कहा जाता है। आल्टरनेट की को सेकण्डरी की भी कहा जाता है। ऊपर दिए गए उदाहरण में, S# एक प्राइमरी की है। एवं SNAME एक आल्टरनेट की है।
(iv) फॉरेन की (Foreign Key)
किसी रिलेशनल डेटाबेस में, फॉरेन की एक या एक से अधिक फील्डों का समूह होता है जो दो सारणियों के डेटा के बीच लिंक (Link) प्रदान करता है। किसी सारणी की फॉरेन की फील्ड के लिए वैल्यू उसी सारणी के प्राइमरी की फील्ड या अन्य किसी सारणी के प्राइमरी-की फील्ड की वैल्यू से व्युत्पन्न (Derived) की जाती है। इस प्रकार फॉरेन की दो सारणियों के बीच सम्बन्ध स्थापित करती है। किसी सारणी में एक से अधिक फॉरेन की हो सकती हैं जो उस सारणी का अलग-अलग सारणियों से सम्बन्ध स्थापित करती है।
(v) यूनीक की (Unique Key)
किसी सारणी में यूनीक की एक या एक से अधिक फील्डों का समूह होती है जिनका उपयोग उस सारणी में प्रत्येक ट्यूपल को निर्धारित करने के लिए किया जाता है। एक सारणी में एक से अधिक यूनिक की हो सकती हैं। यूनीक की के लिए चुना गया फील्ड NULL वैल्यू स्वीकार कर सकता है।
डेटाबेस की भाषाएँ (Database Languages)
सैद्धान्तिक रूप से किसी दिए गए डेटा की उपभाषाएँ दो भाषाओं के समूह होती हैं।
1. डेटा डेफिनिशन लैंग्वेज (Data Definition Language-DDL)
यह भाषा डेटाबेस ऑब्जेक्ट्स (Database objects) की विशेषताओं को परिभाषित करती है, इसका उपयोग डेटा स्ट्रक्चर, सारणी व्यू आदि को परिभाषित करने हेतु होता हैं।
2. डेटा मैनिपुलेशन लैंग्वेज (Data Manipulation Language)
यह भाषा DDL के द्वारा परिभाषित ऑब्जेक्ट्स को मैनिपुलेट करती है या प्रोसेस करती है। इसका प्रयोग डेटा को जोड़ने मिटाने (Deletion), सुधारने (Modification) सारणी से सूचना को पुनः प्राप्त (Retrieve) करने के लिए होता है।
database ke bareme bahot badhiya post likha hai.
Satisfactory information available in this post. Thank you for this.