एंकर मॉडलिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 40: Line 40:
एंकर टेबल में एक एकल स्तंभ होता है जिसमें पहचान संग्रहीत की जाती है। एक पहचान को एक इकाई की एकमात्र संपत्ति माना जाता है जो हमेशा मौजूद और अपरिवर्तनीय होती है। चूंकि मॉडलिंग किए जा रहे डोमेन से पहचान शायद ही कभी उपलब्ध होती है, इसके बजाय वे तकनीकी रूप से उत्पन्न होते हैं, उदाहरण के लिए बढ़ती संख्या अनुक्रम से।
एंकर टेबल में एक एकल स्तंभ होता है जिसमें पहचान संग्रहीत की जाती है। एक पहचान को एक इकाई की एकमात्र संपत्ति माना जाता है जो हमेशा मौजूद और अपरिवर्तनीय होती है। चूंकि मॉडलिंग किए जा रहे डोमेन से पहचान शायद ही कभी उपलब्ध होती है, इसके बजाय वे तकनीकी रूप से उत्पन्न होते हैं, उदाहरण के लिए बढ़ती संख्या अनुक्रम से।


[[डोनाल्ड डक]] के भतीजों की पहचान के लिए एंकर का एक उदाहरण 1-ट्यूपल्स का एक सेट है: <br/>
[[डोनाल्ड डक]] के भतीजों की पहचान के लिए एंकर का एक उदाहरण 1-ट्यूपल्स का एक सेट है:<br/><code>{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}</code>
<code>{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}</code>
 
नॉट्स को एक एंकर और एक विशेषता के संयोजन के रूप में माना जा सकता है। नॉट टेबल में दो कॉलम होते हैं, एक आइडेंटिटी के लिए और दूसरा वैल्यू के लिए। पहचान और मूल्यों को एक साथ रखने के कारण गांठों को ऐतिहासिक नहीं बनाया जा सकता है। उनकी उपयोगिता भंडारण आवश्यकताओं को कम करने और प्रदर्शन में सुधार करने में सक्षम होने से आती है, क्योंकि तालिकाओं को संदर्भित समुद्री मील एक लंबी स्ट्रिंग के बजाय एक छोटा मान संग्रहीत कर सकते हैं।
नॉट्स को एक एंकर और एक विशेषता के संयोजन के रूप में माना जा सकता है। नॉट टेबल में दो कॉलम होते हैं, एक आइडेंटिटी के लिए और दूसरा वैल्यू के लिए। पहचान और मूल्यों को एक साथ रखने के कारण गांठों को ऐतिहासिक नहीं बनाया जा सकता है। उनकी उपयोगिता भंडारण आवश्यकताओं को कम करने और प्रदर्शन में सुधार करने में सक्षम होने से आती है, क्योंकि तालिकाओं को संदर्भित समुद्री मील एक लंबी स्ट्रिंग के बजाय एक छोटा मान संग्रहीत कर सकते हैं।


लिंग के लिए गाँठ का एक उदाहरण 2-ट्यूपल्स का एक सेट है: <br/>
लिंग के लिए गाँठ का एक उदाहरण 2-ट्यूपल्स का एक सेट है:<br /><code>{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}</code>
<code>{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}</code>
 
स्टेटिक एट्रिब्यूट टेबल में दो कॉलम होते हैं, एक उस इकाई की पहचान के लिए जिससे मूल्य संबंधित है और एक वास्तविक संपत्ति मूल्य के लिए। ऐतिहासिक विशेषता तालिकाओं में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त स्तंभ होता है। नॉटेड एट्रिब्यूट टेबल में, वैल्यू कॉलम एक आइडेंटिटी है जो नॉट टेबल को रेफर करता है।
स्टेटिक एट्रिब्यूट टेबल में दो कॉलम होते हैं, एक उस इकाई की पहचान के लिए जिससे मूल्य संबंधित है और एक वास्तविक संपत्ति मूल्य के लिए। ऐतिहासिक विशेषता तालिकाओं में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त स्तंभ होता है। नॉटेड एट्रिब्यूट टेबल में, वैल्यू कॉलम एक आइडेंटिटी है जो नॉट टेबल को रेफर करता है।


