डेटाबेस स्कीमा मेटाडेटा का एक संग्रह है जो डेटाबेस में वस्तुओं और सूचनाओं के बीच संबंधों का वर्णन करता है। एक स्कीमा की कल्पना करने का एक आसान तरीका यह है कि इसे एक बॉक्स के रूप में सोचें जिसमें टेबल, संग्रहीत कार्यविधियाँ, दृश्य और संबंधित डेटा संपत्तियाँ हों। एक स्कीमा इस बॉक्स के बुनियादी ढांचे को परिभाषित करता है।
नीचे की रेखा
अपने मूल स्तर पर, एक स्कीमा डेटा संपत्तियों के लिए एक कंटेनर के रूप में कार्य करता है। हालांकि, अलग-अलग डेटाबेस विक्रेता अपने स्कीमा को अलग-अलग तरीकों से तैयार करते हैं। उदाहरण के लिए, Oracle प्रत्येक स्कीमा को एक उपयोगकर्ता खाते के रूप में मानता है। एक नया स्कीमा बनाने के लिए, एक डेटाबेस व्यवस्थापक इच्छित स्कीमा नाम के साथ एक नया डेटाबेस उपयोगकर्ता बनाता है।
स्कीमा क्यों मायने रखता है
चूंकि स्कीमा डेटाबेस की एक बुनियादी संरचनात्मक विशेषता है, इसलिए अधिकांश डेटाबेस वातावरण स्कीमा स्तर पर ऑब्जेक्ट के लिए एक्सेस अनुमतियों को लागू करते हैं।
उदाहरण के लिए, एक कंपनी डेटाबेस में उपयोगकर्ताओं की एक श्रृंखला हो सकती है। प्रत्येक उपयोगकर्ता एक स्कीमा लेता है, लेकिन अलग-अलग स्कीमा तक पहुंच व्यक्तिगत रूप से, और अनुमतियों की ग्रैन्युलैरिटी के साथ, होम स्कीमा के बाहर के उपयोगकर्ताओं को प्रदान की जाती है।
अधिकांश डेटाबेस प्रबंधन उपकरण स्कीमा को सूचीबद्ध नहीं करते हैं; इसके बजाय, वे डेटाबेस और उपयोगकर्ताओं को सूचीबद्ध करते हैं।
उदाहरण के लिए, एक कंपनी बॉब और जेन के लिए उपयोगकर्ता खाते (स्कीमा) बनाती है। यह मानव संसाधन और विपणन जैसे विभागों के लिए भी खाते बनाता है। फिर, यह प्रत्येक विभाग के विश्लेषक को उनके विभाग के स्कीमा खाते तक पहुंच प्रदान करता है।
एचआर विश्लेषक एचआर स्कीमा के भीतर टेबल और दृश्य बनाता है और बॉब को एक एचआर तालिका पढ़ने (लेकिन लिखने के लिए नहीं) तक पहुंच प्रदान करता है जिसमें कर्मचारी के नाम और कर्मचारी आईडी नंबर सूचीबद्ध होते हैं।साथ ही, एचआर विश्लेषक जेन को एक एचआर तालिका में पढ़ने और लिखने की पहुंच प्रदान कर सकता है जो कर्मचारी फोन नंबर सूचीबद्ध करती है।
इस तरह से पहुंच प्रदान करके, केवल सही भूमिकाएं और उपयोगकर्ता ही बड़े डेटाबेस के भीतर एक स्व-निहित डेटा संपत्ति में डेटा को पढ़, लिख या संशोधित कर सकते हैं।
हर डेटाबेस इंजन स्कीमा को एक बहु-उपयोगकर्ता वातावरण में डेटा को अलग करने की मूलभूत विधि के रूप में देखता है।
विभिन्न डेटाबेस इंजन उपयोगकर्ताओं और स्कीमा को अलग तरह से व्यवहार करते हैं। उपयोगकर्ताओं, स्कीमा और अनुमति अनुदान के आसपास के सिंटैक्स और तर्क मॉडल की खोज के लिए अपने डेटाबेस इंजन के लिए दस्तावेज़ीकरण देखें।
स्कीमा बनाना
एक स्कीमा औपचारिक रूप से संरचित क्वेरी भाषा (एसक्यूएल) का उपयोग करके परिभाषित किया गया है। उदाहरण के लिए, Oracle में, आप उस उपयोगकर्ता खाते को बनाकर एक स्कीमा बनाते हैं जो इसका स्वामी है:
उपयोगकर्ता बॉब बनाएं
अस्थायी_पासवर्ड द्वारा पहचाना गया
डिफॉल्ट टेबलस्पेस उदाहरण
उदाहरण पर QUOTA 10M
अस्थायी टेबलस्पेस अस्थायी
QUOTA 5M ऑन सिस्टम
प्रोफाइल ऐप_यूजर
पासवर्ड एक्सपायर;
अन्य उपयोगकर्ताओं को उनके उपयोगकर्ता नाम के आधार पर या उपयोगकर्ता खाते में जोड़े गए एक या अधिक भूमिकाओं के आधार पर नए स्कीमा तक पहुंच प्रदान की जाती है।
स्कीमा बनाम डेटा मॉडल
डेटा मॉडल की तरह, स्कीमा कुछ भी करने के लिए आंतरिक रूप से संरचित नहीं है। इसके बजाय, यह एक डेटाबेस में विभाजन अनुमतियों का समर्थन करने के लिए एक बुनियादी ढांचा है।
एक डेटा मॉडल विशिष्ट कुंजियों पर शामिल तालिकाओं और विचारों का एक संग्रह है। ये डेटा परिसंपत्तियां, एक साथ, एक व्यावसायिक उद्देश्य की पूर्ति करती हैं। स्कीमा में डेटा मॉडल लागू करना स्वीकार्य है-बड़े और जटिल डेटा मॉडल के लिए, उन्हें स्कीमा के साथ जोड़ना स्मार्ट डेटाबेस प्रशासन के लिए बनाता है। लेकिन डेटा मॉडल के लिए स्कीमा का उपयोग करना या डेटा मॉडल को स्कीमा के रूप में मानना तार्किक रूप से आवश्यक नहीं है।
उदाहरण के लिए, मानव संसाधन विभाग अपने स्कीमा में कर्मचारी प्रदर्शन समीक्षा के लिए एक डेटा मॉडल शामिल कर सकता है। इन समीक्षाओं के लिए एक स्कीमा बनाने के बजाय, डेटा मॉडल एचआर स्कीमा (अन्य डेटा मॉडल के साथ) में बैठ सकता है और तालिका के उपसर्गों के माध्यम से तार्किक रूप से अलग रह सकता है और डेटा मॉडल में ऑब्जेक्ट के नाम देख सकता है।
डेटा मॉडल एक अनौपचारिक नाम कमा सकता है, जैसे प्रदर्शन समीक्षा, और फिर सभी तालिकाओं और दृश्यों को pr_ से पहले लगाया जा सकता है। कर्मचारी सूची तालिका को प्रदर्शन समीक्षा के लिए नए स्कीमा की आवश्यकता के बिना hr.pr_employee के रूप में संदर्भित किया जा सकता है।
अक्सर पूछे जाने वाले प्रश्न
डेटाबेस स्कीमा और डेटाबेस स्थिति में क्या अंतर है?
एक डेटाबेस योजना डेटाबेस का वर्णन करती है। एक डेटाबेस स्थिति एक समय में एक डेटाबेस की सामग्री को संदर्भित करती है और इसे डेटाबेस स्कीमा का विस्तार माना जा सकता है।
डेटाबेस का रिलेशनल स्कीमा क्या है?
एक संबंधपरक स्कीमा तालिकाओं और वस्तुओं के बीच संबंधों को रेखांकित करता है जो एक दूसरे से जुड़े होते हैं। एक स्कीमा एक ग्राफिक चित्रण या चार्ट हो सकता है, या इसे SQL कोड में लिखा जा सकता है।