एक्सप्रेस (डेटा मॉडलिंग भाषा): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
[[File:A 01 Audio compact disc collection.svg|thumb|320px|चित्र 1. एक्सप्रेस-जी नोटेशन में प्रस्तुत ध्‍वनि संक्षिप्त डिस्क (सीडी) संग्रह के लिए डेटाबेस की आवश्यकताएं।]]'''एक्सप्रेस''' [[उत्पाद (व्यवसाय)]] डेटा के लिए मानक [[मॉडलिंग की दिनांक|डेटा]] [[मॉडलिंग भाषा]] है। एक्सप्रेस को उत्पाद मॉडल स्टेप ([[ISO 10303|आईएसओ 10303]]) के आदान-प्रदान के लिए आईएसओ मानक में औपचारिक रूप दिया गया है, और आईएसओ 10303-11 के रूप में मानकीकृत किया गया है।<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38047 ISO 10303-11:2004 Industrial automation systems and integration] -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual</ref>
[[File:A 01 Audio compact disc collection.svg|thumb|320px|चित्र 1. एक्सप्रेस-जी टिप्पणी में प्रस्तुत ध्‍वनि संक्षिप्त डिस्क (सीडी) संग्रह के लिए डेटाबेस की आवश्यकताएं।]]'''एक्सप्रेस''' [[उत्पाद (व्यवसाय)]] डेटा के लिए मानक [[मॉडलिंग की दिनांक|डेटा]] [[मॉडलिंग भाषा]] है। एक्सप्रेस को उत्पाद मॉडल स्टेप ([[ISO 10303|आईएसओ 10303]]) के आदान-प्रदान के लिए आईएसओ मानक में औपचारिक रूप दिया गया है, और आईएसओ 10303-11 के रूप में मानकीकृत किया गया है।<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38047 ISO 10303-11:2004 Industrial automation systems and integration] -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual</ref>




