SQL, PL-SQL और T-SQL में क्या अंतर है?


360

SQL, PL-SQL और T-SQL में क्या अंतर है?

क्या कोई यह समझा सकता है कि इन तीनों के बीच अंतर क्या है, और ऐसे परिदृश्य प्रदान करते हैं जहां प्रत्येक का प्रासंगिक उपयोग किया जाएगा?


1
Microsoft SQL सर्वर का उपयोग करने वाली क्वेरी भाषा ANSI- मानक संरचित क्वेरी भाषा, SQL का एक प्रकार है। SQL सर्वर वैरिएंट को Transact-SQL कहा जाता है।

SQL डेटा के सेट को चुनने और हेरफेर करने के लिए एक डेटा उन्मुख भाषा है। PL / SQL अनुप्रयोगों को बनाने के लिए एक प्रक्रियात्मक भाषा है

SQL संरचित क्वेरी भाषा है PL / SQL एक प्रक्रियात्मक भाषा है जिसे sql तक विस्तारित किया जाता है इसे oracle द्वारा विकसित किया जाता है T-SQL को Microsoft द्वारा विकसित किया गया है

जवाबों:


379
  • SQL सेट पर संचालित करने के लिए एक क्वेरी भाषा है।

    यह अधिक या कम मानकीकृत है, और लगभग सभी संबंधपरक डेटाबेस प्रबंधन प्रणालियों द्वारा उपयोग किया जाता है: SQL सर्वर, Oracle, MySQL, PostgreSQL, DB2, Informix, आदि।

  • PL/SQL ओरेकल द्वारा उपयोग की जाने वाली एक मालिकाना प्रक्रियात्मक भाषा है

  • PL/pgSQL PostgreSQL द्वारा प्रयुक्त एक प्रक्रियात्मक भाषा है

  • TSQL Microsoft द्वारा SQL सर्वर में उपयोग की जाने वाली एक स्वामित्व प्रक्रियात्मक भाषा है।

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

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


14
TSQL का उपयोग Sybase द्वारा भी किया जाता है; ओरेकल में कम से कम, पीएल / एसक्यूएल प्रक्रियाएं केवल "व्यावसायिक नियमों" को प्रबंधित करने की तुलना में बहुत अधिक कर सकती हैं; पीएल / एसक्यूएल प्रक्रियाएं वेब साइटों तक पहुंच सकती हैं, ईमेल आदि भेज सकती हैं
Erich Kitzmueller

3
PL / SQL डेटाबेस में पूरी तरह से मौजूद नहीं है, जैसे Oracle प्रपत्र में PL / SQL का क्लाइंट-साइड कार्यान्वयन शामिल है।
एरच किट्ज़म्यूलर

2
ध्यान दें कि प्रत्येक डेटाबेस में SQL (T-SQL और PL / SQL दो अधिक सामान्य हैं) का कार्यान्वयन है, ANSII मानक SQL का उपयोग अक्सर तब किया जाता है जब एकाधिक बैकेंड का उपयोग किया जाता है, लेकिन सभी डेटाबेस सभी ANSII SQL सुविधाओं का उपयोग नहीं करते हैं। और SQl का डेटाबेस विशिष्ट कार्यान्वयन उस डेटाबेस के लिए सबसे अच्छा प्रदर्शन करने वाला है - आखिरकार उन्हें आपको अपने डेटाबेस का उपयोग करने का एक कारण देना होगा, है ना?
HLGEM

2
सुधार: SQL तालिकाओं पर काम करने के लिए एक भाषा है जिसके लिए SQL स्वयं परिभाषा प्रदान करता है। एसक्यूएल स्टैंडर्ड शब्द 'सेट' और 'रिलेशन' और उनके डेरिवेटिव से बचा जाता है। SQL टेबल सेट नहीं हैं।
onedaywhen

1
यह सुनिश्चित करना अच्छा होगा कि एक sql प्रक्रियात्मक भाषा होगी जो ओरेकल और sql सर्वर पर काम करेगी।
रेवलवेल्स

