SQL (संरचित क्वेरी भाषा) एक विशेष प्रोग्रामिंग भाषा है जिसे रिलेशनल डेटाबेस के प्रबंधन और डेटा पर विभिन्न संचालन करने के लिए उपयोग करने के लिए मानकीकृत किया गया है। SQL के विभिन्न उपयोग हैं जिसमें डेटाबेस तालिका और अनुक्रमणिका संरचनाओं को संशोधित करना शामिल है; डेटा की पंक्तियों को जोड़ना, अद्यतन करना और हटाना; और लेनदेन प्रसंस्करण और विश्लेषिकी अनुप्रयोगों के लिए डेटाबेस से जानकारी के विभिन्न सबसेट पुनर्प्राप्त करना। ऐसे विशेष प्रश्न और संचालन हैं जो कमांड के रूप में संचालित होते हैं और आमतौर पर SQL स्टेटमेंट के रूप में जाने जाते हैं जैसे कि सेलेक्ट, ऐड, इंसर्ट, अपडेट, डिलीट, क्रिएट, चेंज और ट्रंकेट।
1970 के दशक के अंत और 1980 के दशक की शुरुआत में रिलेशनल डेटाबेस के लिए SQL मानक प्रोग्रामिंग भाषा बन गई। आमतौर पर SQL डेटाबेस के रूप में जाना जाता है, रिलेशनल सिस्टम में तालिकाओं का एक सेट होता है जिसमें पंक्तियों और स्तंभों के रूप में डेटा होता है, जहां तालिका में प्रत्येक कॉलम डेटा की श्रेणी से मेल खाता है, उदाहरण के लिए, ग्राहक का नाम या पता और प्रत्येक पंक्ति में डेटा मान होता है प्रतिच्छेद करने वाला स्तंभ।
SQL एक डोमेन-विशिष्ट भाषा भी है जिसका उपयोग रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) में रखे डेटा में प्रोग्रामिंग और डिजाइनिंग के लिए किया जाता है। यह संरचित डेटा को संभालने में विशेष रूप से उपयोगी है जहां डेटा की विभिन्न संस्थाओं/चर के बीच संबंध हैं।
SQL मूल रूप से रिलेशनल बीजगणित और टपल रिलेशनल कैलकुलस पर आधारित है, SQL में कई प्रकार के स्टेटमेंट होते हैं, जिन्हें आमतौर पर डेटा क्वेरी लैंग्वेज (DQL), डेटा डेफिनिशन लैंग्वेज (DDL), डेटा कंट्रोल लैंग्वेज (DCL) और डेटा के रूप में जाना जाता है। हेरफेर भाषा (डीएमएल)। SQL के दायरे में डेटा क्वेरी, डेटा हेरफेर (इन्सर्ट, अपडेट और डिलीट), डेटा डेफिनिशन (स्कीमा निर्माण और संशोधन), और डेटा एक्सेस कंट्रोल शामिल हैं। साथ ही, SQL को एक घोषणात्मक भाषा (4GL) के रूप में वर्णित किया गया है, क्योंकि इसमें प्रक्रियात्मक तत्व भी शामिल हैं।
एसक्यूएल के अनुप्रयोग
SQL के विभिन्न अनुप्रयोग हैं -
- 1. डेटा एकीकरण स्क्रिप्ट - SQL का मुख्य अनुप्रयोग डेटाबेस प्रशासकों और डेवलपर्स द्वारा डेटा एकीकरण स्क्रिप्ट लिखना है।
- 2. विश्लेषणात्मक प्रश्न - डेटा विश्लेषक नियमित आधार पर विश्लेषणात्मक प्रश्नों को सेट करने और चलाने के लिए संरचित क्वेरी भाषा का उपयोग करते हैं।
- 3. जानकारी प्राप्त करें - इस भाषा का एक अन्य लोकप्रिय अनुप्रयोग एनालिटिक्स अनुप्रयोगों और लेनदेन प्रसंस्करण के लिए डेटाबेस के भीतर जानकारी के सबसेट को पुनः प्राप्त करना है। सबसे अधिक उपयोग किए जाने वाले SQL तत्व चयन, सम्मिलित करें, अपडेट करें, जोड़ें, हटाएं, बनाएं, काटें और बदलें।
- 4. अन्य महत्वपूर्ण अनुप्रयोग - SQL का उपयोग अनुक्रमणिका संरचनाओं और डेटाबेस तालिका के संशोधन के लिए किया जाता है। इसके अतिरिक्त, उपयोगकर्ता इस भाषा का उपयोग करके डेटा की पंक्तियों को जोड़, अद्यतन और हटा सकते हैं।
SQL मानक और मालिकाना एक्सटेंशन
एक आधिकारिक SQL मानक को 1986 में अमेरिकी राष्ट्रीय मानक संस्थान (ANSI) द्वारा और फिर 1987 में अंतर्राष्ट्रीय मानकीकरण संगठन (ISO) द्वारा अपनाया गया था। SQL का उपयोग नियमित रूप से डेटाबेस प्रशासकों द्वारा, साथ ही डेटा एकीकरण स्क्रिप्ट और डेटा लिखने वाले डेवलपर्स द्वारा किया जाता है। विश्लेषक विश्लेषणात्मक प्रश्नों को सेट अप और चलाना चाहते हैं।
SQL के आसपास निर्मित स्वामित्व और मुक्त स्रोत संबंधपरक डेटाबेस प्रबंधन प्रणाली दोनों संगठनों द्वारा उपयोग के लिए उपलब्ध हैं। इनमें Microsoft SQL सर्वर, Oracle डेटाबेस, IBM DB2, SAP HANA, SAP अनुकूली सर्वर, MySQL (अब Oracle के स्वामित्व में) और PostgreSQL शामिल हैं।
हालाँकि, इनमें से कई डेटाबेस उत्पाद प्रक्रियात्मक प्रोग्रामिंग और अन्य कार्यों के लिए मानक भाषा में मालिकाना एक्सटेंशन के साथ SQL का समर्थन करते हैं। उदाहरण के लिए, माइक्रोसॉफ्ट ट्रांजैक्ट-एसक्यूएल (टी-एसक्यूएल) नामक एक्सटेंशन का एक सेट प्रदान करता है, जबकि ओरेकल का मानक का विस्तारित संस्करण पीएल/एसक्यूएल है। परिणामस्वरूप, विक्रेताओं द्वारा पेश किए गए SQL के विभिन्न प्रकार एक दूसरे के साथ पूरी तरह से संगत नहीं हैं।
एसक्यूएल कमांड और सिंटैक्स
SQL कमांड को कई अलग-अलग प्रकारों में विभाजित किया जाता है, जैसे डेटा मैनिपुलेशन लैंग्वेज (DML) और डेटा डेफिनिशन लैंग्वेज (DDL) स्टेटमेंट, ट्रांजेक्शन कंट्रोल और सुरक्षा उपाय।
- DML का उपयोग डेटा को पुनः प्राप्त करने और उसमें हेरफेर करने के लिए किया जाता है।
- डीडीएल स्टेटमेंट डेटाबेस संरचनाओं को परिभाषित और संशोधित करने के लिए हैं।
- लेन-देन नियंत्रण लेन-देन प्रसंस्करण को प्रबंधित करने में मदद करते हैं, यह सुनिश्चित करते हुए कि लेन-देन या तो पूरा हो गया है या त्रुटियों या समस्याओं के होने पर वापस ले लिया गया है।
- सुरक्षा बयानों का उपयोग डेटाबेस पहुंच को नियंत्रित करने के साथ-साथ उपयोगकर्ता भूमिकाएं और अनुमतियां बनाने के लिए किया जाता है
SQL भाषा को -
. सहित कई भाषा तत्वों में विभाजित किया गया है- क्लॉज, जो कथनों और प्रश्नों के घटक घटक हैं।
- अभिव्यक्तियाँ, जिसमें या तो अदिश मान हो सकते हैं, या डेटा की पंक्तियों और स्तंभों वाली तालिकाएँ हो सकती हैं
- भविष्यवाणी करता है उन शर्तों को निर्दिष्ट करने के लिए उपयोग किया जाता है जिनका मूल्यांकन SQL तीन-मूल्यवान तर्क (3VL) (सत्य/गलत/अज्ञात) या बूलियन सत्य मान (सत्य/गलत) के लिए किया जा सकता है और जिनका उपयोग कथनों और प्रश्नों के प्रभावों को सीमित करने या प्रोग्राम प्रवाह को बदलने के लिए किया जाता है। ।
- प्रश्न विशिष्ट मानदंडों के आधार पर डेटा पुनर्प्राप्त करने के लिए उपयोग किया जाता है।
- बयान, जो स्कीमा और डेटा पर लगातार प्रभाव डाल सकता है, या लेनदेन, कार्यक्रम प्रवाह, कनेक्शन, सत्र या निदान को नियंत्रित कर सकता है।
- SQL कथनों में अर्धविराम (";") कथन . भी शामिल है टर्मिनेटर।
- महत्वहीन व्हाइटस्पेस आमतौर पर SQL कथनों और प्रश्नों में अनदेखा कर दिया जाता है, जिससे पठनीयता के लिए SQL कोड को प्रारूपित करना आसान हो जाता है।
इंटरऑपरेबिलिटी और मानकीकरण
SQL कार्यान्वयन विक्रेताओं के बीच असंगत हैं और सभी मानकों का पालन नहीं करते हैं। विशेष रूप से दिनांक और समय सिंटैक्स में, स्ट्रिंग कॉन्सटेनेशन, एनयूएलएल, और तुलना केस संवेदनशीलता विक्रेता से विक्रेता में भिन्न होती है। परिणामस्वरूप, SQL कोड को बिना किसी संशोधन के डेटाबेस सिस्टम के बीच शायद ही कभी पोर्ट किया जा सकता है।
डेटाबेस सिस्टम के बीच पोर्टेबिलिटी समस्याओं के कई कारण हैं -
- एसक्यूएल मानक की जटिलता और आकार का मतलब है कि अधिकांश कार्यान्वयनकर्ता पूरे मानक का समर्थन नहीं करते हैं।
- मानक कई महत्वपूर्ण क्षेत्रों (जैसे अनुक्रमणिका, फ़ाइल संग्रहण...) में डेटाबेस व्यवहार को निर्दिष्ट नहीं करता है, कार्यान्वयन को यह तय करने के लिए छोड़ देता है कि कैसे व्यवहार करना है।
- एसक्यूएल मानक सटीक रूप से उस सिंटैक्स को निर्दिष्ट करता है जिसे एक अनुरूप डेटाबेस सिस्टम को लागू करना चाहिए। हालांकि, भाषा निर्माण के शब्दार्थ के मानक विनिर्देश कम अच्छी तरह से परिभाषित हैं, जिससे अस्पष्टता होती है।
- कई डेटाबेस विक्रेताओं के पास बड़े मौजूदा ग्राहक आधार हैं; जहां SQL मानक का नया संस्करण विक्रेता के डेटाबेस के पूर्व व्यवहार के साथ विरोध करता है, विक्रेता पश्चगामी संगतता को तोड़ने के लिए तैयार नहीं हो सकता है।
- उपयोगकर्ताओं के लिए डेटाबेस आपूर्तिकर्ताओं को बदलना आसान बनाने के लिए विक्रेताओं के लिए थोड़ा व्यावसायिक प्रोत्साहन है (विक्रेता लॉक-इन देखें)।
- डेटाबेस सॉफ़्टवेयर का मूल्यांकन करने वाले उपयोगकर्ता मानक अनुरूपता की तुलना में अपनी प्राथमिकताओं में प्रदर्शन जैसे अन्य कारकों को अधिक रखते हैं।
एसक्यूएल के लाभ
- SQL क्वेरीज़ का उपयोग किसी डेटाबेस से बड़ी मात्रा में रिकॉर्ड को जल्दी और कुशलता से पुनर्प्राप्त करने के लिए किया जा सकता है।
- एसक्यूएल का उपयोग डेटा को ऑब्जेक्ट में संग्रहीत किए बिना डेटा देखने के लिए किया जाता है।
- SQL दो या दो से अधिक तालिकाओं को जोड़ता है और इसे उपयोगकर्ता को एक वस्तु के रूप में दिखाता है।
- SQL डेटाबेस लंबे समय से स्थापित मानक का उपयोग करते हैं, जिसे ANSI & आईएसओ। गैर-एसक्यूएल डेटाबेस किसी भी स्पष्ट मानक का पालन नहीं करते हैं।
- मानक SQL का उपयोग करके पर्याप्त मात्रा में कोड लिखे बिना डेटाबेस सिस्टम को प्रबंधित करना आसान है।
- SQL तालिका की पहुंच को प्रतिबंधित करता है ताकि कोई भी तालिका में पंक्तियों को सम्मिलित न कर सके।
- पहले SQL डेटाबेस एक रिलेशनल डेटाबेस का पर्याय थे। ऑब्जेक्ट ओरिएंटेड डीबीएमएस के उद्भव के साथ, ऑब्जेक्ट स्टोरेज क्षमताओं को रिलेशनल डेटाबेस तक बढ़ा दिया गया है।
एसक्यूएल के नुकसान
- कोड की कुछ पंक्तियों को जोड़ने की तुलना में SQL डेटाबेस को इंटरफ़ेस करना अधिक जटिल है।
- तालिका गिराए जाने पर दृश्य निष्क्रिय हो जाता है। यह टेबल ऑब्जेक्ट्स पर निर्भर करता है।
- यद्यपि SQL डेटाबेस ANSI & आईएसओ मानक, कुछ डेटाबेस वेंडर लॉक-इन सुनिश्चित करने के लिए मानक एसक्यूएल के मालिकाना एक्सटेंशन के लिए जाते हैं।
- यह एक वस्तु है इसलिए यह स्थान घेरती है।