उनके नाम के लिए एक स्थिर विशेषता का एक उदाहरण 2-टुपल्स का एक सेट है: <br/>
उनके नाम के लिए स्थिर विशेषता का एक उदाहरण 2-टुपल्स का एक सेट है:<br /><code>{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}</code>
<code>{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}</code>
 
उनके लिंग के लिए गांठदार स्थिर विशेषता का एक उदाहरण 2-ट्यूपल्स का एक सेट है: <br/>
उनके लिंग के लिए गांठदार स्थिर विशेषता का एक उदाहरण 2-ट्यूपल्स का एक सेट है:<br /><code>{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}</code>
<code>{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}</code>
 
उनके पहनावे के (बदलते) रंगों के लिए एक ऐतिहासिक विशेषता का एक उदाहरण 3-ट्यूपल्स का एक सेट है: <br/>
उनके पहनावे के (बदलते) रंगों के लिए एक ऐतिहासिक विशेषता का एक उदाहरण 3-ट्यूपल्स का एक सेट है:<br /><code>{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}</code>
<code>{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}</code>
 
स्टेटिक टाई टेबल दो या दो से अधिक एंकरों को एक दूसरे से संबंधित करते हैं, और पहचान को संग्रहीत करने के लिए दो या दो से अधिक कॉलम होते हैं। ऐतिहासिक टाई टेबल में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त कॉलम होता है। नॉटेड टाई टेबल में प्रत्येक संदर्भित नॉट के लिए एक अतिरिक्त कॉलम होता है।
स्टेटिक टाई टेबल दो या दो से अधिक एंकरों को एक दूसरे से संबंधित करते हैं, और पहचान को संग्रहीत करने के लिए दो या दो से अधिक कॉलम होते हैं। ऐतिहासिक टाई टेबल में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त कॉलम होता है। नॉटेड टाई टेबल में प्रत्येक संदर्भित नॉट के लिए एक अतिरिक्त कॉलम होता है।


सिबलिंग रिलेशनशिप के लिए स्टैटिक टाई का एक उदाहरण 2-ट्यूपल्स का एक सेट है: <br/>
सहोदर संबंध के लिए एक स्थिर टाई का एक उदाहरण 2-टुपल्स का एक सेट है:<br /><code>{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}</code>
<code>{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}</code>
 
परिणामी तालिकाएँ सभी छठे सामान्य रूप में होंगी सिवाय उन संबंधों को छोड़कर जिनमें सभी स्तंभ प्राथमिक कुंजी का हिस्सा नहीं हैं।
परिणामी तालिकाएँ सभी छठे सामान्य रूप में होंगी सिवाय उन संबंधों को छोड़कर जिनमें सभी स्तंभ प्राथमिक कुंजी का हिस्सा नहीं हैं।



Revision as of 22:44, 22 February 2023

एंकर मॉडलिंग एक फुर्तीली डेटाबेस मॉडलिंग तकनीक है जो सूचना के लिए अनुकूल है जो संरचना और सामग्री दोनों में समय के साथ बदलती है। यह टेम्पोरल डेटा के साथ काम करने के लिए एक्सटेंशन के साथ इकाई-रिलेशनशिप मॉडलिंग के समान वैचारिक मॉडलिंग के लिए उपयोग किया जाने वाला ग्राफिकल नोटेशन प्रदान करता है। मॉडलिंग तकनीक में चार मॉडलिंग निर्माण शामिल हैं: एंकर, एट्रीब्यूट, टाई और नॉट, प्रत्येक मॉडल किए जा रहे डोमेन के विभिन्न पहलुओं को कैप्चर करता है।[1] परिणामी मॉडल को औपचारिक नियमों का उपयोग करके भौतिक डेटाबेस डिज़ाइन में अनुवादित किया जा सकता है। जब इस तरह का अनुवाद किया जाता है तो रिलेशनल डेटाबेस में टेबल ज्यादातर छठे सामान्य रूप में होंगे।

दर्शन