113

एसक्यूएल

SQL का उपयोग डेटाबेस के साथ संचार करने के लिए किया जाता है, यह रिलेशनल डेटाबेस मैनेजमेंट सिस्टम के लिए मानक भाषा है।

डिटेल्ड स्ट्रक्चर्ड क्वेरी लैंग्वेज एक विशेष-उद्देश्यीय प्रोग्रामिंग लैंग्वेज है जिसे किसी रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) में रखे गए डेटा को मैनेज करने के लिए या किसी रिलेशनल डेटा स्ट्रीम मैनेजमेंट सिस्टम (RDSMS) में स्ट्रीम प्रोसेसिंग के लिए डिज़ाइन किया गया है।

मूल रूप से संबंधपरक बीजगणित और टपल रिलेशनल कैलकुलस पर आधारित, SQL में डेटा परिभाषा भाषा और डेटा हेरफेर भाषा शामिल होती है। SQL के दायरे में डेटा इंसर्ट, क्वेरी, अपडेट और डिलीट, स्कीमा क्रिएशन और मॉडिफिकेशन, और डेटा एक्सेस कंट्रोल शामिल हैं। हालाँकि एसक्यूएल को अक्सर वर्णित किया जाता है, और बहुत हद तक एक घोषणात्मक भाषा (4 जीएल) है, इसमें प्रक्रियात्मक तत्व भी शामिल हैं।

PL / SQL

PL / SQL प्रोग्रामिंग भाषाओं की प्रक्रियात्मक विशेषताओं के साथ SQL का एक संयोजन है। इसे Oracle Corporation द्वारा विकसित किया गया था

पीएल / एसक्यूएल की विशेषता

  • पूरी तरह से पोर्टेबल, उच्च-प्रदर्शन लेनदेन-प्रसंस्करण भाषा।
  • एक अंतर्निहित व्याख्या और ओएस स्वतंत्र प्रोग्रामिंग वातावरण प्रदान करता है।
  • सीधे कमांड-लाइन SQL * प्लस इंटरफ़ेस से कॉल किया जा सकता है।
  • डायरेक्ट कॉलिंग को बाहरी प्रोग्रामिंग लैंग्वेज कॉल से डेटाबेस में भी किया जा सकता है।
  • सामान्य वाक्यविन्यास एडीए और पास्कल प्रोग्रामिंग भाषा पर आधारित है।
  • Oracle के अलावा, यह TimesTen-in-memory डेटाबेस और IBM DB2 में उपलब्ध है।

T-SQL

Transaction-SQL के लिए लघु , SQL का एक विस्तारित रूप जो घोषित चर, लेनदेन नियंत्रण, त्रुटि और अपवाद और SQL के लिए पंक्ति प्रसंस्करण जोड़ता है

स्ट्रक्चर्ड क्वेरी लैंग्वेज या एसक्यूएल एक प्रोग्रामिंग लैंग्वेज है जो रिलेशनल डेटाबेस को मैनेज करने पर केंद्रित है। SQL की अपनी सीमाएँ हैं जो SQL की कार्यक्षमता बढ़ाने के लिए अपने स्वयं के एक्सटेंशन के साथ SQL के शीर्ष पर बनाने के लिए सॉफ़्टवेयर दिग्गज Microsoft को प्रेरित करती हैं । Microsoft ने SQL में कोड जोड़ा और इसे Transact-SQL या T-SQL कहा। ध्यान रखें कि T-SQL मालिकाना है और Microsoft के नियंत्रण में है, जबकि SQL, हालांकि IBM द्वारा विकसित किया गया है, पहले से ही एक खुला प्रारूप है।

T-SQL कई सुविधाएँ जोड़ता है जो SQL में उपलब्ध नहीं हैं।

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

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

टी-एसक्यूएल और एसक्यूएल के बीच चयन करना उपयोगकर्ता पर निर्भर है। फिर भी, जब आप Microsoft SQL सर्वर संस्थापन के साथ काम कर रहे हैं तो T-SQL का उपयोग करना बेहतर है। इसका कारण यह है कि T-SQL Microsoft से भी है, और दो का उपयोग करके संगतता को अधिकतम करता है। SQL उन लोगों द्वारा पसंद किया जाता है जिनके पास कई बैकएंड हैं।

