SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) एक विशेष प्रोग्रामिंग भाषा है जिसे रिलेशनल डेटाबेस के प्रबंधन और डेटा पर विभिन्न संचालन करने के लिए मानकीकृत किया गया है। SQL के विभिन्न उपयोगों में डेटाबेस टेबल और इंडेक्स संरचनाओं को संशोधित करना; डेटा की पंक्तियों को जोड़ना, अद्यतन करना और हटाना; और लेनदेन प्रसंस्करण और विश्लेषण अनुप्रयोगों के लिए डेटाबेस से जानकारी के विभिन्न सबसेट को पुनर्प्राप्त करना शामिल है। विशेष क्वेरी और संचालन हैं जो कमांड के रूप में काम करते हैं और आमतौर पर SQL स्टेटमेंट के रूप में जाने जाते हैं जैसे select, add, insert, update, delete, create, alter और truncate।
SQL 1970 के दशक के अंत और 1980 के दशक की शुरुआत में रिलेशनल डेटाबेस के उभरने के बाद रिलेशनल डेटाबेस के लिए मानक प्रोग्रामिंग भाषा बन गया। आमतौर पर SQL डेटाबेस के रूप में जाना जाता है, रिलेशनल सिस्टम में टेबल का एक सेट होता है जिसमें डेटा पंक्तियों और कॉलम के रूप में होता है, जहां एक टेबल में प्रत्येक कॉलम डेटा की एक श्रेणी से मेल खाता है, उदाहरण के लिए, ग्राहक नाम या पता और प्रत्येक पंक्ति इंटरसेक्टिंग कॉलम के लिए एक डेटा मान रखती है।
SQL रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) में रखे गए डेटा के लिए प्रोग्रामिंग और डिजाइनिंग के लिए एक डोमेन-विशिष्ट भाषा भी है। यह संरचित डेटा को संभालने में विशेष रूप से उपयोगी है जहां डेटा की विभिन्न एंटिटी/चर के बीच संबंध होते हैं।
SQL मूल रूप से रिलेशनल बीजगणित और ट्यूपल रिलेशनल कैलकुलस पर आधारित है, SQL में कई प्रकार के स्टेटमेंट होते हैं, जिन्हें आमतौर पर डेटा क्वेरी लैंग्वेज (DQL), डेटा डेफिनिशन लैंग्वेज (DDL), डेटा कंट्रोल लैंग्वेज (DCL), और डेटा मैनिपुलेशन लैंग्वेज (DML) के रूप में जाना जाता है। SQL का दायरा डेटा क्वेरी, डेटा मैनिपुलेशन (इंसर्ट, अपडेट, डिलीट), डेटा डेफिनिशन (स्कीमा निर्माण और संशोधन), और डेटा एक्सेस कंट्रोल शामिल है। इसके अलावा, SQL को एक घोषणात्मक भाषा (4GL) के रूप में वर्णित किया गया है, क्योंकि इसमें प्रक्रियात्मक तत्व भी शामिल हैं।
SQL के अनुप्रयोग
- 1. डेटा इंटीग्रेशन स्क्रिप्ट: डेटाबेस एडमिनिस्ट्रेटर और डेवलपर्स द्वारा डेटा इंटीग्रेशन स्क्रिप्ट लिखने का मुख्य अनुप्रयोग।
- 2. विश्लेषणात्मक क्वेरी: डेटा विश्लेषक नियमित आधार पर विश्लेषणात्मक क्वेरी सेट करने और चलाने के लिए स्ट्रक्चर्ड क्वेरी लैंग्वेज का उपयोग करते हैं।
- 3. जानकारी पुनर्प्राप्त करें: इस भाषा का एक अन्य लोकप्रिय अनुप्रयोग एनालिटिक्स एप्लिकेशन और ट्रांजैक्शन प्रोसेसिंग के लिए डेटाबेस के भीतर सूचना के सबसेट को पुनर्प्राप्त करना है। सबसे अधिक उपयोग किए जाने वाले SQL एलिमेंट हैं select, insert, update, add, delete, create, truncate, alter।
- 4. अन्य महत्वपूर्ण अनुप्रयोग: SQL का उपयोग इंडेक्स संरचनाओं और डेटाबेस टेबल के संशोधन के लिए किया जाता है। इसके अलावा, उपयोगकर्ता इस भाषा का उपयोग करके डेटा की पंक्तियों को जोड़, अद्यतन और हटा सकते हैं।
SQL मानक और मालिकाना एक्सटेंशन
1986 में अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट (ANSI) द्वारा एक आधिकारिक SQL मानक अपनाया गया और फिर 1987 में इंटरनेशनल ऑर्गनाइजेशन फॉर स्टैंडर्डाइज़ेशन (ISO) द्वारा। SQL का नियमित रूप से डेटाबेस एडमिनिस्ट्रेटर, डेटा इंटीग्रेशन स्क्रिप्ट लिखने वाले डेवलपर्स और विश्लेषणात्मक क्वेरी सेट अप और चलाने वाले डेटा विश्लेषकों द्वारा उपयोग किया जाता है।
SQL के आसपास बने मालिकाना और ओपन-सोर्स दोनों रिलेशनल डेटाबेस मैनेजमेंट सिस्टम संगठनों द्वारा उपयोग के लिए उपलब्ध हैं। इनमें Microsoft SQL Server, Oracle Database, IBM DB2, SAP HANA, SAP Adaptive Server, MySQL (अब Oracle के स्वामित्व में) और PostgreSQL शामिल हैं।
हालांकि, इनमें से कई डेटाबेस उत्पाद प्रक्रियात्मक प्रोग्रामिंग और अन्य कार्यों के लिए मानक भाषा के मालिकाना एक्सटेंशन के साथ SQL का समर्थन करते हैं। उदाहरण के लिए, Microsoft ट्रांजैक्ट-SQL (T-SQL) नामक एक्सटेंशन का एक सेट प्रदान करता है, जबकि Oracle का विस्तारित संस्करण PL/SQL है। परिणामस्वरूप, विक्रेताओं द्वारा पेश किए गए SQL के विभिन्न वेरिएंट एक-दूसरे के साथ पूरी तरह से संगत नहीं हैं।
SQL कमांड और सिंटैक्स
SQL कमांड कई अलग-अलग प्रकारों में विभाजित हैं, जैसे डेटा मैनिपुलेशन लैंग्वेज (DML) और डेटा डेफिनिशन लैंग्वेज (DDL) स्टेटमेंट, ट्रांजैक्शन कंट्रोल, और सुरक्षा उपाय।
- DML का उपयोग डेटा को पुनर्प्राप्त करने और मैनिपुलेट करने के लिए किया जाता है।
- DDL स्टेटमेंट डेटाबेस संरचनाओं को परिभाषित और संशोधित करने के लिए हैं।
- ट्रांजैक्शन कंट्रोल ट्रांजैक्शन प्रोसेसिंग को प्रबंधित करने में मदद करते हैं, यह सुनिश्चित करते हुए कि ट्रांजैक्शन या तो पूरे होते हैं या त्रुटियों या समस्याओं के मामले में रोल बैक होते हैं।
- सुरक्षा स्टेटमेंट का उपयोग डेटाबेस एक्सेस को नियंत्रित करने के साथ-साथ यूज़र रोल और अनुमतियां बनाने के लिए किया जाता है।
इंटरऑपरेबिलिटी और मानकीकरण
SQL कार्यान्वयन विक्रेताओं के बीच असंगत हैं और सभी मानकों का पालन नहीं करते हैं। विशेष रूप से दिनांक और समय सिंटैक्स, स्ट्रिंग कंकेटनेशन, NULL, और तुलना केस संवेदनशीलता विक्रेता से विक्रेता में भिन्न होती है। परिणामस्वरूप, संशोधनों के बिना डेटाबेस सिस्टम के बीच SQL कोड को शायद ही कभी पोर्ट किया जा सकता है।
SQL के लाभ
- SQL क्वेरी का उपयोग डेटाबेस से बड़ी मात्रा में रिकॉर्ड को जल्दी और कुशलता से पुनर्प्राप्त करने के लिए किया जा सकता है।
- SQL का उपयोग ऑब्जेक्ट में डेटा संग्रहीत किए बिना डेटा देखने के लिए किया जाता है।
- SQL दो या अधिक टेबल को जोड़ता है और इसे उपयोगकर्ता को एक ऑब्जेक्ट के रूप में दिखाता है।
- SQL डेटाबेस लंबे समय से स्थापित मानक का उपयोग करते हैं, जिसे ANSI और ISO द्वारा अपनाया जा रहा है। गैर-SQL डेटाबेस किसी भी स्पष्ट मानक का पालन नहीं करते।
- मानक SQL का उपयोग करके डेटाबेस सिस्टम को प्रबंधित करना आसान है बिना बड़ी मात्रा में कोड लिखे।
- SQL टेबल की पहुंच को प्रतिबंधित करता है ताकि कोई भी टेबल में पंक्तियों को सम्मिलित न कर सके।
SQL के नुकसान
- SQL डेटाबेस के साथ इंटरफेस करना कोड की कुछ लाइनें जोड़ने से अधिक जटिल है।
- जब टेबल ड्रॉप हो जाती है तो व्यू निष्क्रिय हो जाता है। यह टेबल ऑब्जेक्ट पर निर्भर करता है।
- हालांकि SQL डेटाबेस ANSI और ISO मानकों के अनुरूप हैं, कुछ डेटाबेस विक्रेता लॉक-इन सुनिश्चित करने के लिए मानक SQL के मालिकाना एक्सटेंशन के लिए जाते हैं।
- यह एक ऑब्जेक्ट है इसलिए यह जगह घेरता है।