मानव पठनीयता के संबंध में उच्च सामान्य रूपों की कमियों से बचने के दौरान उच्च स्तर के डेटाबेस सामान्यीकरण से लाभों का लाभ उठाने के लिए एंकर मॉडलिंग का निर्माण किया गया था। मॉडल को गैर-विनाशकारी रूप से विकसित करने में सक्षम होने, अशक्त मूल्यों से बचने और सूचना को अतिरेक से मुक्त रखने जैसे लाभ प्राप्त होते हैं। आधुनिक डेटाबेस इंजन में एक सुविधा के लिए अतिरिक्त जोड़ के कारण प्रदर्शन के मुद्दों को काफी हद तक टाला जाता है, जिसे जॉइन एलिमिनेशन या टेबल एलिमिनेशन कहा जाता है। सूचना सामग्री में परिवर्तनों को संभालने के लिए, एंकर मॉडलिंग परिणामी संबंधपरक डेटाबेस स्कीमा में अस्थायी डेटाबेस के पहलुओं का अनुकरण करता है।

इतिहास

2004 में स्वीडन में एंकर मॉडलिंग का उपयोग करते हुए सबसे पहले संस्थापन किया गया था जब एक बीमा कंपनी के लिए एक डेटा वेयरहाउस तकनीक का उपयोग करके बनाया गया था।

2007 में तकनीक का उपयोग कुछ डेटा गोदामों और एक ऑनलाइन लेनदेन प्रसंस्करण (ओएलटीपी) प्रणाली में किया जा रहा था, और इसे एम्स्टर्डम में 2007 ट्रांसफॉर्मिंग डेटा विद इंटेलिजेंस (टीडीडब्ल्यूआई) सम्मेलन में लार्स रोन्नबैक द्वारा अंतरराष्ट्रीय स्तर पर प्रस्तुत किया गया था।[2] इसने तकनीक के लिए अधिक औपचारिक विवरण की गारंटी देने के लिए पर्याप्त रुचि पैदा की। तब से एंकर मॉडलिंग से संबंधित शोध क्रिएटर्स ओले रिगार्ड्ट और लार्स रोनबैक और स्टॉकहोम विश्वविद्यालय के कंप्यूटर और सिस्टम विज्ञान विभाग की एक टीम के सहयोग से किया जा रहा है।

पहला पेपर, जिसमें एंकर मॉडलिंग को औपचारिक रूप दिया गया है, 2008 में वैचारिक मॉडलिंग पर 28वें अंतर्राष्ट्रीय सम्मेलन में प्रस्तुत किया गया था और इसने सर्वश्रेष्ठ पेपर पुरस्कार जीता था।[3]

एक वाणिज्यिक वेब साइट एंकर मॉडलिंग पर सामग्री प्रदान करती है जो क्रिएटिव कॉमन्स लाइसेंस के तहत उपयोग करने के लिए स्वतंत्र है। एक ऑनलाइन मॉडलिंग टूल भी उपलब्ध है, जो उपयोग करने के लिए स्वतंत्र है और खुला स्त्रोत है।[4]

बुनियादी धारणाएँ

एंकर मॉडलिंग की चार बुनियादी मॉडलिंग अवधारणाएँ हैं: एंकर, विशेषताएँ, टाई और नॉट्स। एंकरों का उपयोग संस्थाओं और घटनाओं को मॉडल करने के लिए किया जाता है, विशेषताओं का उपयोग एंकरों के गुणों को मॉडल करने के लिए किया जाता है, टाई एंकरों के बीच संबंधों को मॉडल करते हैं, और नॉट्स का उपयोग राज्यों जैसे साझा गुणों को मॉडल करने के लिए किया जाता है। विशेषताओं और संबंधों को ऐतिहासिक बनाया जा सकता है जब उनके मॉडल की जानकारी में बदलाव को बनाए रखने की आवश्यकता होती है।

सभी अवधारणाओं के लिए विभिन्न ग्राफिकल प्रतीकों को दर्शाने वाला एक उदाहरण मॉडल नीचे देखा जा सकता है। प्रतीक कुछ एक्सटेंशन के साथ एंटिटी-रिलेशनशिप मॉडलिंग में उपयोग किए गए प्रतीकों से मिलते जुलते हैं। एक विशेषता या टाई पर एक दोहरी रूपरेखा इंगित करती है कि परिवर्तनों का इतिहास रखा जाता है। गाँठ प्रतीक (गोलाकार किनारों के साथ एक रेखांकित वर्ग) भी उपलब्ध है, लेकिन गांठों को ऐतिहासिक नहीं बनाया जा सकता है। लंगर प्रतीक एक ठोस वर्ग है।एंकर मॉडलिंग उदाहरण

