मौलिक अवधारणाओं और एक संबंधपरक डेटाबेस भाषा sql
और prolog
और क्लोजर के core.logic
जैसे तर्क प्रोग्रामिंग भाषा के बीच कार्यान्वयन के संदर्भ में समानताएं और अंतर क्या हैं? क्या दो विनिमयशील हैं?रिलेशनल डाटाबेस भाषाएं और तर्क प्रोग्रामिंग कितने समान हैं?
उत्तर
समानताएं Datalog क्वेरी भाषा द्वारा कैद की जाती हैं। Here तर्क और डेटाबेस के बीच संबंध की प्रेरणा और बेहतर स्पष्टीकरण है। इस अंश को आपके प्रश्न का समाधान करना चाहिए:
फिर भी, प्रोलॉग और रिलेशनल डेटाबेस जोड़ना कुछ विसंगतियों को दिखाता है। प्रोलॉग में तथ्यों और नियमों को कुल आदेश में व्यवस्थित किया गया है और प्रोलॉग प्रोग्राम का अर्थशास्त्र इस आदेश पर निर्भर करता है। इसके विपरीत, डेटाबेस में संबंध टुपल्स के अनियमित सेट के रूप में माना जाता है और किसी क्वेरी का परिणाम किसी भी भौतिक ऑर्डर से स्वतंत्र होता है। प्रोलॉग प्रोग्राम्स की प्रसंस्करण ट्यूपल उन्मुख है जबकि संबंधपरक डेटाबेस सेट उन्मुख हैं। प्रोलॉग प्रक्रियात्मक प्रदान करता है जो कि प्रोग्रामर को अनुमान प्रक्रिया को नियंत्रित करने की अनुमति देने के लिए कट अनुमानित करता है। प्रोलॉग प्रोग्राम के मूल्यांकन का आदेश पूर्व निर्धारित है, जबकि रिलेशनल कैलकुस में अभिव्यक्ति पूरी तरह से घोषणात्मक और वास्तविक मूल्यांकन एक क्वेरी प्रोसेसर पर छोड़ा गया है जो अनुकूलन उद्देश्यों के लिए क्वेरी को पुनर्व्यवस्थित कर सकता है। संबंधपरक डेटाबेस की सफलता के लिए अनुकूलन प्रश्नों के लिए महत्वपूर्ण था। प्रोलॉग इंजन की प्रक्रियात्मक प्रकृति प्रोग्रामर के साथ अनुकूलन का बोझ छोड़ देती है।
एक महत्वपूर्ण अंतर यह है कि SQL is only Turing complete कुछ सुंदर पागल चाल के साथ जो एएनएसआई एसक्यूएल 99 तक 0 संभव नहीं थे। Prolog is Turing complete और इसलिए एक सामान्य उद्देश्य प्रोग्रामिंग भाषा है।
हालांकि SQL और Prolog दोनों पहले क्रम तर्क तर्क अवधारणाओं का प्रदर्शन करते हैं, न तो predicate calculus का पूर्ण कार्यान्वयन है।
प्रोलॉग और अन्य तर्क प्रोग्रामिंग भाषा डेटा संरचनाओं के साथ-साथ भविष्यवाणियों की परिभाषा दोनों के लिए रिकर्सन पर भारी निर्भर हैं।
एसक्यूएल प्रति से रिकर्सन की अनुमति नहीं देता है, और संग्रहित प्रक्रियाओं का परिचय ऐसी कॉलों के घोंसले की गहराई पर सीमाओं के साथ किया गया है। उदाहरण के लिए। 2012 के माध्यम से SQL Server 2000 at most 32 nested calls को अनुमति दें।
संबंधपरक डेटाबेस में "संबंध" को टेबल (या अधिक लचीला रूप से, दृश्यों के रूप में) के रूप में संशोधित किया जाता है। प्रोलॉग का सबसे समान पहलू dynamic factbases है, जो कुछ कार्यान्वयन (एसडब्ल्यूआई, अमी) में प्रदर्शन के लिए अनुक्रमण की इजाजत देता है, एसक्यूएल में प्रदर्शन के लिए संबंधपरक तालिकाओं के अनुक्रमण के समान ही है।
हालांकि एसक्यूएल आरडीबीएमएस को प्रोलॉग कार्यान्वयन की तुलना में डेटा के बहुत बड़े सेट के साथ कुशलतापूर्वक काम करने के लिए डिज़ाइन किया गया है, आमतौर पर प्रोलॉग को डेटाबेस डिज़ाइन के दोनों डेटाबेस और प्रक्रिया पहलुओं को प्रोटोटाइप करने के लिए उपयोग किया जा सकता है।
here for a 2005 thesis देखें जो प्रोलॉग अनुमान के साथ संबंधपरक डेटाबेस को विस्तारित करता है।
- 1. ऑब्जेक्ट ओरिएंटेड डाटाबेस बनाम ऑब्जेक्ट रिलेशनल डाटाबेस
- 2. चॉम्स्की पदानुक्रम और प्रोग्रामिंग भाषाएं
- 3. जीवीआईएम और एकाधिक प्रोग्रामिंग भाषाएं
- 4. मॉडलिंग: एक्सएमएल बनाम रिलेशनल डाटाबेस
- 5. पायथन में रिलेशनल/लॉजिक प्रोग्रामिंग?
- 6. कौन सी प्रोग्रामिंग भाषाएं संदर्भ-मुक्त हैं?
- 7. इतनी सारी प्रोग्रामिंग भाषाएं क्यों हैं?
- 8. सचमुच बहुभाषी प्रोग्रामिंग भाषाएं?
- 9. प्रोग्रामिंग भाषाएं Arduino/AVR
- 10. फ़्लोचार्टिंग कार्यात्मक प्रोग्रामिंग भाषाएं
- 11. ग्राफिक्स प्रोग्रामिंग के लिए उपयुक्त कार्यात्मक प्रोग्रामिंग भाषाएं हैं?
- 12. क्या प्रोग्रामिंग भाषाएं और भाषा सुविधाएं 10 से कम हैं?
- 13. प्रोग्रामिंग भाषाएं और कंपाइलर डिज़ाइन बनाना। क्या वे संबंधित हैं?
- 14. नल पॉइंटर तर्क कितने महंगा हैं?
- 15. रिलेशनल डाटाबेस डिज़ाइन के लिए अच्छे संसाधन
- 16. कितने कन्स्ट्रक्टर तर्क बहुत अधिक हैं?
- 17. तर्क जो प्रोग्रामिंग
- 18. प्रोग्रामिंग भाषाएं बड़ी संख्या अंकगणित
- 19. प्रोग्रामिंग भाषाएं/पुस्तकालय हार्डवेयर के साथ संवाद कैसे करते हैं?
- 20. क्यूटी - डाटाबेस प्रोग्रामिंग
- 21. प्रोग्रामिंग भाषाएं जो देशी कोड को संकलित करती हैं और बैटरी में
- 22. क्या एक्सएमएल के उद्देश्य से अन्य भाषाएं समान हैं?
- 23. लोकप्रिय 'वेब-तैयार' कार्यात्मक प्रोग्रामिंग भाषाएं क्या हैं?
- 24. प्रोग्रामिंग भाषाएं जो XML अक्षर का समर्थन करती हैं
- 25. क्या कोई वैश्विक चर के साथ प्रोग्रामिंग भाषाएं हैं?
- 26. प्रोग्रामिंग भाषाएं जो PHP में संकलित होती हैं?
- 27. कौन सी प्रोग्रामिंग भाषाएं (स्मॉलटाक के अलावा) छवि आधारित हैं?
- 28. जनरेटिंग प्रोग्रामिंग के लिए गैर-सी ++ भाषाएं?
- 29. समवर्ती प्रोग्रामिंग समानांतर प्रोग्रामिंग के समान है?
- 30. हास्केल के फ़ोल्डर फ़ंक्शन कितने तर्क लेते हैं?