MySQL में स्कीमा/डेटाबेस के बीच अंतर




database schema (5)

क्या MySQL में स्कीमा और डेटाबेस के बीच कोई अंतर है? SQL सर्वर में, डेटाबेस एक स्कीमा के संबंध में एक उच्च स्तरीय कंटेनर है।

मैंने पढ़ा है कि Create Schema और Create Database अनिवार्य रूप से MySQL में एक ही चीज़ करें, जो मुझे विश्वास दिलाती है कि स्कीमा और डेटाबेस एक ही ऑब्जेक्ट के लिए अलग-अलग शब्द हैं।


MySQL स्कीमा में डेटाबेस का पर्याय है। शुरुआती लोगों के लिए यह काफी भ्रमित है जो MySQL पर कूदते हैं और बहुत पहले दिन स्कीमा शब्द पाते हैं, इसलिए लोग चिंता करने के लिए कुछ भी नहीं करते क्योंकि दोनों समान हैं।

जब आप पहली बार MySQL शुरू कर रहे हैं तो आपको काम करने के लिए डेटाबेस (किसी अन्य डेटाबेस सिस्टम की तरह) बनाने की आवश्यकता है ताकि आप स्कीमा तैयार कर सकें जो कुछ भी नहीं है लेकिन डाटाबेस बनाएं

कुछ अन्य डेटाबेस सिस्टम स्कीमा डेटाबेस के एक हिस्से या टेबल्स के संग्रह का प्रतिनिधित्व करता है, और स्कीमा का संग्रह डेटाबेस है।


PostgreSQL स्कीमा का समर्थन करता है, जो डेटाबेस का सबसेट है: https://www.postgresql.org/docs/current/static/ddl-schemas.html

एक डेटाबेस में एक या अधिक नामित स्कीमा होते हैं, जो बदले में टेबल होते हैं। स्कीमा में अन्य प्रकार के नामित ऑब्जेक्ट्स भी शामिल हैं, जिनमें डेटा प्रकार, फ़ंक्शंस और ऑपरेटर शामिल हैं। बिना किसी संघर्ष के विभिन्न स्कीमा में एक ही ऑब्जेक्ट नाम का उपयोग किया जा सकता है; उदाहरण के लिए, स्कीमा 1 और माइस्केमा दोनों में mytable नाम की सारणी हो सकती है। डेटाबेस के विपरीत, स्कीमा कठोर रूप से अलग नहीं होते हैं: यदि उपयोगकर्ता ऐसा करने के लिए विशेषाधिकार प्राप्त करते हैं, तो वे किसी भी डेटाबेस में किसी भी स्कीमा में ऑब्जेक्ट एक्सेस कर सकते हैं।

स्कीमा ऑपरेटिंग सिस्टम स्तर पर निर्देशिकाओं के समान हैं, सिवाय इसके कि स्कीमा को घोंसला नहीं बनाया जा सकता है।

मेरी विनम्र राय में, MySQL एक संदर्भ डेटाबेस नहीं है। आपको स्पष्टीकरण के लिए MySQL कभी उद्धृत नहीं करना चाहिए। MySQL गैर मानक एसक्यूएल लागू करता है और कभी-कभी दावा करता है कि यह समर्थन नहीं करता है। उदाहरण के लिए, MySQL में, स्कीमा बनाएं केवल एक डाटाबेस बनाएगा। यह वास्तव में भ्रामक उपयोगकर्ताओं को है।

इस प्रकार की शब्दावली को डीबीए द्वारा "माईस्क्लिज्म" कहा जाता है।


जैसा कि MySQL शब्दावली में परिभाषित किया गया है :

MySQL में, भौतिक रूप से, एक स्कीमा डेटाबेस के समानार्थी है। आप MySQL SQL सिंटैक्स में DATABASE बजाय कीवर्ड SCHEMA को प्रतिस्थापित कर सकते हैं, उदाहरण के CREATE DATABASE बजाय CREATE SCHEMA का उपयोग कर सकते हैं।

कुछ अन्य डेटाबेस उत्पाद एक भेद आकर्षित करते हैं। उदाहरण के लिए, ओरेकल डेटाबेस उत्पाद में, एक स्कीमा डेटाबेस के केवल एक हिस्से का प्रतिनिधित्व करती है: एक उपयोगकर्ता द्वारा स्वामित्व वाली टेबल और अन्य ऑब्जेक्ट्स।


डेटाबेस सर्वर पर निर्भर करता है। MySQL परवाह नहीं है, इसकी मूल रूप से वही बात है।

Oracle , DB2 , और अन्य एंटरप्राइज़ लेवल डेटाबेस समाधान एक भेद बनाते हैं। आम तौर पर एक स्कीमा टेबल का संग्रह होता है और डाटाबेस स्कीमा का संग्रह होता है।


MySQL दस्तावेज़ों को प्रतिबिंबित करना,

डेटाबेस बनाएं दिए गए नाम के साथ डेटाबेस बनाता है। इस कथन का उपयोग करने के लिए, आपको डेटाबेस के लिए CREATE विशेषाधिकार की आवश्यकता है। CREEMA बनाएं MySQL 5.0.2 के रूप में CREAT डेटाबेस के लिए समानार्थी है।





database-schema