लौकिक पहलू

एंकर मॉडलिंग दो प्रकार के सूचनात्मक विकास को संभालती है, जो संरचनात्मक परिवर्तन और सामग्री परिवर्तन हैं। सूचना की संरचना में परिवर्तन को एक्सटेंशन के माध्यम से दर्शाया जाता है। सामान्यीकरण की उच्च डिग्री गैर-विनाशकारी रूप से परिवर्तन को पकड़ने के लिए आवश्यक आवश्यक मॉडलिंग अवधारणाओं को जोड़ना संभव बनाती है, इस तरह से कि हर पिछला स्कीमा हमेशा वर्तमान स्कीमा के सबसेट के रूप में रहता है। चूंकि मौजूदा स्कीमा को छुआ नहीं गया है, यह डेटाबेस को अत्यधिक पुनरावृत्त तरीके से और बिना किसी डाउनटाइम के विकसित करने में सक्षम होने का लाभ देता है।

सूचना की सामग्री में परिवर्तन एक रिलेशनल डेटाबेस स्कीमा में एक टेम्पोरल डेटाबेस की समान विशेषताओं का अनुकरण करके किया जाता है। एंकर मॉडलिंग में, सूचना के टुकड़ों को समय के बिंदुओं या समय के अंतराल (खुले और बंद दोनों) से जोड़ा जा सकता है। घटनाओं के घटित होने के समय बिंदुओं को विशेषताओं का उपयोग करके प्रतिरूपित किया जाता है, जैसे व्यक्तियों की जन्मतिथि या खरीदारी का समय। समय के अंतराल जिसमें एक मूल्य मान्य है, विशेषताओं और संबंधों के इतिहासीकरण के माध्यम से कब्जा कर लिया जाता है, उदाहरण के लिए किसी व्यक्ति के बालों के रंग में परिवर्तन या समय की अवधि जिसके दौरान एक व्यक्ति का विवाह हुआ था। एक संबंधपरक डेटाबेस में यह ऐतिहासिक विशेषता या टाई से संबंधित तालिका में परिवर्तनों की गति को पकड़ने के लिए पर्याप्त डेटा प्रकार के दानेदार के साथ एक एकल स्तंभ जोड़कर प्राप्त किया जाता है। यह थोड़ी जटिलता जोड़ता है क्योंकि अंतराल बंद है या नहीं, यह जानने के लिए तालिका में एक से अधिक पंक्तियों की जांच की जानी चाहिए।

मॉडलिंग किए जा रहे डोमेन से प्रत्यक्ष रूप से संबंधित समय के बिंदु या अंतराल, जैसे डेटाबेस में दर्ज की गई जानकारी के बिंदु, उपरोक्त किसी भी निर्माण के बजाय एंकर मॉडलिंग में मेटा डेटा के उपयोग के माध्यम से नियंत्रित किए जाते हैं। यदि डेटाबेस में ऐसे परिवर्तनों के बारे में जानकारी रखने की आवश्यकता है, तो बिटटेम्पोरल एंकर मॉडलिंग का उपयोग किया जा सकता है, जहां अद्यतनों के अलावा, हटाए गए कथन भी गैर-विनाशकारी हो जाते हैं।

संबंधपरक प्रतिनिधित्व

एंकर मॉडलिंग में वैचारिक मॉडल और संबंधपरक डेटाबेस में तालिकाओं में प्रयुक्त प्रतीकों के बीच एक-से-एक मानचित्रण होता है। डेटाबेस में प्रत्येक एंकर, विशेषता, टाई और गाँठ की एक स्पष्ट रूप से परिभाषित संरचना के साथ एक संबंधित तालिका होती है। एक वैचारिक मॉडल को सरल स्वचालित नियमों का उपयोग करके एक रिलेशनल डेटाबेस स्कीमा में अनुवादित किया जा सकता है, और इसके विपरीत। यह कई अन्य मॉडलिंग तकनीकों से अलग है जिसमें वैचारिक, तार्किक और भौतिक स्तरों के बीच जटिल और कभी-कभी व्यक्तिपरक अनुवाद चरण होते हैं।

