2.1। वैचारिक प्रारूप
डेटाबेस डिजाइन तीन चरणों में किया जाता है:
- वैचारिक प्रारूप;
- तार्किक डिजाइन;
- भौतिक डिजाइन।
वैचारिक डिजाइन चरण का उद्देश्य विषय क्षेत्र के बारे में उपयोगकर्ताओं के विचारों के आधार पर एक वैचारिक डेटा मॉडल तैयार करना है। इसे प्राप्त करने के लिए, अनुक्रमिक प्रक्रियाओं की एक श्रृंखला की जाती है। एक इकाई (वैचारिक) स्कीमा का एक उदाहरण:
![](https://cdn.codegym.cc/images/article/f8e01a34-8cc9-49cd-a834-2941721c4c08/800.jpeg)
1. संस्थाओं और उनके प्रलेखन की परिभाषा। संस्थाओं की पहचान करने के लिए, वस्तुओं को परिभाषित किया जाता है जो दूसरों से स्वतंत्र रूप से मौजूद होती हैं। ऐसी वस्तुएं संस्थाएं हैं। प्रत्येक इकाई को एक सार्थक नाम दिया जाता है जिसे उपयोगकर्ता समझ सकें। संस्थाओं के नाम और विवरण डेटा डिक्शनरी में दर्ज किए गए हैं। यदि संभव हो, तो प्रत्येक इकाई के उदाहरणों की अपेक्षित संख्या निर्धारित की जाती है।
2. संस्थाओं और उनके प्रलेखन के बीच संबंधों का निर्धारण। संस्थाओं के बीच केवल उन संबंधों को परिभाषित किया गया है जो डेटाबेस डिजाइन आवश्यकताओं को पूरा करने के लिए आवश्यक हैं। प्रत्येक का प्रकार निर्धारित है। संस्थाओं की सदस्यता वर्ग प्रकट होता है। कड़ियों को क्रियाओं द्वारा व्यक्त सार्थक नाम दिए गए हैं। प्रत्येक कनेक्शन का एक विस्तृत विवरण, इसके प्रकार और कनेक्शन में भाग लेने वाली संस्थाओं की श्रेणी को इंगित करते हुए, डेटा डिक्शनरी में दर्ज किया गया है।
3. विषय क्षेत्र के एक ईआर-मॉडल का निर्माण। ईआर आरेखों का उपयोग संस्थाओं और उनके बीच संबंधों का प्रतिनिधित्व करने के लिए किया जाता है। उनके आधार पर, प्रतिरूपित विषय क्षेत्र की एकल दृश्य छवि बनाई जाती है - विषय क्षेत्र का ईआर-मॉडल।
4. विशेषताओं और उनके प्रलेखन की परिभाषा। निर्मित ईआर मॉडल की संस्थाओं का वर्णन करने वाली सभी विशेषताएँ प्रकट होती हैं। प्रत्येक विशेषता को एक सार्थक नाम दिया गया है जिसे उपयोगकर्ता समझ सकते हैं। प्रत्येक विशेषता के लिए निम्न जानकारी डेटा डिक्शनरी में संग्रहीत की जाती है:
- विशेषता का नाम और विवरण;
- मूल्यों का प्रकार और आयाम;
- विशेषता के लिए डिफ़ॉल्ट मान (यदि कोई हो);
- क्या विशेषता में NULL मान हो सकते हैं;
- क्या विशेषता समग्र है, और यदि हां, तो इसमें कौन सी सरल विशेषताएँ शामिल हैं। उदाहरण के लिए, विशेषता "क्लाइंट का पूरा नाम" में सरल गुण "अंतिम नाम", "प्रथम नाम", "पेट्रोनामिक" शामिल हो सकते हैं, या यह सरल हो सकता है, जिसमें "सिडोर्स्की एवगेनी मिखाइलोविच" जैसे एकल मान शामिल हैं। यदि उपयोगकर्ता को "नाम" के अलग-अलग तत्वों तक पहुंच की आवश्यकता नहीं है, तो विशेषता को सरल रूप में प्रस्तुत किया जाता है;
- क्या विशेषता की गणना की जाती है, और यदि हां, तो इसके मूल्यों की गणना कैसे की जाती है।
5. विशेषता मूल्यों और उनके प्रलेखन की परिभाषा। ईआर मॉडल में भाग लेने वाली इकाई की प्रत्येक विशेषता के लिए, मान्य मानों का एक सेट निर्धारित किया जाता है और इसे एक नाम दिया जाता है। उदाहरण के लिए, विशेषता "खाता प्रकार" में केवल "जमा", "वर्तमान", "मांग पर", "कार्ड खाता" मान हो सकते हैं। विशेषताओं से संबंधित डेटा डिक्शनरी प्रविष्टियों को विशेषता मान सेट के नामों से अद्यतन किया जाता है।
6. संस्थाओं और उनके प्रलेखन के लिए प्राथमिक कुंजी की परिभाषा। यह कदम एक प्राथमिक कुंजी की परिभाषा द्वारा निर्देशित होता है - एक विशेषता या एक इकाई की विशेषताओं के सेट के रूप में जो इसके उदाहरणों की विशिष्ट पहचान की अनुमति देता है। प्राथमिक कुंजी जानकारी को डेटा डिक्शनरी में रखा गया है।
7. अंतिम उपयोगकर्ताओं के साथ वैचारिक डेटा मॉडल की चर्चा। वैचारिक डेटा मॉडल को ईआर मॉडल द्वारा प्रस्तुत किया जाता है जिसमें विकसित डेटा मॉडल के विवरण वाले दस्तावेज़ शामिल होते हैं। यदि डोमेन विसंगतियां पाई जाती हैं, तो मॉडल में तब तक बदलाव किए जाते हैं जब तक कि उपयोगकर्ता यह पुष्टि नहीं कर लेते कि उनके द्वारा प्रस्तावित मॉडल उनके व्यक्तिगत विचारों को पर्याप्त रूप से दर्शाता है।
2.2 तर्क डिजाइन
तार्किक डिजाइन चरण का उद्देश्य चयनित डेटा मॉडल के आधार पर वैचारिक मॉडल को एक तार्किक मॉडल में बदलना है जो डेटाबेस के भौतिक कार्यान्वयन के लिए बाद में उपयोग किए जाने वाले DBMS की विशेषताओं से स्वतंत्र है। इसे प्राप्त करने के लिए, निम्नलिखित प्रक्रियाएं की जाती हैं।
तार्किक डेटाबेस स्कीमा का एक उदाहरण।
![](https://cdn.codegym.cc/images/article/1909a097-a8bd-47be-b164-6fb55d1af2b0/1024.jpeg)
1. डेटा मॉडल चुनना। अधिकतर, डेटा की सारणीबद्ध प्रस्तुति की स्पष्टता और उनके साथ काम करने की सुविधा के कारण एक संबंधपरक डेटा मॉडल चुना जाता है।
2. ईआर मॉडल के आधार पर तालिकाओं के एक सेट को परिभाषित करना और उनका दस्तावेजीकरण करना। ईआर मॉडल की प्रत्येक इकाई के लिए एक तालिका बनाई जाती है। इकाई का नाम तालिका का नाम है। प्राथमिक और विदेशी कुंजियों के तंत्र के माध्यम से तालिकाओं के बीच संबंध स्थापित किए जाते हैं। तालिकाओं की संरचना और उनके बीच स्थापित संबंध प्रलेखित हैं।
3. तालिकाओं का सामान्यीकरण। सामान्यीकरण ठीक से करने के लिए, डिज़ाइनर को डेटा के शब्दार्थ और उपयोग पैटर्न को गहराई से समझना चाहिए। इस चरण में, वह सामान्यीकरण प्रक्रिया को लागू करके पिछले चरण में बनाई गई तालिकाओं की संरचना की शुद्धता की जाँच करता है। इसमें प्रत्येक टेबल को कम से कम तीसरे एनएफ में लाने में शामिल है। सामान्यीकरण के परिणामस्वरूप, एक बहुत ही लचीला डेटाबेस डिज़ाइन प्राप्त होता है, जिससे इसमें आवश्यक विस्तार करना आसान हो जाता है।
4. उपयोगकर्ताओं द्वारा प्रदान किए गए सभी लेनदेन को निष्पादित करने की संभावना के लिए तार्किक डेटा मॉडल की जाँच करना। लेन-देन एक डेटाबेस की सामग्री को बदलने के लिए एक व्यक्तिगत उपयोगकर्ता या एप्लिकेशन प्रोग्राम द्वारा की जाने वाली क्रियाओं का एक सेट है। तो, BANK परियोजना में लेन-देन का एक उदाहरण एक निश्चित ग्राहक के खातों के प्रबंधन के अधिकार का दूसरे ग्राहक को हस्तांतरण हो सकता है। इस स्थिति में, डेटाबेस में एक साथ कई परिवर्तन करने की आवश्यकता होगी। यदि लेन-देन के दौरान कोई कंप्यूटर क्रैश हो जाता है, तो डेटाबेस असंगत स्थिति में होगा क्योंकि कुछ परिवर्तन पहले ही किए जा चुके हैं और अन्य नहीं किए गए हैं। इसलिए, डेटाबेस को उसकी पिछली सुसंगत स्थिति में वापस लाने के लिए सभी आंशिक परिवर्तन पूर्ववत किए जाने चाहिए।
लेन-देन की सूची विषय क्षेत्र में उपयोगकर्ताओं के कार्यों द्वारा निर्धारित की जाती है। ईआर मॉडल, डेटा डिक्शनरी, और प्राथमिक और विदेशी कुंजियों के बीच स्थापित संबंधों का उपयोग करके, सभी आवश्यक डेटा एक्सेस ऑपरेशन मैन्युअल रूप से करने का प्रयास किया जाता है। यदि कोई मैनुअल ऑपरेशन विफल हो जाता है, तो संकलित तार्किक डेटा मॉडल अपर्याप्त है और इसमें त्रुटियां हैं जिन्हें समाप्त किया जाना चाहिए। शायद वे किसी इकाई, संबंध या विशेषता के मॉडल में अंतर से संबंधित हैं।
5. डेटा अखंडता समर्थन आवश्यकताओं और उनके प्रलेखन का निर्धारण। ये आवश्यकताएँ प्रतिबंध हैं जो परस्पर विरोधी डेटा को डेटाबेस में दर्ज होने से रोकने के लिए लगाए गए हैं। इस कदम पर, इसके कार्यान्वयन के विशिष्ट पहलुओं की परवाह किए बिना डेटा अखंडता के मुद्दों को कवर किया गया है। निम्नलिखित प्रकार के प्रतिबंधों पर विचार किया जाना चाहिए:
- आवश्यक डेटा। यह पता लगाना कि क्या ऐसी विशेषताएँ हैं जिनमें NULL मान नहीं हो सकते;
- विशेषता मूल्यों पर प्रतिबंध। विशेषताओं के लिए मान्य मान परिभाषित किए गए हैं;
- इकाई अखंडता। यह हासिल किया जाता है अगर इकाई की प्राथमिक कुंजी में शून्य मान नहीं होते हैं;
- संदर्भिक समग्रता। यह समझा जाता है कि मूल इकाई के लिए तालिका पंक्तियों में से एक की प्राथमिक कुंजी में विदेशी कुंजी मान मौजूद होना चाहिए;
- व्यापार नियमों द्वारा लगाए गए प्रतिबंध। उदाहरण के लिए, बैंक परियोजना के मामले में, एक नियम अपनाया जा सकता है जो ग्राहक को तीन से अधिक खातों का प्रबंधन करने से रोकता है।
सभी स्थापित डेटा अखंडता बाधाओं के बारे में जानकारी डेटा डिक्शनरी में रखी गई है।
6. तार्किक डेटा मॉडल के अंतिम संस्करण का निर्माण और उपयोगकर्ताओं के साथ चर्चा। यह चरण ईआर मॉडल का अंतिम संस्करण तैयार करता है, जो तार्किक डेटा मॉडल का प्रतिनिधित्व करता है। डेटा डिक्शनरी और रिलेशनल टेबल लिंक स्कीमा सहित स्वयं मॉडल और अद्यतन दस्तावेज़ीकरण, उपयोगकर्ताओं द्वारा समीक्षा और विश्लेषण के लिए प्रस्तुत किए जाते हैं, जिन्हें यह सुनिश्चित करना चाहिए कि यह विषय क्षेत्र का सही प्रतिनिधित्व करता है।
2.3। भौतिक डिजाइन
भौतिक डिजाइन चरण का उद्देश्य कंप्यूटर की बाहरी मेमोरी में स्थित डेटाबेस के विशिष्ट कार्यान्वयन का वर्णन करना है। यह डेटा संग्रहण संरचना और डेटाबेस डेटा तक पहुँचने के कुशल तरीकों का विवरण है। तार्किक डिजाइन में, वे इस सवाल का जवाब देते हैं - क्या करने की जरूरत है, और भौतिक डिजाइन में - एक तरीका चुना जाता है कि इसे कैसे किया जाए। भौतिक डिजाइन प्रक्रियाएं इस प्रकार हैं।
1. चयनित DBMS का उपयोग करके डेटाबेस तालिकाएँ डिज़ाइन करना। मशीन मीडिया पर होस्ट किए गए डेटाबेस को बनाने के लिए एक रिलेशनल DBMS का उपयोग किया जाता है। टेबल डिजाइन करने के लिए इसकी कार्यक्षमता का गहन अध्ययन किया जाता है। तब तालिकाओं का डिज़ाइन और DBMS वातावरण में उनके कनेक्शन की योजना का प्रदर्शन किया जाता है। तैयार किए गए डेटाबेस प्रोजेक्ट को साथ के दस्तावेज़ों में वर्णित किया गया है।
2. चयनित DBMS के वातावरण में व्यावसायिक नियमों का कार्यान्वयन। तालिकाओं में अद्यतन जानकारी को व्यावसायिक नियमों द्वारा सीमित किया जा सकता है। जिस तरह से उन्हें लागू किया जाता है वह चुने हुए DBMS पर निर्भर करता है। विषय क्षेत्र की आवश्यकताओं को लागू करने के लिए कुछ प्रणालियाँ अधिक सुविधाएँ प्रदान करती हैं, अन्य कम। कुछ प्रणालियों में, व्यावसायिक नियमों को लागू करने के लिए बिल्कुल भी समर्थन नहीं होता है। इस मामले में, उनकी सीमाओं को लागू करने के लिए एप्लिकेशन विकसित किए जाते हैं।
डोमेन व्यवसाय नियमों के कार्यान्वयन के संबंध में किए गए सभी निर्णयों को संलग्न दस्तावेज़ों में विस्तार से वर्णित किया गया है।
3. डेटाबेस के भौतिक संगठन को डिजाइन करना। यह चरण तालिकाओं के लिए सर्वश्रेष्ठ फ़ाइल संगठन का चयन करता है। डिज़ाइन किए जा रहे डेटाबेस में किए जाने वाले लेन-देन की पहचान की जाती है, और उनमें से सबसे महत्वपूर्ण हाइलाइट किए जाते हैं। लेन-देन थ्रूपुट का विश्लेषण किया जाता है - लेन-देन की संख्या जिसे एक निश्चित समय अंतराल में संसाधित किया जा सकता है, और प्रतिक्रिया समय - एक लेनदेन को पूरा करने के लिए आवश्यक समय की अवधि। वे लेन-देन थ्रूपुट बढ़ाने और प्रतिक्रिया समय कम करने का प्रयास करते हैं।
इन संकेतकों के आधार पर, डेटाबेस से डेटा के चयन को गति देने वाली तालिकाओं में अनुक्रमणिका को परिभाषित करके या तालिका सामान्यीकरण के स्तर के लिए आवश्यकताओं को कम करके डेटाबेस के प्रदर्शन को अनुकूलित करने के लिए निर्णय लिए जाते हैं। निर्मित डेटाबेस को समायोजित करने के लिए आवश्यक डिस्क स्थान अनुमानित है। इसे कम करने का प्रयास करें।
उपरोक्त मुद्दों पर लिए गए निर्णय प्रलेखित हैं।
4. डेटाबेस सुरक्षा रणनीति का विकास। डेटाबेस एक मूल्यवान कॉर्पोरेट संसाधन है, और इसकी सुरक्षा पर बहुत ध्यान दिया जाता है। ऐसा करने के लिए, डिजाइनरों को चयनित DBMS द्वारा प्रदान की जाने वाली सभी सुरक्षाओं की पूर्ण और स्पष्ट समझ होनी चाहिए।
5. डेटाबेस के कामकाज की निगरानी और उसके समायोजन का संगठन। डेटाबेस की भौतिक परियोजना के निर्माण के बाद, इसके कामकाज की निरंतर निगरानी का आयोजन किया जाता है। डेटाबेस के प्रदर्शन स्तर के बारे में परिणामी जानकारी का उपयोग इसे ट्यून करने के लिए किया जाता है। इसके लिए चयनित डीबीएमएस के माध्यम भी शामिल हैं।
कार्यशील डेटाबेस में कोई भी परिवर्तन करने के निर्णय पर विचार किया जाना चाहिए और अच्छी तरह से तौला जाना चाहिए।
GO TO FULL VERSION