डेटाबेस डिजाइन सिर्फ रेखाएं और बक्से खींचने से कहीं आगे जाता है। इस लेख में, मैं डेटा मॉडलिंग की प्रक्रिया पर सर्वोत्तम प्रथाओं पर जोर देने के साथ-साथ एक अच्छा डेटाबेस डिज़ाइन बनाने के लिए उन सर्वोत्तम प्रथाओं को लागू करने के लिए उपकरणों का उपयोग करने के तरीके पर विचार करता हूं।
डेटाबेस डिज़ाइन एक डेटाबेस का विस्तृत मॉडल तैयार करने की प्रक्रिया है। डेटाबेस मॉडलिंग की शुरुआत में व्यावसायिक क्षेत्र और विकसित की जा रही कार्यक्षमता पर एक समझ प्राप्त करना शामिल है।
यदि आप डेटाबेस डिज़ाइन प्रक्रिया में शामिल चरणों के बारे में थोड़ा अनिश्चित हैं, तो मैं आपको डेटाबेस डिज़ाइन चरणों के इस विवरण के बारे में बताऊंगा।
मॉडलिंग शुरू करें:व्यवसाय से बात करें
यह सूचना प्रौद्योगिकी में एक प्रमुख सिद्धांत है। हम डेटा पक्ष से एक व्यावसायिक समस्या को हल कर रहे हैं ताकि आवश्यक डेटा उपलब्ध हो। हमें कारोबारी लोगों की ज़रूरतों को समझने के लिए उनसे बात करने की ज़रूरत है।
हमें इस तरह के प्रश्न पूछने चाहिए:
- “डोमेन क्या है?”
- “इस डोमेन में क्या चुनौतियाँ हैं?”
- “कौन-सी समस्याएँ हल करनी हैं?”
- “हमें कौन सी जानकारी रखने की ज़रूरत है?”
व्यवसाय से बात करके, हम उन ट्रेड-ऑफ़ पर विचार कर सकते हैं जो डेटाबेस मॉडल को प्रभावित कर सकते हैं। हमने मॉडलिंग की नींव भी रखी।
आइए एक ठोस उदाहरण का उपयोग करें। एक कंपनी के लिए एक लेखांकन आवेदन लें:आपको ग्राहकों, आपूर्तिकर्ताओं, चालानों, भुगतानों, खातों, शेष राशि आदि को मॉडल करने की आवश्यकता होगी। आपको इन अवधारणाओं और लेखांकन के बारे में जानने की आवश्यकता है। आप ऐसा केवल बात करके . कर सकते हैं कारोबारियों के लिए।
अवधारणाओं को क्रम में लाना
व्यवसाय के साथ यह प्रारंभिक कार्य आपको एक मॉडल में ले जाएगा कि "अवधारणाओं" को डेटाबेस में संग्रहीत किया जाना चाहिए (मॉडल के विभिन्न स्तरों के इस स्पष्टीकरण को पढ़ें)। हमें डेटाबेस में स्टोर करने की आवश्यकता की अवधारणा से, यानी हमारा वैचारिक मॉडल, हम एक तार्किक पर जाते हैं। तार्किक मॉडल उन व्यावसायिक अवधारणाओं और नियमों का दस्तावेजीकरण करता है जिन पर हम विवरण परत करते हैं (आप इस चर्चा को पढ़ने में रुचि ले सकते हैं कि क्या तार्किक डेटा मॉडलिंग अप्रचलित है)।
यदि आप विभिन्न प्रकार के डेटा मॉडल के बारे में अनिश्चित हैं, तो वर्टाबेलो के साथ वैचारिक, तार्किक और भौतिक डेटा मॉडल को कैसे कार्यान्वित करें, इस पर हमारा लेख देखें।
तार्किक डेटा मॉडल उन अवधारणाओं में अधिक जानकारी जोड़ता है जिन्हें हमने पहले ही प्रलेखित किया है। यह वर्णन करता है कि डेटा कैसे संरचित किया जाता है और संस्थाएं एक दूसरे से कैसे संबंधित हैं। इसके अलावा, इसमें हमारे द्वारा प्रबंधित किए जा रहे डेटा के प्रकारों की जानकारी शामिल होती है।
वर्टाबेलो में, हम एक तार्किक इकाई-संबंध आरेख (ईआरडी) के माध्यम से एक तार्किक डेटा मॉडल बना सकते हैं। वर्टाबेलो के साथ तार्किक डेटा मॉडलिंग कैसे करें, इसके विवरण की जाँच करें।
यहां ग्राहकों, आपूर्तिकर्ताओं, चालानों, भुगतानों और खातों का एक सरल, और अभी तक पूरा नहीं हुआ तार्किक डेटा मॉडल है।
वर्टाबेलो के साथ काम करने से मुझे जो एक और फायदा मिलता है, वह यह है कि मुझे सटीक अंकन के बारे में ज्यादा चिंता करने की जरूरत नहीं है। मॉडलिंग टूल आपको डिज़ाइन के बारे में चिंता करने की अनुमति देता है, न कि इकाई-संबंध आरेख (ईआरडी) नोटेशन और प्रतीकों की बारीकियों के बारे में, जो स्पष्ट रूप से, डेटाबेस डिज़ाइन प्रक्रिया के दौरान आपकी कम से कम चिंता होनी चाहिए।
चलो भौतिक हो जाएं
वास्तव में डेटाबेस के साथ काम करने के लिए, हमें अपने तार्किक मॉडल से भौतिक मॉडल पर जाने की आवश्यकता है। वर्टाबेलो टूल हमें तार्किक डेटा मॉडल से आसानी से भौतिक डेटा मॉडल उत्पन्न करने की अनुमति देता है। आप पहले एक तार्किक डेटा मॉडल बनाते हैं, फिर आप "स्वतः-जादुई रूप से . कर सकते हैं " तार्किक मॉडल का चयन करके और "भौतिक डेटा मॉडल जेनरेट करें" पर क्लिक करके एक भौतिक मॉडल बनाएं (सटीक चरणों के लिए यह विस्तृत मार्गदर्शिका देखें)।
जाहिर है, उत्पन्न भौतिक डेटा मॉडल तार्किक मॉडल के समान होगा; हालांकि, तार्किक डेटा प्रकारों को डेटा प्रकारों में अनुवादित किया जाएगा जो कि विशेष डेटाबेस प्रबंधन प्रणाली (डीबीएमएस) के लिए अनुमत हैं जिसके लिए आप भौतिक मॉडल तैयार करते हैं। भौतिक मॉडल यह भी इंगित करेगा कि कौन सी विशेषताएँ तालिकाओं के बीच विदेशी कुंजियाँ हैं। आप डेटाबेस के भौतिक पहलुओं से संबंधित अतिरिक्त मॉडलिंग करना भी चाह सकते हैं - उदाहरण के लिए, अनुक्रमणिका और दृश्य।
इसके अलावा, सीधे भौतिक डेटा मॉडल बनाना संभव है; आपको पहले तार्किक बनाने की आवश्यकता नहीं है। सीधे एक भौतिक मॉडल पर जाने से छोटी, अधिक निर्देशित मॉडलिंग गतिविधियों के लिए समझ में आता है, जहां व्यापार डोमेन बेहतर परिभाषित होता है। भौतिक डेटाबेस मॉडलिंग प्रक्रिया सीधी है और इसमें बहुत अधिक चुनौतियाँ नहीं होनी चाहिए। तार्किक डेटा मॉडल होना बड़ी परियोजनाओं के लिए उपयोगी साबित होगा, लेकिन कम से कम एक भौतिक मॉडल होना किसी के न होने से बेहतर है।
आपके डेटाबेस डिज़ाइन का विकास
डेवलपर्स आमतौर पर सोचते हैं कि डेटाबेस मॉडल को वास्तविक कोड के चारों ओर घूमना चाहिए, जबकि डेटा मॉडलर सोचते हैं कि कोड अपेक्षाकृत स्थिर डेटा मॉडल के आधार पर बनाया जाना चाहिए। डेटा मॉडलिंग को आज सहयोगी होना चाहिए . कोड और डेटा मॉडल एक दूसरे को आगे और पीछे प्रभावित करते हैं।
इसलिए, हमें एक ऐसे उपकरण की आवश्यकता है जो एक सहयोगी डेटाबेस डिजाइन प्रक्रिया और मॉडलिंग का समर्थन करता हो। अवधारणात्मक डिज़ाइन बनाने के लिए व्यवसाय के साथ काम करने के अलावा, डेटा मॉडलर्स को आवश्यकतानुसार तार्किक और भौतिक डेटा मॉडल को अपडेट करने के लिए विकास चक्र के दौरान सहयोग करने की आवश्यकता होती है। मॉडलर और डेवलपर्स को मॉडल को तब तक अनुकूलित करना चाहिए जब तक कि यह वास्तव में सिस्टम की व्यावसायिक और गैर-कार्यात्मक आवश्यकताओं का समर्थन न करे।
जाहिर है, बदलाव से गलतियां हो सकती हैं। फिर से, एक उपकरण होने से मदद मिल सकती है; एक उपकरण जो लगातार आपके डेटा मॉडल को मान्य करता है वह अमूल्य है। वर्टाबेलो में तार्किक और भौतिक डेटा मॉडल दोनों के लिए एक अंतर्निहित, लाइव, ऑनलाइन सत्यापन है ताकि मॉडलिंग के दौरान समस्याओं का पता लगाया जा सके, कार्यान्वयन के दौरान नहीं। और इसमें सहयोग करने वाले सभी लोगों के लिए त्रुटियां दिखाई देती हैं। साथ ही, आप सत्यापन सेटिंग्स को आवश्यकतानुसार समायोजित कर सकते हैं। यहां कई त्रुटियों और चेतावनियों के साथ मेरे अधूरे डेटा मॉडल का एक उदाहरण दिया गया है।
लेखांकन उदाहरण पर वापस जाने पर, आप विकास के दौरान पा सकते हैं कि चालान और भुगतान के लिए यूरो या डॉलर जैसी एकल मुद्रा का मॉडल बनाना पर्याप्त नहीं है। इसके बजाय, आपको राशियों को उनकी संबंधित मुद्रा के साथ स्टोर करना होगा और उन्हें "आधार" मुद्रा में परिवर्तित करना होगा जिसमें कंपनी की बहीखाता पद्धति आयोजित की जाती है। आपको मुद्रा विनिमय दरों और उन दरों की ऐतिहासिक जानकारी की भी आवश्यकता हो सकती है जिनका उपयोग अतीत में मुद्राओं के रूपांतरण के लिए किया गया था।
यह वह जगह है जहां वर्टाबेलो जैसा एक सहयोगी डेटाबेस मॉडलिंग टूल वास्तव में इसके लायक साबित होता है। आप सहयोगी मॉडलिंग के लिए वर्टाबेलो का उपयोग करने के बारे में अधिक जानकारी प्राप्त कर सकते हैं। आप बस क्लिक करें और अपने मॉडल को अपनी टीम के सदस्यों के साथ साझा करें।
कार्यान्वयन के लिए भौतिक
एक बार आपके पास भौतिक मॉडल का पहला संस्करण हो जाने के बाद, आप शायद वास्तविक डेटाबेस के साथ काम करना शुरू करने के लिए उत्सुक होंगे। ऐसा करने के लिए, Vertabelo डेटाबेस बनाने के लिए SQL DDL (डेटा डेफिनिशन लैंग्वेज) स्क्रिप्ट जेनरेट करेगा। मैं यहां सभी विवरण नहीं लिखूंगा, क्योंकि आप उन्हें ऑनलाइन नॉलेज बेस आलेख में देख सकते हैं कि डेटाबेस बनाने के लिए SQL स्क्रिप्ट कैसे उत्पन्न करें।
मैं आपको अनुभव से बता दूं - यह एक ऐसी स्वागत योग्य विशेषता है। आप विभिन्न डेटाबेस SQL DDL सिंटैक्स की अनियमितताओं से निपटने से बचते हैं, और आप अपने डिज़ाइन पर ध्यान केंद्रित कर सकते हैं ।
संस्करण
अब, जैसा कि मैंने ऊपर लिखा है, आपके मॉडल विकसित होंगे, चाहे वह डेटाबेस डिज़ाइन के दौरान, सॉफ़्टवेयर विकास के दौरान, या बाद में आपके डेटाबेस के वास्तविक उपयोग के दौरान हो। वर्टाबेलो की दो महान विशेषताएं हैं जिनके बारे में मैं यह सुनिश्चित करना चाहता हूं कि आप जागरूक हैं।
सबसे पहले, वर्टाबेलो में संस्करण प्रबंधन शामिल है। आप संशोधनों को ट्रैक कर सकते हैं और डेटा मॉडल के संस्करणों को प्रबंधित कर सकते हैं, इसलिए यदि आवश्यक हो तो "समय वापस करना" और पिछले संस्करण में रोलबैक करना आसान है। यदि आप अनुशासित हैं, तो आप सटीक नामों के साथ विभिन्न संस्करणों को टैग कर सकते हैं, चाहे वह ड्राफ्ट हो या डेटाबेस का वास्तविक रिलीज़।
दूसरी विशेषता, जिसका मैंने अपने डेटाबेस मॉडलिंग के दौरान कई वर्षों से सपना देखा है, वर्टाबेलो टूल की स्वचालित रूप से की क्षमता है। अपने डेटा मॉडल के संस्करणों के बीच माइग्रेशन स्क्रिप्ट जेनरेट करें। मैंने उस समय की गिनती खो दी है जब मुझे बार-बार माइग्रेशन स्क्रिप्ट को मैन्युअल रूप से लिखना और सही करना पड़ा। ऑनलाइन सर्वेक्षण के लिए डेटाबेस के दो संस्करणों के बीच माइग्रेशन स्क्रिप्ट जेनरेट करने का एक उदाहरण यहां दिया गया है।
डेटा मॉडलर के लिए एक ऐसा टूल होना वरदान है जो संस्करणों को कुशलतापूर्वक प्रबंधित करता है और संस्करणों के बीच परिवर्तनों के प्रभाव का पता लगाता है!
बड़े मॉडल
सबसे पहले, मुझे ईमानदार होने दो। मैं हमेशा बड़े मॉडलों के साथ काम नहीं कर रहा हूं, लेकिन कभी-कभी मुझे उन्हें बनाना पड़ता है। यहां, फिर से, वर्टाबेलो हमें अपने मॉडलों को व्यवस्थित करने के लिए एक समाधान प्रदान करता है।
हम विषय क्षेत्रों के साथ तालिकाओं को दृष्टिगत रूप से समूहित कर सकते हैं; अगर आप यह देखना चाहते हैं कि यह कैसे करना है, तो आप वर्टाबेलो में बड़े डेटा मॉडल के प्रबंधन के बारे में एक वीडियो भी देख सकते हैं।
आप इस तकनीक का उपयोग तब भी कर सकते हैं जब आप SQL DDL स्क्रिप्ट से डेटा मॉडल में रिवर्स इंजीनियरिंग कर रहे हों।
डेटाबेस डिज़ाइन के साथ प्रारंभ करें
यदि आप डेटाबेस डिज़ाइन के कुछ सर्वोत्तम अभ्यासों की तलाश कर रहे हैं, तो मेरा सुझाव है कि आप इस लेख पर एक नज़र डालें। बेहतर डेटाबेस डिज़ाइन के सुझावों के लिए, आपको इस लेख से आगे देखने की आवश्यकता नहीं है। और अपने डेटाबेस डिज़ाइन के लिए वर्टाबेलो का उपयोग शुरू करने के तरीके के बारे में सलाह के लिए इसे देखें।