डेटा मॉडलिंग
सॉफ्टवेयर इंजीनियरिंग में डेटा मॉडलिंग तकनीकों का प्रयोग करके औपचारिक डेटा मॉडल विवरणों को लागू करते हुए एक डेटा मॉडल का निर्माण करने की प्रक्रिया डेटा मॉडलिंग कहलाती है।
डेटा मॉडलिंग एक विधि है, जिसका प्रयोग किसी संगठन की व्यापारिक प्रक्रियाओं का समर्थन करने के लिये आवश्यक डेटा आवश्यकताओं को परिभाषित करने और उनका विश्लेषण करने के लिये किया जाता है। डेटा आवश्यकताओं को एक वैचारिक डेटा मॉडल से जुड़ी डेटा परिभाषाओं के रूप में रिकॉर्ड किया जाता है। वैचारिक मॉडल के वास्तविक क्रियान्वयन को तार्किक डेटा मॉडल कहा जाता है। एक वैचारिक डेटा मॉडल के क्रियान्वयन के लिये अनेक तार्किक डेटा मॉडलों की आवश्यकता हो सकती है। डेटा मॉडलिंग न केवल डेटा के तत्वों, बल्कि उनकी संरचनाओं और उनके बीच संबंधों को भी परिभाषित करती है। डेटा मॉडलिंग तकनीकों और कार्यविधियों का प्रयोग एक मानक, स्थिर, आकलनीय रूप में डाटा को चित्रित करने के लिये किया जाता है, ताकि एक संसाधन के रूप में इसका प्रबंधन किया जा सके. उन सभी परियोजनाओं के लिये डेटा मॉडलिंग मानकों के प्रयोग की दृढ़तापूर्वक अनुशंसा की गई है, जिनमें किसी संगठन के आंतरिक डेटा को परिभाषित एवं विश्लेषित करने के लिये एक मानक साधन की आवश्यकता हो, उदा. डेटा मॉडलिंग का प्रयोग निम्नलिखित कार्यों के लिये किया जा सकता है:डेटा मॉडलिंग विभिन्न प्रकार की परियोजनाओं में और परियोजनाओं के अनेक चरणों में की जा सकती है। डेटा मॉडल प्रगतिशील होते हैं; किसी भी व्यापार या अनुप्रयोग के लिये कोई भी डेटा मॉडल कभी अंतिम नहीं होता. इसकी बजाय एक डेटा मॉडल को एक जीवित दस्तावेज माना जाना चाहिये, जो बदलते हुए व्यापार की प्रतिक्रिया के रूप में बदलेगा. आदर्श रूप से, डेटा मॉडल को एक रिपॉज़िटरी में रखा जाना चाहिये, ताकि समय के साथ इसे पुनः प्राप्त किया जा सके, विस्तारित किया जा सके और संपादित किया जा सके. व्हिटन (2004) ने डेटा मॉडलिंग के दो प्रकार निर्धारित किये:
डेटा मॉडलिंग किसी डेटाबेस के लिये व्यापारिक आवश्यकताओं के वर्णन के लिये भी एक तकनीक है। कभी-कभी इसे "डेटाबेस मॉडलिंग" कहा जाता है क्योंकि एक डेटा मॉडल को अंततः एक डेटाबेस में क्रियान्वित किया जाता है।
डेटा मॉडल डेटा की परिभाषा और उसका प्रारूप प्रदान करके डेटा और कम्प्यूटर तंत्रों का समर्थन करते हैं। यदि प्रणालियों के बीच ऐसा लगातार किया जाये, तो डेटा की संगतता प्राप्त की जा सकती है। यदि डेटा के भण्डारण और अभिगमन के लिये समान डेटा संरचनाओं का प्रयोग किया जाये, तो विभिन्न अनुप्रयोग डेटा को साझा कर सकते हैं। इसके परिणाम ऊपर सूचित किये गये हैं। हालांकि, प्रणालियों और इन्टरफेसों को बनाने, चलाने और इनका रख-रखाव करने की लागत, जितनी होनी चाहिये, अक्सर उससे अधिक होती है। वे व्यापार का समर्थन करने की बजाय उसमें बाधा भी उत्पन्न कर सकते हैं। एक मुख्य कारण यह है कि प्रणालियों और इंटरफेसों में लागू किये गये डेटा मॉडलों की गुणवत्ता कम होती है। इन समस्याओं का कारण एक ऐसे मानक का अभाव है, जो यह सुनिश्चित करेगा कि डेटा मॉडल व्यापारिक आवश्यकताओं की पूर्ति भी करेंगे और संगत भी होंगे.
1975 में ANSI के अनुसार डेटा मॉडल का एक "दृष्टान्त (Instance)" तीन में से किसी एक प्रकार का हो सकता है:
ANSI के अनुसार इस विधि का महत्व यह है कि यह तीन दृष्टिकोणों को एक दूसरे से सापेक्ष रूप से स्वतंत्र रहने की अनुमति देती है। तार्किक या वैचारिक मॉडल को प्रभावित किये बिना भण्डारण प्रौद्योगिकी को बदला जा सकता है। तालिका/स्तंभ संरचना वैचारिक मॉडल को (आवश्यक रूप से) प्रभावित किये बिना बदल सकती है। स्वाभाविक रूप से, प्रत्येक स्थिति में, संरचनाएं अन्य मॉडलों के साथ संगत बनी रहनी चाहिये. तालिका/स्तंभ संरचना इकाई क्लासेस और विशेषताओं के प्रत्यक्ष अनुवाद से भिन्न हो सकती है, लेकिन अंततः इसे अनिवार्य रूप से वैचारिक इकाई क्लास संरचना के उद्देश्यों की पूर्ति करनी चाहिये. अनेक सॉफ्टवेयर विकास परियोजनाओं के प्रारंभिक चरण एक वैचारिक डेटा मॉडल के निर्माण पर बल देते हैं। इस प्रकार के एक डिज़ाइन को एक तार्किक डेटा मॉडल में वर्णित किया जा सकता है। बाद वाले चरणों में, इस मॉडल को भौतिक डेटा मॉडल में रूपांतरित किया जा सकता है। हालांकि एक वैचारिक डेटा मॉडल को सीधे ही लागू कर पाना भी संभव है।
व्यापारिक प्रक्रिया के एकीकरण के संदर्भ में, चित्र देखें, डेटा मॉडलिंग का परिणाम डेटाबेस के एकीकरण के रूप में मिलेगा. यह व्यापार प्रक्रिया मॉडलिंग का पूरक है, जिसका परिणाम अनुप्रयोग प्रोग्राम होता है, जो इस व्यापार प्रक्रिया का समर्थन करती है।
वास्तविक डेटाबेस डिज़ाइन, डेटाबेस के एक विस्तृत डेटा मॉडल का निर्माण करने की प्रक्रिया है। इस तार्किक डेटा मॉडल में डिज़ाइन को एक डेटा परिभाषा भाषा में निर्मित करने के लिये आवश्यक सभी तार्किक और भौतिक डिज़ाइन चयन और भौतिक भण्डारण मापदण्ड होते हैं, जिनका प्रयोग तब एक डेटाबेस के निर्माण के लिये किया जा सकता है। सभी विशेषताओं से युक्त एक डेटा मॉडल में प्रत्येक इकाई के लिये विस्तृत विशेषताएं होती हैं। डेटाबेस डिज़ाइन शब्दावली का प्रयोग एक सकल डेटाबेस प्रणाली के डिज़ाइन के विभिन्न भागों का वर्णन करने के लिये किया जा सकता है। मुख्यतः और सर्वाधिक सही रूप में, इसे डेटा के भण्डारण के लिये प्रयुक्त मूल डेटा संरचनाओं की एक तार्किक रचना के रूप में समझा जा सकता है। एक संबंधपरक मॉडल में ये तालिकाएं और व्यू होते हैं। एक ऑब्जेक्ट डेटाबेस में इकाइयां और संबंध सीधे ऑब्जेक्ट क्लासेस और नामित संबंधों से जुड़े होते हैं। हालांकि, डेटाबेस डिज़ाइन शब्दावली का प्रयोग डिज़ाइनिंग की सकल प्रक्रिया, न केवल मूल डेटा संरचनाओं, बल्कि एक डेटाबेस प्रबंधन तंत्र या DBMS में एक सकल डेटाबेस अनुप्रयोग के भाग के रूप में प्रयुक्त फॉर्म्स और क़्वेरीज़ भी, को लागू करने के लिये भी किया जा सकता है।
इस प्रक्रिया में सिस्टम इंटरफेस पर वर्तमान सिस्टम के विकास और समर्थन लागत का 25% से 70% तक खर्च आता है। इस लागत का मुख्य कारण यह है कि ये सिस्टम एक सामान्य डेटा मॉडल का प्रयोग नहीं करते. यदि डेटा मॉडलों को एक प्रणाली-दर-प्रणाली आधार पर विकसित किया जाए, तो आच्छादित क्षेत्रों में न केवल समान विश्लेषण दोहराया जाता है, बल्कि उनके बीच इंटरफेस का निर्माण करने के लिये आगे और विश्लेषण करना भी अनिवार्य होता है। अधिकांश प्रणालियों में समान बुनियादी घटक होते हैं, जो किसी विशिष्ट उद्देश्य के लिये पुनः विकसित किये जाते हैं। उदाहरण के लिये, निम्नलिखित में समान बुनियादी वर्गीकरण मॉडल का प्रयोग एक घटक के रूप में किया जा सकता है: उन्हीं घटकों को पुनः विकसित किया जाता है क्योंकि हमारे पास यह बताने का कोई तरीका नहीं है कि वे समान हैं।
डेटा मॉडल रुचि के सूचना क्षेत्रों का प्रतिनिधित्व करते हैं। हालांकि, डेटा मॉडलों के निर्माण की अनेक विधियां हैं, लेकिन लेन सिल्वरस्टोन (1997) के अनुसार इनमें से केवल दो विधियां ही श्रेष्ठ हैं, टॉप-डाउन और बॉटम-अप:  कभी-कभी मॉडल इन दोनों विधियों के मिश्रण के रूप में निर्मित किये जाते हैं: किसी अनुप्रयोग की संरचना और डेटा आवश्यकताओं और संरचना पर विचार करके और एक विषय-क्षेत्र मॉडल का सतत संदर्भ देते हुए. दुर्भाग्य से, अनेक वातावरणों में, एक तार्किक डेटा मॉडल और एक भौतिक डेटा मॉडल के बीच अंतर अस्पष्ट होता है। इसके अतिरिक्त, कुछ CASE उपकरण तार्किक और भौतिक डेटा मॉडलों के बीच अंतर नहीं करते.
डेटा मॉडलिंग की अनेक संकेत-पद्धतियां होती हैं। वास्तविक मॉडल को अक्सर "इकाई संबंध मॉडल (Entity relationship model)" कहा जाता है क्योंकि यह डेटा को इसमें वर्णित इकाइयों और उनके संबंधों के संदर्भ में चित्रित करता है। एक इकाई-संबंध मॉडल (ERM) संरचनाबद्ध डेटा का एक संक्षिप्त वैचारिक प्रदर्शन होता है। इकाई-संबंध मॉडलिंग एक संबंधात्मक स्कीमा डेटाबेस मॉडलिंग विधि है, जिसका प्रयोग सॉफ्टवेयर इंजीनियरिंग में किसी सिस्टम, सामान्यतः एक संबंधात्मक डेटाबेस, के एक प्रकार के वैचारिक डेटा मॉडल (या अर्थ-विज्ञान डेटा मॉडल) का निर्माण करने के लिये किया जाता है और इसकी आवश्यकताएं एक टॉप-डाउन रूप में होती हैं।
इन मॉडलों का प्रयोग सूचना-तंत्रों के निर्माण के पहले चरण में आवश्यकता विश्लेषण के दौरान सूचना आवश्यकताओं या उस सूचना के प्रकार को बताने के लिये किया जाता है, जिसे किसी डेटाबेस में रखा जाना है। डेटा मॉडलिंग तकनीक का प्रयोग किसी विशिष्ट संवाद-विश्व, अर्थात् रुचि के क्षेत्र के लिये किसी भी तात्विकी का वर्णन (अर्थात प्रयुक्त शब्दावलियों और उनके संबंधों का परिचय और वर्गीकरण) करने के लिये किया जा सकता है।
डेटा मॉडलों के निर्माण के लिये अनेक तकनीकें विकसित की गईं हैं। हालांकि ये कार्य-पद्धतियां डेटा मॉडलरों को उनके कार्य में मार्गदर्शन करतीं हैं, लेकिन समान कार्य-पद्धति का प्रयोग करनेवाले दो भिन्न लोग अक्सर दो भिन्न परिणामों के साथ सामने आएंगे. सर्वाधिक उल्लेखनीय हैं:सामान्य डेटा मॉडल पारंपरिक डेटा मॉडलों के सामान्यीकरण होते हैं। वे मानकीकृत सामान्य संबंध प्रकारों को और साथ ही वस्तुओं के उन प्रकारों को परिभाषित करते हैं, जो ऐसे संबंध-प्रकारों से जुड़ी हो सकती हैं।  एक सामान्य डेटा मॉडल की परिभाषा एक प्राकृतिक भाषा की परिभाषा के समान ही होती है। उदाहरण के लिये, एक सामान्य डेटा मॉडल संबंधित वस्तुओं के प्रकारों से निरपेक्ष रहते हुए संबंधों के प्रकारों को एक 'वर्गीकरण संबंध', जो कि किसी एकल वस्तु और वस्तुओं के एक प्रकार (एक श्रेणी) के बीच एक द्विआधारी संबंध होता है और एक 'अंश-पूर्ण संबंध', जो कि दो वस्तुओं के बीच एक द्विआधारी संबंध होता है, जिनमें से एक वस्तु अंश की भूमिका में और दूसरी पूर्ण की भूमिका में होती है, के रूप में परिभाषित कर सकता है।
श्रेणियों की एक वितान्य सूची किसी एकल वस्तु का वर्गीकरण करने और किसी एकल वस्तु के लिये अंश-पूर्ण संबंध विनिर्देशित करने की अनुमति देती है। संबंधों के प्रकारों की एक वितान्य सूची के मानकीकरण के द्वारा, एक सामान्य डेटा मॉडल तथ्यों के प्रकारों की असीमित संख्या को व्यक्त कर पाने की क्षमता प्रदान करता है और यह प्राकृतिक भाषाओं की क्षमताओं का प्रयोग करेगा. दूसरी ओर, पारंपरिक डेटा मॉडलों का डोमेन दायरा निश्चित और सीमित होता है क्योंकि ऐसे मॉडलों की स्थापना (प्रयोग) केवल उस प्रकार के तथ्यों की व्याख्या करने की अनुमति देती है, जो मॉडल में पूर्व-परिभाषित हों.
किसी DBMS की तार्किक डेटा संरचना, चाहे वह पदानुक्रमिक हो, नेटवर्क हो, या संबंधात्मक हो, डेटा की एक वैचारिक परिभाषा की आवाश्यकताओं की पूरी तरह पूर्ति नहीं कर सकती क्योंकि इसका दायरा सीमित होता है और यह उस DBMS द्वारा प्रयोग की गई क्रियान्वयन रणनीति की ओर झुकी हुई होती है।
अतः एक वैचारिक दृष्टिकोण से डेटा को परिभाषित करने की आवश्यकता के परिणामस्वरूप अर्थ-विज्ञान डेटा मॉडलिंग तकनीकों के विकास हुआ है। अर्थात्, डेटा के अर्थ को अन्य डेटा के साथ आपसी संबंधों के संदर्भ में परिभाषित करने की तकनीकें. जैसा कि चित्र में प्रदर्शित है, संसाधनों, विचारों, घटनाओं इत्यादि के संदर्भ में वास्तविक-विश्व को संकेत-रूप में भौतिक डेटा भण्डारों में परिभाषित किया जाता है। एक अर्थ-विज्ञान डेटा मॉडल एक संक्षेपण है, जो परिभाषित करता है कि ये चिन्ह वास्तविक-विश्व से किस प्रकार जुड़े हुए हैं। इस प्रकार अनिवार्य रूप से यह मॉडल वास्तविक-विश्व का एक सत्य प्रदर्शन होना चाहिये.
एक अर्थ-विज्ञान डेटा मॉडल का प्रयोग अनेक उद्देश्यों के लिये किया जा सकता है, जैसे:
कृत्रिम बुद्धिमत्ता के क्षेत्र से ज्ञात शक्तिशाली संक्षेपण अवधारणाओं के साथ संबंधात्मक अवधारणाओं के एकीकरण के द्वारा अधिक डेटा का अर्थ ग्रहण करना अर्थ-विज्ञान डेटा मॉडल का सकल लक्ष्य है। यहां विचार उच्च स्तरीय मॉडलिंग के पुरातन तत्वों को डेटा मॉडल के एक अभिन्न अंग के रूप में प्रदान करना है, ताकि वास्तविक-विश्व की स्थितियों के प्रदर्शन में सहायता की जा सके.