एंकर टेबल में एक एकल स्तंभ होता है जिसमें पहचान संग्रहीत की जाती है। एक पहचान को एक इकाई की एकमात्र संपत्ति माना जाता है जो हमेशा मौजूद और अपरिवर्तनीय होती है। चूंकि मॉडलिंग किए जा रहे डोमेन से पहचान शायद ही कभी उपलब्ध होती है, इसके बजाय वे तकनीकी रूप से उत्पन्न होते हैं, उदाहरण के लिए बढ़ती संख्या अनुक्रम से।

डोनाल्ड डक के भतीजों की पहचान के लिए एंकर का एक उदाहरण 1-ट्यूपल्स का एक सेट है:
{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}

नॉट्स को एक एंकर और एक विशेषता के संयोजन के रूप में माना जा सकता है। नॉट टेबल में दो कॉलम होते हैं, एक आइडेंटिटी के लिए और दूसरा वैल्यू के लिए। पहचान और मूल्यों को एक साथ रखने के कारण गांठों को ऐतिहासिक नहीं बनाया जा सकता है। उनकी उपयोगिता भंडारण आवश्यकताओं को कम करने और प्रदर्शन में सुधार करने में सक्षम होने से आती है, क्योंकि तालिकाओं को संदर्भित समुद्री मील एक लंबी स्ट्रिंग के बजाय एक छोटा मान संग्रहीत कर सकते हैं।

लिंग के लिए गाँठ का एक उदाहरण 2-ट्यूपल्स का एक सेट है:
{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}

स्टेटिक एट्रिब्यूट टेबल में दो कॉलम होते हैं, एक उस इकाई की पहचान के लिए जिससे मूल्य संबंधित है और एक वास्तविक संपत्ति मूल्य के लिए। ऐतिहासिक विशेषता तालिकाओं में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त स्तंभ होता है। नॉटेड एट्रिब्यूट टेबल में, वैल्यू कॉलम एक आइडेंटिटी है जो नॉट टेबल को रेफर करता है।

उनके नाम के लिए स्थिर विशेषता का एक उदाहरण 2-टुपल्स का एक सेट है:
{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}

उनके लिंग के लिए गांठदार स्थिर विशेषता का एक उदाहरण 2-ट्यूपल्स का एक सेट है:
{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}

उनके पहनावे के (बदलते) रंगों के लिए एक ऐतिहासिक विशेषता का एक उदाहरण 3-ट्यूपल्स का एक सेट है:
{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}

स्टेटिक टाई टेबल दो या दो से अधिक एंकरों को एक दूसरे से संबंधित करते हैं, और पहचान को संग्रहीत करने के लिए दो या दो से अधिक कॉलम होते हैं। ऐतिहासिक टाई टेबल में एक समय अंतराल के शुरुआती बिंदु को संग्रहीत करने के लिए एक अतिरिक्त कॉलम होता है। नॉटेड टाई टेबल में प्रत्येक संदर्भित नॉट के लिए एक अतिरिक्त कॉलम होता है।

सहोदर संबंध के लिए एक स्थिर टाई का एक उदाहरण 2-टुपल्स का एक सेट है:
{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}

परिणामी तालिकाएँ सभी छठे सामान्य रूप में होंगी सिवाय उन संबंधों को छोड़कर जिनमें सभी स्तंभ प्राथमिक कुंजी का हिस्सा नहीं हैं।

संदर्भ

  1. L. Rönnbäck; O. Regardt; M. Bergholtz; P. Johannesson; P. Wohed (2010). "Anchor modeling - Agile information modeling in evolving data environments". Data & Knowledge Engineering. 69 (12): 1229–1253. doi:10.1016/j.datak.2010.10.002. ISSN 0169-023X. (Preprint available here)
  2. 6th TDWI European Conference - TDWI homepage Archived July 20, 2011, at the Wayback Machine
  3. Regardt, Olle; Rönnbäck, Lars; Bergholtz, Maria; Johannesson, Paul; Wohed, Petia (2009). "Anchor Modeling". Proceedings of the 28th International Conference on Conceptual Modeling. ER '09. Gramado, Brazil: Springer-Verlag: 234–250. ISBN 978-3-642-04839-5.
  4. Lars Rönnbäck. "Anchor Modeling Academy". Promotional website. Retrieved May 20, 2017.


बाहरी संबंध