== सिंहावलोकन ==
== अवलोकन ==
[[डेटा मॉडल]] औपचारिक रूप से रुचि के डोमेन के लिए [[डेटा वस्तु]] और डेटा वस्तु के बीच संबंधों को परिभाषित करते हैं। डेटा मॉडल के कुछ विशिष्ट अनुप्रयोगों में [[डेटाबेस]] के विकास का समर्थन करना और किसी विशेष क्षेत्र के लिए डेटा के आदान-प्रदान को सक्षम करना शामिल है। डेटा मॉडल को डेटा मॉडलिंग भाषा में निर्दिष्ट किया जाता है।<ref name="MRM99">Michael R. McCaleb (1999). [http://nvlpubs.nist.gov/nistpubs/jres/104/4/html/j44mac.htm#apa "A Conceptual Data Model of Datum Systems"]. National Institute of Standards and Technology. August 1999.</ref> एक्सप्रेस आईएसओ 10303-11, एक्सप्रेस भाषा संदर्भ मैनुअल में परिभाषित डेटा मॉडलिंग भाषा है।<ref>ISO International Standard 10303-11:1994, Industrial automation systems and integration — Product data representation andexchange — Part 11: Description methods: The EXPRESS language reference manual, International Organization for Standardization, Geneva, Switzerland (1994).</ref>
[[डेटा मॉडल]] औपचारिक रूप से रुचि के डोमेन के लिए [[डेटा वस्तु]] और डेटा वस्तु के बीच संबंधों को परिभाषित करते हैं। डेटा मॉडल के कुछ विशिष्ट अनुप्रयोगों में [[डेटाबेस]] के विकास का समर्थन करना और किसी विशेष क्षेत्र के लिए डेटा के आदान-प्रदान को सक्षम करना शामिल है। डेटा मॉडल को डेटा मॉडलिंग भाषा में निर्दिष्ट किया जाता है।<ref name="MRM99">Michael R. McCaleb (1999). [http://nvlpubs.nist.gov/nistpubs/jres/104/4/html/j44mac.htm#apa "A Conceptual Data Model of Datum Systems"]. National Institute of Standards and Technology. August 1999.</ref> एक्सप्रेस आईएसओ 10303-11, एक्सप्रेस भाषा संदर्भ मैनुअल में परिभाषित डेटा मॉडलिंग भाषा है।<ref>ISO International Standard 10303-11:1994, Industrial automation systems and integration — Product data representation andexchange — Part 11: Description methods: The EXPRESS language reference manual, International Organization for Standardization, Geneva, Switzerland (1994).</ref>


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


एक्सप्रेस प्रोग्रामिंग लैंग्वेज जैसे [[पास्कल (प्रोग्रामिंग भाषा)]] के समान है। स्कीमा के अन्दर विभिन्न डेटाटाइप्स को संरचनात्मक बाधाओं और एल्गोरिथम नियमों के साथ परिभाषित किया जा सकता है। एक्सप्रेस की मुख्य विशेषता डेटाप्रकारों की आबादी को औपचारिक रूप से मान्य करने की संभावना है - यह सभी संरचनात्मक और एल्गोरिथम नियमों की जांच करना है।
एक्सप्रेस प्रोग्रामिंग लैंग्वेज जैसे [[पास्कल (प्रोग्रामिंग भाषा)]] के समान है। स्कीमा के अन्दर विभिन्न समुच्चयप्रकारों को संरचनात्मक बाधाओं और एल्गोरिथम नियमों के साथ परिभाषित किया जा सकता है। एक्सप्रेस की मुख्य विशेषता डेटाप्रकारों की आबादी को औपचारिक रूप से मान्य करने की संभावना है - यह सभी संरचनात्मक और एल्गोरिथम नियमों की जांच करना है।


=== एक्सप्रेस-जी ===
=== एक्सप्रेस-जी ===
Line 33: Line 33:


END_SCHEMA;
END_SCHEMA;
</syntaxhighlight>डेटा मॉडल एक्सप्रेस स्कीमा परिवार के अन्दर संलग्न है। इसमें दो उपप्रकार पुरुष और महिला के साथ सुपरटाइप इकाई व्यक्ति शामिल है। चूँकि व्यक्ति को ABSTRACT घोषित किया गया है, केवल (ONEOF) उपप्रकार पुरुष या महिला मौजूद हो सकते हैं। किसी व्यक्ति की प्रत्येक घटना में अनिवार्य नाम विशेषता होती है और वैकल्पिक रूप से माता और पिता का गुण होता है। कुछ इकाई प्रकार की विशेषताओं के लिए पढ़ने की निश्चित शैली होती है:
</syntaxhighlight>डेटा मॉडल एक्सप्रेस स्कीमा परिवार के अन्दर संलग्न है। इसमें दो उपप्रकार पुरुष और महिला के साथ सुपरटाइप इकाई व्यक्ति शामिल है। चूँकि व्यक्ति को अमूर्त घोषित किया गया है, केवल (वनऑफ़) उपप्रकार पुरुष या महिला मौजूद हो सकते हैं। किसी व्यक्ति की प्रत्येक घटना में अनिवार्य नाम विशेषता होती है और वैकल्पिक रूप से माता और पिता का गुण होता है। कुछ इकाई प्रकार की विशेषताओं के लिए पढ़ने की निश्चित शैली होती है:
* महिला व्यक्ति के लिए माँ की भूमिका निभा सकती है
* महिला व्यक्ति के लिए माँ की भूमिका निभा सकती है
* पुरुष व्यक्ति के लिए पिता की भूमिका निभा सकता है
* पुरुष व्यक्ति के लिए पिता की भूमिका निभा सकता है


== एक्सप्रेस बिल्डिंग ब्लॉक्स ==
== एक्सप्रेस निर्माण ब्लॉक्स ==


=== डेटा प्रकार ===
=== डेटा प्रकार ===
एक्सप्रेस एक्सप्रेस-जी नोटेशन के विशिष्ट डेटा प्रकार प्रतीकों के साथ, डेटाटाइप्स की श्रृंखला प्रदान करता है:<ref name="MRM99"/>
एक्सप्रेस एक्सप्रेस-जी टिप्पणी के विशिष्ट डेटा प्रकार प्रतीकों के साथ, समुच्चयप्रकारों की श्रृंखला प्रदान करता है:<ref name="MRM99"/>
[[File:A 02A Data type symbols.svg|center]]* इकाई डेटा प्रकार: यह एक्सप्रेस में सबसे महत्वपूर्ण डेटा प्रकार है। इसे और अधिक विस्तार से नीचे कवर किया गया है। उप-सुपरटाइप पेड़ और/या विशेषताओं द्वारा इकाई डेटाटाइप दो तरीकों से संबंधित हो सकते हैं।
[[File:A 02A Data type symbols.svg|center]]
* गणना डेटा प्रकार: गणना मान आरजीबी-गणना के लिए लाल, हरा और नीला जैसे सरल तार होते हैं। इस मामले में कि गणना प्रकार को एक्स्टेंसिबल घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
 
* परिभाषित डेटा प्रकार: यह आगे अन्य डेटाटाइप्स को माहिर करता है - उदाहरण के लिए, डेटाटाइप पॉजिटिव को परिभाषित करता है जो मान> 0 के साथ पूर्णांक प्रकार का होता है।
* इकाई डेटा प्रकार: यह एक्सप्रेस में सबसे महत्वपूर्ण डेटा प्रकार है। इसे और अधिक विस्तार से नीचे समाविष्ट किया गया है। उप-सुपरटाइप पेड़ और/या विशेषताओं द्वारा इकाई डेटाटाइप दो तरीकों से संबंधित हो सकते हैं।
* डेटा प्रकार का चयन करें: चयन विभिन्न विकल्पों के बीच विकल्प या विकल्प को परिभाषित करता है। विभिन्न entity_types के बीच सबसे अधिक उपयोग किए जाने वाले चयन हैं। अधिक दुर्लभ ऐसे चयन हैं जिनमें परिभाषित प्रकार शामिल हैं। इस मामले में कि गणना प्रकार को एक्स्टेंसिबल घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
 
* गणना डेटा प्रकार: गणना मान आरजीबी-गणना के लिए लाल, हरा और नीला जैसे सरल तार होते हैं। इस मामले में कि गणना प्रकार को विस्तरणीय घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
* परिभाषित डेटा प्रकार: यह आगे अन्य समुच्चयप्रकारों को माहिर करता है - उदाहरण के लिए, डेटाटाइप सकारात्मक को परिभाषित करता है जो मान> 0 के साथ पूर्णांक प्रकार का होता है।
* डेटा प्रकार का चयन करें: चयन विभिन्न विकल्पों के बीच विकल्प या विकल्प को परिभाषित करता है। विभिन्न वास्तविकता प्रकारों के बीच सबसे अधिक उपयोग किए जाने वाले चयन हैं। अधिक दुर्लभ ऐसे चयन हैं जिनमें परिभाषित प्रकार शामिल हैं। इस मामले में कि गणना प्रकार को विस्तरणीय घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
* सरल डेटा प्रकार
* सरल डेटा प्रकार
** स्ट्रिंग: यह सबसे अधिक इस्तेमाल किया जाने वाला सरल प्रकार है। एक्सप्रेस तार किसी भी लम्बाई के हो सकते हैं और इसमें कोई भी वर्ण (आईएसओ 10646 / यूनिकोड) हो सकता है।
** स्ट्रिंग: यह सबसे अधिक इस्तेमाल किया जाने वाला सरल प्रकार है। एक्सप्रेस तार किसी भी लम्बाई के हो सकते हैं और इसमें कोई भी वर्ण (आईएसओ 10646 / यूनिकोड) हो सकता है।
** बाइनरी: यह डेटा प्रकार केवल बहुत ही कम उपयोग किया जाता है। इसमें कई बिट्स (बाइट्स नहीं) शामिल हैं। कुछ कार्यान्वयनों के लिए आकार 32 बिट तक सीमित है।
** बाइनरी: यह डेटा प्रकार केवल बहुत ही कम उपयोग किया जाता है। इसमें कई बिट्स (बाइट्स नहीं) शामिल हैं। कुछ कार्यान्वयनों के लिए आकार 32 बिट तक सीमित है।
** लॉजिकल: बूलियन डेटाटाइप के समान लॉजिकल में TRUE और FALSE के संभावित मान होते हैं और इसके अलावा UNKNOWN भी।
** लॉजिकल: बूलियन डेटाटाइप के समान लॉजिकल में सत्य और असत्य के संभावित मान और इसके अलावा अज्ञात भी होते हैं।       
** बूलियन: बूलियन मान TRUE और FALSE के साथ।
** बूलियन: बूलियन मान सत्य और असत्य के साथ।
** संख्या: संख्या डेटा प्रकार पूर्णांक और वास्तविक दोनों का सुपरटाइप है। अधिकांश कार्यान्वयन take real_type का प्रतिनिधित्व करने के लिए दोहरे प्रकार का उपयोग करता है, भले ही वास्तविक मान पूर्णांक हो।
** संख्या: संख्या डेटा प्रकार पूर्णांक और वास्तविक दोनों का सुपरटाइप है। अधिकांश कार्यान्वयन take real_type का प्रतिनिधित्व करने के लिए दोहरे प्रकार का उपयोग करता है, भले ही वास्तविक मान पूर्णांक हो।
** पूर्णांक: एक्सप्रेस पूर्णांक सिद्धांत रूप में किसी भी लम्बाई के हो सकते हैं, लेकिन अधिकांश कार्यान्वयनों ने उन्हें हस्ताक्षरित 32 बिट मान तक सीमित कर दिया।
** पूर्णांक: एक्सप्रेस पूर्णांक सिद्धांत रूप में किसी भी लम्बाई के हो सकते हैं, लेकिन अधिकांश कार्यान्वयनों ने उन्हें हस्ताक्षरित 32 बिट मान तक सीमित कर दिया।
** वास्तविक: आदर्श रूप से एक्सप्रेस वास्तविक मूल्य सटीकता और आकार में असीमित है। लेकिन व्यवहार में वास्तविक मूल्य को टाइप डबल के फ्लोटिंग पॉइंट मान द्वारा दर्शाया जाता है।
** वास्तविक: आदर्श रूप से एक्सप्रेस वास्तविक मूल्य सटीकता और आकार में असीमित है। लेकिन व्यवहार में वास्तविक मूल्य को टाइप डबल के फ्लोटिंग पॉइंट मान द्वारा दर्शाया जाता है।
* एकत्रीकरण डेटा प्रकार: एकत्रीकरण_ प्रकार के संभावित प्रकार समुच्चय, बैग, सूची और ARRAY हैं। जबकि SET और BAG अनियंत्रित हैं, LIST और ARRAY का आदेश दिया गया है। बैग में से अधिक बार विशेष मान हो सकता है, एसईटी के लिए इसकी अनुमति नहीं है। ARRAY एकमात्र समग्र है जिसमें अनसेट सदस्य हो सकते हैं। यह SET, LIST, BAG के लिए संभव नहीं है। समुच्चय के सदस्य किसी अन्य डेटा प्रकार के हो सकते हैं।
* एकत्रीकरण डेटा प्रकार: एकत्रीकरण_ प्रकार के संभावित प्रकार समुच्चय, बैग, सूची और शृंखला समूह हैं। जबकि सेट और बैग अनियंत्रित हैं, सूची और शृंखला समूह का आदेश दिया गया है। बैग में से अधिक बार विशेष मान हो सकता है, एसईटी के लिए इसकी अनुमति नहीं है। शृंखला समूह एकमात्र समग्र है जिसमें अनसेट सदस्य हो सकते हैं। यह सेट, सूची, बैग के लिए संभव नहीं है। समुच्चय के सदस्य किसी अन्य डेटा प्रकार के हो सकते हैं।


डेटाटाइप्स के लिए कुछ सामान्य बातों का उल्लेख किया जाना है।
समुच्चयप्रकारों के लिए कुछ सामान्य बातों का उल्लेख किया जाना है।
* निर्मित डेटाटाइप्स को एक्सप्रेस स्कीमा के अन्दर परिभाषित किया जा सकता है। वे मुख्य रूप से संस्थाओं को परिभाषित करने और इकाई विशेषताओं और कुल सदस्यों के प्रकार को निर्दिष्ट करने के लिए उपयोग किए जाते हैं।
* निर्मित समुच्चयप्रकारों को एक्सप्रेस स्कीमा के अन्दर परिभाषित किया जा सकता है। वे मुख्य रूप से संस्थाओं को परिभाषित करने और इकाई विशेषताओं और कुल सदस्यों के प्रकार को निर्दिष्ट करने के लिए उपयोग किए जाते हैं।
* डेटा प्रकार का उपयोग पुनरावर्ती तरीके से अधिक से अधिक जटिल डेटा प्रकार बनाने के लिए किया जा सकता है। उदा. कुछ संस्थाओं या अन्य डेटाटाइप्स के चयन की सरणी की सूची को परिभाषित करना संभव है। यदि इस तरह के डेटाटाइप को परिभाषित करना समझ में आता है तो यह अलग सवाल है।
* डेटा प्रकार का उपयोग पुनरावर्ती तरीके से अधिक से अधिक जटिल डेटा प्रकार बनाने के लिए किया जा सकता है। उदा. कुछ संस्थाओं या अन्य समुच्चयप्रकारों के चयन की सरणी की सूची को परिभाषित करना संभव है। यदि इस तरह के डेटाटाइप को परिभाषित करना समझ में आता है तो यह अलग सवाल है।
* एक्सप्रेस कुछ नियमों को परिभाषित करता है कि कैसे डेटाटाइप को और अधिक विशिष्ट बनाया जा सकता है। यह संस्थाओं की फिर से घोषित विशेषताओं के लिए महत्वपूर्ण है।
* एक्सप्रेस कुछ नियमों को परिभाषित करता है कि कैसे डेटाटाइप को और अधिक विशिष्ट बनाया जा सकता है। यह संस्थाओं की फिर से घोषित विशेषताओं के लिए महत्वपूर्ण है।
* सामान्य डेटा प्रकारों का उपयोग प्रक्रियाओं, कार्यों और अमूर्त संस्थाओं के लिए किया जा सकता है।
* सामान्य डेटा प्रकारों का उपयोग प्रक्रियाओं, कार्यों और अमूर्त संस्थाओं के लिए किया जा सकता है।
Line 79: Line 82:


=== एल्गोरिदमिक बाधाएं ===
=== एल्गोरिदमिक बाधाएं ===
संस्थाओं और परिभाषित डेटा प्रकारों को और अधिक विवश किया जा सकता है {{mono|WHERE}} नियम। {{mono|WHERE}} नियम भी वैश्विक नियमों का हिस्सा हैं। {{mono|WHERE}} नियम अभिव्यक्ति है, जिसका मूल्यांकन TRUE होना चाहिए, अन्यथा एक्सप्रेस स्कीमा की जनसंख्या मान्य नहीं है। व्युत्पन्न विशेषताओं की तरह ये अभिव्यक्ति एक्सप्रेस कार्यों को लागू कर सकती हैं, जो आगे एक्सप्रेस प्रक्रियाओं को लागू कर सकती हैं। कार्य और प्रक्रियाएं स्थानीय चर, पैरामीटर और स्थिरांक के साथ जटिल बयान तैयार करने की अनुमति देती हैं - प्रोग्रामिंग भाषा के समान ही।
संस्थाओं और परिभाषित डेटा प्रकारों को {{mono|जहां}} नियमों के साथ और विवश किया जा सकता है। {{mono|जहां}} नियम भी वैश्विक नियमों का हिस्सा हैं। {{mono|जहां}} नियम एक अभिव्यक्ति है, जिसका मूल्यांकन सत्य होना चाहिए, अन्यथा एक एक्सप्रेस स्कीमा की जनसंख्या मान्य नहीं है। व्युत्पन्न विशेषताओं की तरह ये अभिव्यक्ति एक्सप्रेस कार्यों को लागू कर सकती हैं, जो आगे एक्सप्रेस प्रक्रियाओं को लागू कर सकती हैं। कार्य और प्रक्रियाएं स्थानीय चर, पैरामीटर और स्थिरांक के साथ जटिल बयान तैयार करने की अनुमति देती हैं - एक प्रोग्रामिंग भाषा के समान ही।


एक्सप्रेस भाषा स्थानीय और वैश्विक नियमों का वर्णन कर सकती है।
एक्सप्रेस भाषा स्थानीय और वैश्विक नियमों का वर्णन कर सकती है।
Line 97: Line 100:
</syntaxhighlight>
</syntaxhighlight>


यह उदाहरण बताता है कि area_unit इकाई का वर्ग मान होना चाहिए
यह उदाहरण बताता है कि area_unit इकाई की लंबाई का वर्ग मान होना चाहिए
लंबाई। इसके लिए एट्रिब्यूट डाइमेंशन.लम्बाई_एक्सपोनेंट 2 के बराबर होना चाहिए और बुनियादी एसआई इकाइयों के अन्य सभी एक्सपोनेंट 0 होने चाहिए।
 
इसके लिए विशेषता आयाम लम्बाई_प्रतिनिधि 2 के बराबर होना चाहिए और बुनियादी एसआई इकाइयों के अन्य सभी प्रतिनिधि 0 होने चाहिए।


और उदाहरण:<syntaxhighlight lang="d">
और उदाहरण:<syntaxhighlight lang="d">
Line 115: Line 119:
* [[ISO 10303-21|आईएसओ 10303-21]]: ASCII संरचना के साथ स्टेप का डेटा विनिमय रूप
* [[ISO 10303-21|आईएसओ 10303-21]]: ASCII संरचना के साथ स्टेप का डेटा विनिमय रूप
* आईएसओ 10303-22: मानक डेटा एक्सेस इंटरफ़ेस, स्टेप के कार्यान्वयन के तरीकों का हिस्सा
* आईएसओ 10303-22: मानक डेटा एक्सेस इंटरफ़ेस, स्टेप के कार्यान्वयन के तरीकों का हिस्सा
* [[आईएसओ 10303-28]]: एसटीईपी-एक्सएमएल एक्सप्रेस स्कीमा का प्रतिनिधित्व करने के लिए एक्स्टेंसिबल मार्कअप लैंग्वेज (एक्सएमएल) के उपयोग को निर्दिष्ट करता है
* [[आईएसओ 10303-28]]: एसटीईपी-एक्सएमएल एक्सप्रेस स्कीमा का प्रतिनिधित्व करने के लिए विस्तरणीय मार्कअप लैंग्वेज (एक्सएमएल) के उपयोग को निर्दिष्ट करता है
* [[आईएसओ 13584]]-24: पीएलआईबी का तार्किक मॉडल एक्सप्रेस में निर्दिष्ट है
* [[आईएसओ 13584]]-24: पीएलआईबी का तार्किक मॉडल एक्सप्रेस में निर्दिष्ट है
* [[ISO 13399|आईएसओ 13399]]: कटिंग टूल डेटा प्रतिनिधित्व और विनिमय के लिए आईएसओ मानक
* [[ISO 13399|आईएसओ 13399]]: कटिंग टूल डेटा प्रतिनिधित्व और विनिमय के लिए आईएसओ मानक
Line 127: Line 131:
* [[सामान्य प्रयोजन मॉडलिंग]]
* [[सामान्य प्रयोजन मॉडलिंग]]
* मॉडलिंग भाषा
* मॉडलिंग भाषा
* [[सिंटैक्स नोटेशन के साथ]]
* [[सिंटैक्स नोटेशन के साथ|सिंटैक्स टिप्पणी के साथ]]
* [[डीओटी (ग्राफ विवरण भाषा)]]
* [[डीओटी (ग्राफ विवरण भाषा)]]



Revision as of 21:18, 21 February 2023

चित्र 1. एक्सप्रेस-जी टिप्पणी में प्रस्तुत ध्‍वनि संक्षिप्त डिस्क (सीडी) संग्रह के लिए डेटाबेस की आवश्यकताएं।

एक्सप्रेस उत्पाद (व्यवसाय) डेटा के लिए मानक डेटा मॉडलिंग भाषा है। एक्सप्रेस को उत्पाद मॉडल स्टेप (आईएसओ 10303) के आदान-प्रदान के लिए आईएसओ मानक में औपचारिक रूप दिया गया है, और आईएसओ 10303-11 के रूप में मानकीकृत किया गया है।[1]


अवलोकन

डेटा मॉडल औपचारिक रूप से रुचि के डोमेन के लिए डेटा वस्तु और डेटा वस्तु के बीच संबंधों को परिभाषित करते हैं। डेटा मॉडल के कुछ विशिष्ट अनुप्रयोगों में डेटाबेस के विकास का समर्थन करना और किसी विशेष क्षेत्र के लिए डेटा के आदान-प्रदान को सक्षम करना शामिल है। डेटा मॉडल को डेटा मॉडलिंग भाषा में निर्दिष्ट किया जाता है।[2] एक्सप्रेस आईएसओ 10303-11, एक्सप्रेस भाषा संदर्भ मैनुअल में परिभाषित डेटा मॉडलिंग भाषा है।[3]

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

एक्सप्रेस प्रोग्रामिंग लैंग्वेज जैसे पास्कल (प्रोग्रामिंग भाषा) के समान है। स्कीमा के अन्दर विभिन्न समुच्चयप्रकारों को संरचनात्मक बाधाओं और एल्गोरिथम नियमों के साथ परिभाषित किया जा सकता है। एक्सप्रेस की मुख्य विशेषता डेटाप्रकारों की आबादी को औपचारिक रूप से मान्य करने की संभावना है - यह सभी संरचनात्मक और एल्गोरिथम नियमों की जांच करना है।

एक्सप्रेस-जी

एक्सप्रेस-जी सूचना मॉडल के लिए मानक चित्रमय संकेतन है।[4] यह इकाई और प्रकार की परिभाषाएँ, संबंधों और प्रमुखता को प्रदर्शित करने के लिए एक्सप्रेस भाषा का साथी है।[5] यह चित्रमय संकेतन एक्सप्रेस भाषा के उपसमुच्चय का समर्थन करता है। एक्सप्रेस पर एक्सप्रेस-जी का उपयोग करने के लाभों में से यह है कि डेटा मॉडल की संरचना को अधिक समझने योग्य तरीके से प्रस्तुत किया जा सकता है। एक्सप्रेस-जी का नुकसान यह है कि जटिल बाधाओं को औपचारिक रूप से निर्दिष्ट नहीं किया जा सकता है। चित्र 1 उदाहरण है। चित्र में प्रस्तुत डेटा मॉडल का उपयोग ध्‍वनि संक्षिप्त डिस्क (सीडी) संग्रह के लिए डेटाबेस की आवश्यकताओं को निर्दिष्ट करने के लिए किया जा सकता है।[2]


सरल उदाहरण

चित्र 2. फैमिली स्कीमा के लिए एक्सप्रेस-जी डायग्राम

साधारण एक्सप्रेस डेटा मॉडल चित्र 2 जैसा दिखता है, और कोड इस प्रकार है:

SCHEMA Family;

ENTITY Person
   ABSTRACT SUPERTYPE OF (ONEOF (Male, Female));
     name: STRING;
     mother: OPTIONAL Female;
     father: OPTIONAL Male;
END_ENTITY;

ENTITY Female
   SUBTYPE OF (Person);
END_ENTITY;

ENTITY Male
   SUBTYPE of (Person);
END_ENTITY;

END_SCHEMA;

डेटा मॉडल एक्सप्रेस स्कीमा परिवार के अन्दर संलग्न है। इसमें दो उपप्रकार पुरुष और महिला के साथ सुपरटाइप इकाई व्यक्ति शामिल है। चूँकि व्यक्ति को अमूर्त घोषित किया गया है, केवल (वनऑफ़) उपप्रकार पुरुष या महिला मौजूद हो सकते हैं। किसी व्यक्ति की प्रत्येक घटना में अनिवार्य नाम विशेषता होती है और वैकल्पिक रूप से माता और पिता का गुण होता है। कुछ इकाई प्रकार की विशेषताओं के लिए पढ़ने की निश्चित शैली होती है:

  • महिला व्यक्ति के लिए माँ की भूमिका निभा सकती है
  • पुरुष व्यक्ति के लिए पिता की भूमिका निभा सकता है

एक्सप्रेस निर्माण ब्लॉक्स

डेटा प्रकार

एक्सप्रेस एक्सप्रेस-जी टिप्पणी के विशिष्ट डेटा प्रकार प्रतीकों के साथ, समुच्चयप्रकारों की श्रृंखला प्रदान करता है:[2]

A 02A Data type symbols.svg
  • इकाई डेटा प्रकार: यह एक्सप्रेस में सबसे महत्वपूर्ण डेटा प्रकार है। इसे और अधिक विस्तार से नीचे समाविष्ट किया गया है। उप-सुपरटाइप पेड़ और/या विशेषताओं द्वारा इकाई डेटाटाइप दो तरीकों से संबंधित हो सकते हैं।
  • गणना डेटा प्रकार: गणना मान आरजीबी-गणना के लिए लाल, हरा और नीला जैसे सरल तार होते हैं। इस मामले में कि गणना प्रकार को विस्तरणीय घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
  • परिभाषित डेटा प्रकार: यह आगे अन्य समुच्चयप्रकारों को माहिर करता है - उदाहरण के लिए, डेटाटाइप सकारात्मक को परिभाषित करता है जो मान> 0 के साथ पूर्णांक प्रकार का होता है।
  • डेटा प्रकार का चयन करें: चयन विभिन्न विकल्पों के बीच विकल्प या विकल्प को परिभाषित करता है। विभिन्न वास्तविकता प्रकारों के बीच सबसे अधिक उपयोग किए जाने वाले चयन हैं। अधिक दुर्लभ ऐसे चयन हैं जिनमें परिभाषित प्रकार शामिल हैं। इस मामले में कि गणना प्रकार को विस्तरणीय घोषित किया जाता है, इसे अन्य स्कीमाओं में बढ़ाया जा सकता है।
  • सरल डेटा प्रकार
    • स्ट्रिंग: यह सबसे अधिक इस्तेमाल किया जाने वाला सरल प्रकार है। एक्सप्रेस तार किसी भी लम्बाई के हो सकते हैं और इसमें कोई भी वर्ण (आईएसओ 10646 / यूनिकोड) हो सकता है।
    • बाइनरी: यह डेटा प्रकार केवल बहुत ही कम उपयोग किया जाता है। इसमें कई बिट्स (बाइट्स नहीं) शामिल हैं। कुछ कार्यान्वयनों के लिए आकार 32 बिट तक सीमित है।
    • लॉजिकल: बूलियन डेटाटाइप के समान लॉजिकल में सत्य और असत्य के संभावित मान और इसके अलावा अज्ञात भी होते हैं।
    • बूलियन: बूलियन मान सत्य और असत्य के साथ।
    • संख्या: संख्या डेटा प्रकार पूर्णांक और वास्तविक दोनों का सुपरटाइप है। अधिकांश कार्यान्वयन take real_type का प्रतिनिधित्व करने के लिए दोहरे प्रकार का उपयोग करता है, भले ही वास्तविक मान पूर्णांक हो।
    • पूर्णांक: एक्सप्रेस पूर्णांक सिद्धांत रूप में किसी भी लम्बाई के हो सकते हैं, लेकिन अधिकांश कार्यान्वयनों ने उन्हें हस्ताक्षरित 32 बिट मान तक सीमित कर दिया।
    • वास्तविक: आदर्श रूप से एक्सप्रेस वास्तविक मूल्य सटीकता और आकार में असीमित है। लेकिन व्यवहार में वास्तविक मूल्य को टाइप डबल के फ्लोटिंग पॉइंट मान द्वारा दर्शाया जाता है।
  • एकत्रीकरण डेटा प्रकार: एकत्रीकरण_ प्रकार के संभावित प्रकार समुच्चय, बैग, सूची और शृंखला समूह हैं। जबकि सेट और बैग अनियंत्रित हैं, सूची और शृंखला समूह का आदेश दिया गया है। बैग में से अधिक बार विशेष मान हो सकता है, एसईटी के लिए इसकी अनुमति नहीं है। शृंखला समूह एकमात्र समग्र है जिसमें अनसेट सदस्य हो सकते हैं। यह सेट, सूची, बैग के लिए संभव नहीं है। समुच्चय के सदस्य किसी अन्य डेटा प्रकार के हो सकते हैं।

समुच्चयप्रकारों के लिए कुछ सामान्य बातों का उल्लेख किया जाना है।

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

इकाई-विशेषता

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

गुण तीन प्रकार के होते हैं, स्पष्ट, व्युत्पन्न और प्रतिलोम गुण। और इन सभी को उपप्रकार में पुनः घोषित किया जा सकता है। इसके अलावा उपप्रकार में व्युत्पन्न के रूप में स्पष्ट विशेषता को फिर से घोषित किया जा सकता है। इस प्रकार के गुणों में कोई अन्य परिवर्तन संभव नहीं है।

  • स्पष्ट विशेषताएँ वे हैं जिनका सीधा मान स्टेप-फ़ाइल में दिखाई देता है।
  • व्युत्पन्न विशेषताएँ अभिव्यक्ति से अपना मान प्राप्त करती हैं। ज्यादातर मामलों में अभिव्यक्ति इस उदाहरण के अन्य गुणों को संदर्भित करती है। अभिव्यक्ति एक्सप्रेस कार्यों का भी उपयोग कर सकती है।
  • व्युत्क्रम विशेषताएँ किसी इकाई में जानकारी नहीं जोड़ती हैं, लेकिन केवल दूसरे छोर से इकाई के लिए स्पष्ट विशेषता का नाम और विवश करती हैं।

एक्सप्रेस-जी संकेतन के विशिष्ट विशेषता प्रतीक:[2]

A 02B Attribute symbols.svg

सुपरटाइप्स और सबटाइप्स

इकाई को या कई अन्य संस्थाओं के उपप्रकार के रूप में परिभाषित किया जा सकता है (एकाधिक वंशानुक्रम की अनुमति है!) सुपरटाइप में कई उपप्रकार हो सकते हैं। बहुत जटिल उप-सुपरटाइप ग्राफ बनाने के लिए स्टेप में यह बहुत ही सामान्य अभ्यास है। कुछ ग्राफ़ 100 और अधिक संस्थाओं को दूसरे से संबंधित करते हैं।

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

एल्गोरिदमिक बाधाएं

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

एक्सप्रेस भाषा स्थानीय और वैश्विक नियमों का वर्णन कर सकती है।

उदाहरण के लिए:

 ENTITY area_unit
   SUBTYPE OF (named_unit);
 WHERE
   WR1: (SELF\named_unit.dimensions.length_exponent = 2) AND
        (SELF\named_unit.dimensions.mass_exponent = 0) AND
        (SELF\named_unit.dimensions.time_exponent = 0) AND
        (SELF\named_unit.dimensions.electric_current_exponent = 0) AND
        (SELF\named_unit.dimensions.
          thermodynamic_temperature_exponent = 0) AND
        (SELF\named_unit.dimensions.amount_of_substance_exponent = 0) AND
        (SELF\named_unit.dimensions.luminous_intensity_exponent = 0);
 END_ENTITY; -- area_unit

यह उदाहरण बताता है कि area_unit इकाई की लंबाई का वर्ग मान होना चाहिए

इसके लिए विशेषता आयाम लम्बाई_प्रतिनिधि 2 के बराबर होना चाहिए और बुनियादी एसआई इकाइयों के अन्य सभी प्रतिनिधि 0 होने चाहिए।

और उदाहरण:

TYPE day_in_week_number = INTEGER;
WHERE
   WR1: (1 <= SELF) AND (SELF <= 7);
END_TYPE; -- day_in_week_number

अर्थात, इसका अर्थ है कि सप्ताह का मान 7 से अधिक नहीं हो सकता।

और इसलिए, आप अपनी संस्थाओं को कुछ नियमों का वर्णन कर सकते हैं। दिए गए उदाहरणों पर अधिक विवरण आईएसओ 10303-41 में पाया जा सकता है

यह भी देखें

आईएसओ संबंधित विषय

  • आईएसओ 10303: कंप्यूटर-व्याख्यात्मक प्रतिनिधित्व और औद्योगिक उत्पाद डेटा के आदान-प्रदान के लिए आईएसओ मानक।
  • आईएसओ 10303-21: ASCII संरचना के साथ स्टेप का डेटा विनिमय रूप
  • आईएसओ 10303-22: मानक डेटा एक्सेस इंटरफ़ेस, स्टेप के कार्यान्वयन के तरीकों का हिस्सा
  • आईएसओ 10303-28: एसटीईपी-एक्सएमएल एक्सप्रेस स्कीमा का प्रतिनिधित्व करने के लिए विस्तरणीय मार्कअप लैंग्वेज (एक्सएमएल) के उपयोग को निर्दिष्ट करता है
  • आईएसओ 13584-24: पीएलआईबी का तार्किक मॉडल एक्सप्रेस में निर्दिष्ट है
  • आईएसओ 13399: कटिंग टूल डेटा प्रतिनिधित्व और विनिमय के लिए आईएसओ मानक
  • इंडस्ट्री फाउंडेशन क्लासेस|आईएसओ/PAS 16739: इंडस्ट्री फाउंडेशन क्लासेस एक्सप्रेस में निर्दिष्ट है
  • स्टेप (आईएसओ 10303) भागों की सूची

अन्य संबंधित विषय

संदर्भ

Public Domain This article incorporates public domain material from the National Institute of Standards and Technology.

  1. ISO 10303-11:2004 Industrial automation systems and integration -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual
  2. 2.0 2.1 2.2 2.3 Michael R. McCaleb (1999). "A Conceptual Data Model of Datum Systems". National Institute of Standards and Technology. August 1999.
  3. ISO International Standard 10303-11:1994, Industrial automation systems and integration — Product data representation andexchange — Part 11: Description methods: The EXPRESS language reference manual, International Organization for Standardization, Geneva, Switzerland (1994).
  4. 4 EXPRESS-G Language Overview Archived 2008-11-09 at the Wayback Machine. Accessed 9 Nov 2008.
  5. For information on the EXPRESS-G notation, consult Annex B of the EXPRESS Language Reference Manual (ISO 10303-11)


अग्रिम पठन

  • आईएसओ 10303, the main page for स्टेप, the Standard for the Exchange of Product model data
  • Douglas A. Schenck and Peter R. Wilson, Information Modeling the EXPRESS Way, Oxford University Press, 1993, ISBN 978-0-19-508714-7