डेटाबेस प्रबन्धन प्रणाली
कम्प्यूटरीकृत डेटाबेस के निर्माण तथा रख – रखाव के लिए हमें एक विशेष प्रकार के सॉफ्टवेयर की आवश्यकता होती है , जिसे डेटाबेस प्रबन्धन प्रणाली ( DBMS ) कहा जाता है ।
मुख्यतः यह एक कम्प्यूटर आधारित रिकॉर्ड के रख रखाव की प्रणाली है अर्थात् यह एक ऐसी प्रणाली है , जिसका उद्देश्य रिकॉर्ड . . . एवं सूचनाओं को सम्भाल कर रखना है । यह उपयोगकर्ता को एक ऐसा वातावरण प्रदान करती है , जिसके माध्यम से डेटा को संग्रहीत करना तथा पुनः प्राप्त करना बहुत ही सुविधाजनक हो जाता है । MySQL , INGRES , MS ACCESS आदि इसके उदाहरण हैं ।
DBMS की मुख्य विशेषताएँ निम्नलिखित हैं
1. डेटाबेस का निर्माण करना ।
2. नए डेटा को शामिल करना या जोड़ना ।
3. वर्तमान डेटा को सम्पादित करना ।
4. डेटा को अस्थायी एवं स्थायी रूप से मिटाना ।
5. सूचना पद्धति को ढूँढना एवं प्राप्त करना ।
6. डेटा को क्रमबद्ध रूप से व्यवस्थित करना ।
7. आकर्षक एवं अर्थपूर्ण रिपोर्ट्स को डिजाइन करना एवं प्रिन्ट करना ।
DBMS की संरचना ( Architecture of DBMS )
DBMS की संरचना तीन स्तरों से मिलकर बनी होती है , जिनका विवरण निम्नलिखित हैं
1. आन्तरिक स्तर ( Internal Level )
इस स्तर में , डेटाबेस के भौतिक संग्रहण की संरचना का वर्णन करता है । यह वर्णित करता है कि वास्तव में डेटा डेटाबेस में कैसे संग्रहीत और व्यवस्थित होता है । वह यह भी निर्धारित करता है कि कौन – सी इण्डेक्सेस मौजूद हैं , स्टोर किए गए रिकॉर्ड किस क्रम में हैं आदि । इसे भौतिक स्तर ( Physical Level ) भी कहा जाता है ।
2. विचार सम्बन्धी स्तर ( Conceptual Level )
इस स्तर में , पूर्ण डेटाबेस की संरचना होती है । यह स्तरों के मध्य जानकारी के रूपान्तरण की प्रक्रिया होती है । यह डेटाबेस में संग्रहीत डेटा के प्रकार को तथा डेटा के बीच सम्बन्ध को वर्णित करता है । इसे तर्कसिद्ध स्तर ( Logical Level ) भी कहा जाता है
3. बाहरी स्तर ( External Level )
इस स्तर में डेटा व्यक्तिगत उपयोगकर्ता द्वारा उपयोग में लाया जाता है । यह डेटाबेस के उस भाग का वर्णन करता है जो उपयोगकर्ता के लिए उपयोगी होता है । यह उपयोगकर्ताओं को उनकी आवश्यकतानुसार डेटा को एक्सिस ( Access ) करने की अनुमति इस प्रकार करता है , ताकि एक ही डेटा एक ही समय पर कई उपयोगकर्ताओं ( Users ) द्वारा प्रयोग किया जा सके । यह स्तर डेटाबेस की सूची को उपयोगकर्ता से छिपाता है । यह स्तर अलग – अलग उपयोगकर्ता के लिए अलग – अलग होता है । इसे दर्शनीय स्तर ( View Level ) भी कहा जाता है ।
DBMS के लाभ ( Advantages of DBMS )
DBMS के के कई लाभ है जो निम्नलिखित है
1. डेटा के दोहराव में कमी ( Reduction in Data Repitition )
अच्छी तरह व्यवस्थित किए गए डेटाबेस में सामान्यतः डेटा का कोई दोहराव नहीं होता । समस्त डेटा को एक जगह रखे जाने के कारण हर सूचना को केवल एक बार स्टोर किया जाता है ।
2. डेटा की स्थिरता ( Data Consistency )
डेटा के एक ही स्थान पर केन्द्रित होने के कारण डेटा की स्थिरता बनी रहती है , क्योंकि उसमें एक सूचना के दो मानों की सम्भावना समाप्त हो जाती है । डेटा अस्थिर तब होता है जब डेटा दो जगह रखा गया हो ओर केवल एक जगह सुधारा गया हो ।
3. डेटा की साझेदारी ( Data Sharing )
डेटा की साझेदारी करके एक समय पर कई प्रोग्राम डेटा का प्रयोग कर सकते हैं । जिससे प्रोग्रामों को अपना डेटाबेस तैयार करने की आवश्यकता नहीं होती और बहुत – सा समय और परिश्रम बच जाता है ।
4. डेटा की सुरक्षा ( Security of Data )
डेटाबेस प्रबन्धन प्रणाली ( DBMS ) डेटा को निषिद्ध उपयोगकर्ताओं तथा अवैध परिवर्तन से बचाता है । यह केवल अधिकृत उपयोगकर्ताओं को डेटा का प्रयोग करने की अनुमति प्रदान करता है ।
5. डेटा की सम्पूर्णता ( Data Integrity )
डेटा की सम्पूर्णता , डेटा की समग्र पूर्णता ( Overall Completeness ) , सटीकता ( Accuracy ) तथा निरन्तरता ( Consistency ) को सन्दर्भित करती है।
यह एक डेटा रिकॉर्ड के दो अपडेटस ( Updates ) के बीच परिवर्तन के अभाव को दर्शाता है । यह दर्शाता है कि डेटाबेस में स्टोर डेटा बिल्कुल सही है और नवीनतम है ।
DBMS की सीमाएँ ( Limitation of DBMS )
DBMS के कई लाभ है , लेकिन साथ ही इसकी कुछ सीमाएँ भी हैं जो निम्नलिखित हैं
1. हार्डवेयर और सॉफ्टवेयर की लागत ( Cost of Hardware and Software )
सॉफ्टवेयर को चलाने के लिए डेटा को तीव्र गति से प्रोसेस करने वाले प्रोसेसर ( Processor ) और अधिक क्षमता वाली मैमोरी ( Memory ) की आवश्यकता होती है , जिनकी लागत अधिक होती हैं।
2. कठिनता ( Complexity )
एक डेटाबेस प्रबन्धन प्रणाली ( DBMS ) के अच्छे कार्य करने की क्षमता की पूर्व – कल्पना करना उस DBMS सॉफ्टवेयर को कठिन बना देती है । डेटाबेस प्रबन्धन प्रणाली को समझने की विफलता एक संगठन Organisation के लिए गम्भीर परिणामों का कारण बन सकती है ।
3. कर्मचारियों के प्रशिक्षण की लागत ( Cost of Staff Training )
अधिकतर DBMS सॉफ्टवेयर अत्यन्त जटिल होते हैं , इसलिए उपयोगकर्ताओं को डेटाबेस का प्रयोग करने के लिए एक प्रशिक्षण देने की आवश्यकता होती है । इस प्रकार , DBMS सॉफ्टवेयर चलाने के लिए संगठन को कर्मचारियों के प्रशिक्षण के लिए एक बड़ी राशि का भुगतान करना पड़ता है । टेक्निकल स्टॉफ की नियुक्ति ( Appointing Technical Staff ) एक संगठन में डेटाबेस के लिए प्रशिक्षित टेक्निकल पर्सन ( Trained Technical Staff ) जैसे कि डेटाबेस व्यवस्थापक ( Database Administrator ) , एप्लीकेशन प्रोग्रामर ( Application Programmers ) आदि की आवश्यकता होती है , जिसके लिए संगठन को इन व्यक्तियों को एक अच्छे वेतन का भुगतान करना पड़ता है जिससे प्रणाली की लागत बढ़ जाती है ।
डेटाबेस की विफलता ( Database Failure )
अधिकांश संगठन में सभी डेटा एक ही डेटाबेस में एकीकृत होता है । यदि पॉवर बन्द हो जाने के कारण डेटाबेस विफल हो जाता है या डेटाबेस स्टोरेज डिवाइस पर ही विफल ( Fail ) हो जाता है । तो हमारा सभी मूल्यवान ( Valuable ) डेटा लुप्त ( Loss ) हो सकता है या हमारी पूरी प्रणाली बन्द हो सकती है ।
रिलेशनल डेटाबेस ( Relational Database )
रिलेशनल डेटाबेस में डेटा को द्वि – आयामी सारणियों ( 2 – Dimensional | Tables ) के रूप में संग्रहीत किया जाता है । इन सारणियों को रिलेशन ( Relation ) भी कहा जाता है । रिलेशन डेटाबेस के रख – रखाव के लिए रिलेशनल डेटाबेस प्रबन्धन प्रणाली ( Relational Database Management System – RDBMS ) की आवश्यकता होती है । RDBMS , DBMS का ही एक प्रकार है । रिलेशनल डेटाबेस की मुख्य विशेषता यह है कि एक एकल डेटाबेस में एक से अधिक सारणियों को संग्रहीत किया जा सकता है । और ये सारणियाँ आपस में सम्बन्धित होती है ।
सम्बन्धित पदावली ( Related Terminology )
रिलेशनल डेटाबेस की कुछ सम्बन्धित पदावली निम्नलिखित हैं
1. रिलेशन ( Relation )
रिलेशन के अन्तर्गत एक टेबल ( Table ) तैयार की जाती है जो एक सिक्वेन्शियल फाइल को निरूपित करती है , जिसमें टेबल की पंक्तियाँ ( Rows ) फाइल के रिकॉर्ड को इंगित करती हैं । एवं स्तम्भ ( Column ) रिकॉर्ड के फील्ड को दर्शाता है । ये टेबल्स रिलेशन ही होते हैं । रिलेशन को उच्च स्तरीय फाइल्स के रूप में समझा जाता है , जिसमें
( i )प्रत्येक रिलेशन में एक ही तरह के रिकॉर्ड होते हैं ।
किसी दिए गए रिलेशन में प्रत्येक रिकॉर्ड के फील्डों की संख्या समान होती है ।
( ii )प्रत्येक रिकॉर्ड का एक अलग पहचानने वाला ( Identifier ) होता है ।
( iii )रिलेशन के अन्दर रिकॉर्ड किसी विशेष क्रम में व्यवस्थित होते हैं ।
इसके लिए निम्नलिखित उदाहरण पर विचार कीजिए
2. ट्यूपल ( Tuple )
रिलेशन में प्रत्येक रिकॉर्ड को ट्यूपल कहा जाता है । उदाहरण के लिए , दिए गए रिलेशन Parts में पाँच ट्यूपल है । उनमें से एक ट्यूपल ( P2 , Bolt , Green , 15 , Paris ) है जो एक Part के विषय में एक विशेष सूचना हैं ।
3. एट्रिब्यूट ( Attribute )
रिलेशन के सन्दर्भ में प्रत्येक कॉलम ( फील्ड ) को एट्रिब्यूट कहते हैं । उदाहरण के लिए , दिए गए रिलेशन Parts में पाँच एट्रिब्यूट्स ( P # , P Name , Colour , Weight , City ) हैं । जिनमें से प्रत्येक कॉलम एक Part के विषय सूचना प्रदान करता है ।
4. डोमेन ( Domain )
रिलेशन के सन्दर्भ में डोमेन मानों का एक समूह होता है जिससे किसी कॉलम में दिए गए वास्तविक मानों को व्युत्पन्न किया जा सकता है । उदाहरण के लिए , हम निम्न रिलेशन पर विचार कर सकते हैं ।
यहाँ 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 )
सामान्यतः किसी डेटाबेस के हर रिकॉर्ड को उसकी रिकॉर्ड संख्या द्वारा पहचाना जाता हैं , लेकिन सभी रिकॉर्डों की रिकॉर्ड संख्या को याद रखना सम्भव नहीं है । इसलिए किसी रिकॉर्ड को पहचानने के लिए हम उसके एक फील्ड को मुख्य फील्ड या की – फील्ड मान लेते हैं । कई प्रकार की होती है , जो निम्नलिखित हैं
( 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 ) करने के लिए होता है ।
एंटिटी – रिलेशनशिप मॉडल ( Entity – Relationship Model )
एंटिटी – रिलेशनशिप मॉडल ( E – R Mode ) का प्रयोग डेटाबेस के सन्दर्भ में एंटिटीज ( Entities ) तथा उनके बीच के सम्बन्ध को ग्राफिकल ( Graphical ) रूप में प्रदर्शित करने के लिए किया जाता है । इसे एंटिटी – रिलेशनशिप डायग्राम ( E – R Diagram ) भी कहा जाता है ।
E – R मॉडल से सम्बन्धित पदों का विवरण निम्नलिखित है
1. एंटिटी ( Entity )
यह वास्तविक दुनिया की वस्तुओं को दर्शाती है । यह उन सभी वस्तुओं को सम्मिलित करती है जिनके बारे में डेटा एकत्रित किया जाना है , एंटिटी रिलेशनशिप डायग्राम मे इसे आयताकार बॉक्स के द्वारा दर्शाया जाता है । उदाहरण के लिए , Customer buys items , यहाँ पर Customer और items एंटिटी हैं।
2. एट्रिब्यूट्स ( Attributes )
यह एक एंटिटी की विशेषताओं और गुणों का वर्णन करता है । सारणी में एट्रिब्यूट्स को फील्डों द्वारा दर्शाया जाता है । E – R डायग्राम में एट्रिब्यूट्स को दीर्घ वृत्ताकार बॉक्स में दर्शाया जाता है । उदाहरण के लिए , ItemID और Price एंटिटी ITEM के एट्रिब्यूट्स हो सकते हैं ।
3. रिलेशनशिप ( Relationship )
यह एंटिटिज के मध्य परस्पर सम्बन्धों को दर्शाता है । यह E – R डायग्राम में डायमण्ड की आकृति वाले बॉक्स के द्वारा दर्शाया जाता है । उदाहरण के लिए ,
दिए गए चित्र में , Customer और Items एंटिटी है । यहाँ पर Name तथा Address , Customer के और Itemld तथा Price , Items के एट्रिब्यूट्स है , और Buys , customer तथा Items के बीच रिलेशनशिप को दर्शा रहा है ।
एंटिटी सेट ( Entity Set )
एक ही प्रकार की विशेषताओं या गुणों वाली एंटिटीज के सेट को एंटिटी सेट कहते हैं । उदाहरण के लिए , Students डेटाबेस में उपस्थित सभी Students एंटिटीज का एक एंटिटी सेट है ।
एंटिटी सेट दो प्रकार के होते हैं
1. स्ट्रॉन्ग एंटिटी सेट ( Strong Entity Set )
ऐसा एंटिटी सेट , जिसमें प्राइमरी की फील्ड होता है , स्ट्रॉन्ग एंटिटी सेट कहलाता है ।
2. वीक एंटिटी सेट ( Weak Entity Set )
ऐसा एंटिटी सेट , जिसमें प्राइमरी की बनाने के लिए पर्याप्त नहीं होते हैं , वीक एंटिटी सेट कहलाता है ।
इन्हें भी जानें
1. डेटाबेस व्यवस्थापक ( Database Administrator ) यह एक कम्प्यूटर में प्रशिक्षित व्यक्ति होता है जो डेटाबेस के उपयोग को अधिकृत करने के लिए , समन्वित करने के लिए और इसके उपयोग को मॉनीटर ( Monitor ) करने के लिए जिम्मेदार होता है । यह सॉफ्टवेयर तथा हार्डवेयर को प्राप्त करने के लिए भी जिम्मेदार होता है । इसे DBA भी कहा जाता है
2. स्कीमा ( Schema )
यह डेटाबेस की एक लॉजिकल संरचना ( Logical Structure ) है ।
3. इन्स्टैन्स ( Instance )
एक विशेष समय पर डेटाबेस में संग्रहीत जानकारी का संग्रह डेटाबेस का इन्स्टैन्स कहलाता है ।
4. डेटा माइनिंग ( Data Mining )
डेटा माइनिंग अलग – अलग दृष्टिकोण ( Perspective ) से डेटा का विश्लेषण करने और उपयोगी जानकारी में बदलने की प्रक्रिया है । कभी – कभी इसे Data or Knowledge Discovery भी कहा जाता है ।
डॉ . ई एफ कॉड ( Dr. E. F. codd ) ने वर्ष 1970 में रिलेशनल डेटाबेस प्रबन्धन प्रणाली के लिए 12 नियम प्रस्तुत किए थे ।
5. डेटा मॉडल ( Data Model )
यह डेटा , डेटा के बीच सम्बन्ध , बाध्यताएँ ( Constraints ) सीमेण्टिक्स ( Semantics ) आदि का वर्णन करने के लिए वैचारिक उपकरणों ( Conceptual Tools ) का एक समूह होता है ।
सामान्यतः यह तीन प्रकार का होता है ।
1. रिलेशनल डेटा मॉडल ( Relational Data Model )
2. नेटवर्क डेटा मॉडल ( Network Data Model )
3. हैरार्रिकल डेटा मॉडल ( Hierarehical Data Model )
तो दोस्तों, कैसी लगी आपको हमारी यह पोस्ट ! इसे अपने दोस्तों के साथ शेयर करना न भूलें, Sharing Button पोस्ट के निचे है। इसके अलावे अगर बिच में कोई समस्या आती है तो Comment Box में पूछने में जरा सा भी संकोच न करें। धन्यवाद !