नीचे दिखाए गए तुलना चार्ट की सहायता से SQL और PL / SQL के बीच कुछ और अंतरों पर चर्चा करते हैं।
तुलना चार्ट
तुलना के लिए आधार | एसक्यूएल | PL / SQL |
---|---|---|
बुनियादी | SQL में आप एक बार में एक ही क्वेरी या कमांड को निष्पादित कर सकते हैं। | PL / SQL में आप एक बार में कोड के ब्लॉक को निष्पादित कर सकते हैं। |
पूर्ण प्रपत्र | संरचित प्रश्न भाषा | प्रक्रियात्मक भाषा, SQL का विस्तार। |
उद्देश्य | यह डेटा के एक स्रोत की तरह है जिसे प्रदर्शित किया जाना है। | यह ऐसी भाषा है जो SQL द्वारा अधिग्रहित डेटा को प्रदर्शित करने वाला अनुप्रयोग बनाता है। |
लिखते हैं | SQL में आप DDL, DML स्टेटमेंट का उपयोग करके क्वेरी और कमांड लिख सकते हैं। | पीएल / एसक्यूएल में आप कोड के ब्लॉक लिख सकते हैं जिसमें प्रक्रियाएं, कार्य, पैकेज या चर आदि हैं। |
उपयोग | SQL का उपयोग करते हुए, आप डेटाबेस में डेटा को पुनः प्राप्त, संशोधित, जोड़, हटा या जोड़-तोड़ कर सकते हैं। | पीएल / एसक्यूएल का उपयोग करके, आप एप्लिकेशन या सर्वर पेज बना सकते हैं जो एसक्यूएल से प्राप्त जानकारी को एक उचित प्रारूप में प्रदर्शित करते हैं। |
एम्बेड | आप PL / SQL में SQL स्टेटमेंट एम्बेड कर सकते हैं। | आप पीएल / एसक्यूएल को एसक्यूएल में एम्बेड नहीं कर सकते |
SQL की परिभाषा
SQL ( संरचित क्वेरी भाषा ) 1970 में IBM द्वारा विकसित एक स्थापित रिलेशनल डेटाबेस भाषा है। यह डीडीएल अर्थात डेटा डेफिनिशन लैंग्वेज का उपयोग करके डेटाबेस में संबंधों (तालिकाओं) के सेट को परिभाषित करता है। डीडीएल का उपयोग प्रत्येक संबंध के स्कीमा को बनाने के लिए किया जाता है और प्रत्येक संबंध की अखंडता की कमी, सुरक्षा और प्राधिकरण बनाए रखता है।
एसक्यूएल का दूसरा हिस्सा डीएमएल यानी डेटा मैनिपुलेशन लैंग्वेज है। डीएमएल उपयोगकर्ता को डेटाबेस में डेटा तक पहुंचने या हेरफेर करने में सक्षम बनाता है। डीएमएल मूल रूप से दो प्रकार के हैं प्रक्रियात्मक डीएमएल और घोषणात्मक या गैर-प्रक्रियात्मक डीएमएल । प्रक्रियात्मक डीएमएल कथन निर्दिष्ट करते हैं कि डेटा की क्या आवश्यकता है और यह भी कि उस डेटा को कैसे पुनः प्राप्त किया जाए। दूसरी ओर, डिक्लेरेटिव डीएमएल स्टेटमेंट केवल यह बताता है कि डेटा की क्या आवश्यकता है। SQl Declarative DML का उपयोग करता है।
SQL को C / C ++, Java, Perl, Python, PHP इत्यादि कई अन्य भाषाओं के सिंटैक्स में एम्बेड किया जा सकता है। यह एक डेटा उन्मुखी भाषा है।
पीएल / एसक्यूएल की परिभाषा
पीएल / एसक्यूएल 90 के शुरुआती दिनों में ओरेकल कॉर्पोरेशन द्वारा विकसित एक प्रक्रियात्मक संबंधपरक डेटाबेस भाषा है। PL / SQL अन्य दो भाषाओं SQL और Java के साथ Oracle द्वारा उपयोग की जाने वाली भाषा है। यह एसक्यूएल का विस्तार है और यह सिंटैक्स को अपने सिंटैक्स के भीतर एम्बेड करता है।
PL / SQL एक समय में कोड के ब्लॉक को निष्पादित करने की अनुमति देता है जो उसके प्रदर्शन को बढ़ाता है। कोड के ब्लॉक में प्रक्रियाएं, फ़ंक्शन, लूप, वैरिएबल पैकेज, ट्रिगर होते हैं। PL / SQL को वेब एप्लिकेशन और सर्वर पेज बनाने के लिए डिज़ाइन किया गया है। PL / SQL इनकैप्सुलेशन, डेटा छिपाना, अपवाद हैंडलिंग और ऑब्जेक्ट-ओरिएंटेड डेटा प्रकार जैसी सुविधाओं को रोकता है।
SQL और PL / SQL के बीच मुख्य अंतर
- दो भाषाओं के बीच मूल अंतर यह है कि SQL एक बार में एक ही क्वेरी को निष्पादित करता है, जबकि Pl / SQL एक ही बार में कोड को ब्लॉक करता है।
- SQL एक संरचित क्वेरी भाषा है जबकि, PL / SQL एक प्रक्रियात्मक भाषा / संरचित क्वेरी भाषा है।
- SQL डेटा को पुनः प्राप्त करने के लिए एक स्रोत के रूप में कार्य करता है जो PL / SQL का उपयोग करके बनाए गए एप्लिकेशन द्वारा प्रदर्शित किया जाएगा।
- SQL क्वेरी और कमांड DDL (डेटा डेफिनिशन लैंग्वेज), DML (डेटा मैनिप्युलेशन लैंग्वेज) का उपयोग करके लिखे गए हैं। हालाँकि, पीएल / एसक्यूएल का उपयोग करके आप प्रोग्रामिंग ब्लॉक लिख सकते हैं जिसमें इसके सिंटैक्स के भीतर प्रक्रियाएं, फ़ंक्शन, ट्रिगर, पैकेज, चर हैं।
- SQL क्वेरी का उपयोग डेटाबेस से डेटा को पुनः प्राप्त करने के लिए किया जाता है; आप डेटाबेस में डेटा को जोड़ या हटा या संशोधित भी कर सकते हैं। दूसरी ओर, PL / SQL का उपयोग उन अनुप्रयोगों को बनाने के लिए किया जाता है जो SQL द्वारा प्राप्त जानकारी को प्रदर्शित कर सकते हैं।
- आप PL / SQL के सिंटैक्स के भीतर SQL क्वेरी एम्बेड कर सकते हैं। हालांकि, इसके विपरीत संभव नहीं है।
निष्कर्ष:
एसक्यूएल एक घोषणात्मक भाषा है, यह केवल निर्दिष्ट करता है कि डेटा की क्या आवश्यकता है। लेकिन PL / SQL एक प्रक्रियात्मक भाषा है जो यह निर्दिष्ट करती है कि डेटा की क्या आवश्यकता है और इसे कैसे प्राप्त किया जा सकता है।