कड़ाई से बोलने, डेटाबेस और स्कीमा के बीच अंतर MySql में मौजूद है।
हालाँकि, SQL डेटाबेस जैसे अन्य डेटाबेस इंजन में ऐसा नहीं है। SQL सर्वर में:
हर तालिका डेटाबेस स्कीमा नामक डेटाबेस में ऑब्जेक्ट्स के एक समूह से संबंधित है । यह एक कंटेनर या नाम स्थान ( Microsoft SQL Server 2012 को छोड़ना ) है
डिफ़ॉल्ट रूप से, SQL सर्वर की सभी तालिकाएँ डिफ़ॉल्ट स्कीमा से संबंधित होती हैं जिन्हें dbo कहा जाता है । जब आप किसी ऐसे तालिका को क्वेरी करते हैं जिसे किसी विशेष स्कीमा को आवंटित नहीं किया गया है, तो आप कुछ ऐसा कर सकते हैं:
SELECT *
FROM your_table
जो इसके बराबर है:
SELECT *
FROM dbo.your_table
अब, SQL सर्वर विभिन्न स्कीमा के निर्माण की अनुमति देता है, जो आपको एक समान उद्देश्य साझा करने वाली तालिकाओं को समूहीकृत करने की संभावना देता है। जो डेटाबेस को व्यवस्थित करने में मदद करता है।
उदाहरण के लिए, यदि आप एक स्कीमा कहा जाता है बना सकते हैं बिक्री , जैसे तालिकाओं के साथ चालान , creditorders (और बिक्री के साथ संबंधित किसी भी अन्य), और एक अन्य स्कीमा बुलाया देखने , जैसे तालिकाओं के साथ देशों , मुद्राओं , subscriptiontypes (और किसी भी अन्य तालिका देखो के रूप में इस्तेमाल अप टेबल)।
एक विशिष्ट डोमेन के लिए आबंटित तालिकाएँ SQL सर्वर स्टूडियो प्रबंधक में प्रदर्शित होती हैं, जिसमें स्कीमा नाम तालिका के नाम से जुड़ा होता है (ठीक उसी प्रकार जो तालिका डिफ़ॉल्ट dbo स्कीमा से संबंधित है )।
SQL Server में विशेष स्कीमा हैं। उसी पुस्तक को उद्धृत करने के लिए:
कई अंतर्निहित डेटाबेस स्कीमा हैं, और उन्हें गिराया या बदला नहीं जा सकता है:
1) dbo , डिफ़ॉल्ट स्कीमा।
2) अतिथि में अतिथि उपयोगकर्ता के लिए उपलब्ध वस्तुएं होती हैं ("अतिथि उपयोगकर्ता" SQL सर्वर लोंगो में कुछ डिफ़ॉल्ट और अत्यधिक प्रतिबंधित सामग्री के साथ एक विशेष भूमिका है)। बहुत कम प्रयुक्त।
3) INFORMATION_SCHEMA , सूचना स्कीमा दृश्य द्वारा उपयोग किया जाता है
4) sys , SQL सर्वर आंतरिक उपयोग के लिए विशेष रूप से आरक्षित है
स्कीम केवल ग्रुपिंग के लिए नहीं हैं। MSDN के अनुसार प्रत्येक स्कीमा के लिए अलग-अलग उपयोगकर्ताओं को अलग-अलग अनुमति देना वास्तव में संभव है ।
इस तरह से, ऊपर वर्णित स्कीमा लुकअप को डेटाबेस में किसी भी मानक उपयोगकर्ता को उपलब्ध कराया जा सकता है (उदाहरण SELECT
केवल अनुमति), जबकि आपूर्तिकर्ताबैंकएक्वांटडेट्स नामक एक तालिका को एक अलग स्कीमा में आवंटित किया जा सकता है जिसे वित्तीय कहा जाता है , और उपयोगकर्ताओं को केवल एक्सेस प्रदान करने के लिए समूह accounts
(सिर्फ एक उदाहरण, आपको विचार मिलता है)।
अंत में, उसी पुस्तक को फिर से उद्धृत करना:
यह एक ही डेटाबेस स्कीमा और टेबल स्कीमा नहीं है । पूर्व एक तालिका का नाम स्थान है, जबकि उत्तरार्द्ध तालिका परिभाषा को संदर्भित करता है