संदर्भ , विकिपीडिया, ट्यूटोरियल अंक: www.differencebetween.com


4
IMO जो वर्तमान में सबसे अच्छा उत्तर है (हालाँकि, मनोज का उत्तर और ब्लॉग पोस्ट पढ़ने लायक भी है)।
साल्वेशन

1
पहले SQL सर्वर संस्करण बनाने के लिए जो डेटाबेस कोड खरीदा गया था उसके साथ Sybase से T-SQL नहीं खरीदा गया था? कम से कम टी-एसक्यूएल साइबेस पर भी काम करता है, इसलिए मुझे लगता है कि कुछ 'कॉमन कोड' है
फिल_डब्ल्यू

दरअसल, Microsoft और Sybase ने मिलकर OS2 के लिए SQL सर्वर विकसित किया था। इसलिए, दोनों कंपनियों ने मिलकर टी-एसक्यूएल के विकास पर काम किया। यही कारण है कि दोनों डेटाबेस टी-एसक्यूएल का उपयोग कर सकते हैं, हालांकि टी-एसक्यूएल के दो वेरिएंट के बीच महत्वपूर्ण अंतर हैं।
एलियन

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

SPL (Stored Procedure Lang) होना चाहिए, PL बहुत सामान्य है (यानी, C)।
samis

32

1. SQL या स्ट्रक्चर्ड क्वेरी लैंग्वेज को उनके उत्पाद "सिस्टम R" के लिए IBM द्वारा विकसित किया गया था।

बाद में एएनएसआई ने इसे एक मानक के रूप में बनाया, जिस पर सभी क्वेरी भाषाएं आधारित हैं और इसे अपना डेटाबेस क्वेरी भाषा सूट बनाने के लिए बढ़ाया है। पहला मानक SQL-86 और नवीनतम SQL था: 2011

2. T-SQL या Transact-SQL, Sybase द्वारा विकसित किया गया था और बाद में Microsoft SQL सर्वर द्वारा सह-स्वामित्व में था ।

3. पीएल / एसक्यूएल या प्रक्रियात्मक भाषा / एसक्यूएल ओरेकल डेटाबेस था , जिसे उस समय "रिलेशन सॉफ्टवेयर" के रूप में जाना जाता था।

मैंने अपने ब्लॉग पोस्ट में यह दस्तावेज दिया है ।


2
यह उत्तर स्वीकृत उत्तर की तुलना में अधिक गहन है, और ब्लॉग पोस्ट एक महान पढ़ा है।
साल्वेशन

7

संरचित क्वेरी भाषा - SQL: एक एएनएसआई-मानक है जो दुनिया भर के लगभग सभी SGBD विक्रेताओं द्वारा उपयोग किया जाता है। मूल रूप से, एसक्यूएल एक भाषा है जिसका उपयोग डेटा को परिभाषित करने और हेरफेर करने के लिए किया जाता है [डीडीएल और डीएमएल]।

PL / SQL ओरेकल ब्रह्मांड द्वारा बनाई गई एक भाषा है। पीएल / एसक्यूएल प्रोग्रामिंग प्रक्रियात्मक निर्देशों को जोड़ती है और उन कार्यक्रमों के निर्माण की अनुमति देती है जो सीधे डेटाबेस परिदृश्य पर संचालित होते हैं।

टी-एसक्यूएल Microsoft उत्पाद है जो कुछ विशिष्टताओं के साथ SQL पैटर्न संरेखित करता है। इसलिए, अपनी सीमाओं का परीक्षण करने के लिए स्वतंत्र महसूस करें।


1

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

Microsoft डेटा के साथ बातचीत करने के लिए SQL मानक को लागू करने के लिए T-SQL का उपयोग करता है जबकि oracle PL / SQL का उपयोग करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.