मुख्य सामग्री पर जाएँ

SQL में व्यू (वर्चुअल टेबल)

इस ट्यूटोरियल में, आप जानेंगे कि व्यू क्या होते हैं, उनके उपलब्ध प्रकार, और उनका उपयोग करने के फायदे व नुकसान।
· 6 मि॰ पढ़ें

AI के साथ खोजें

डेटाबेस प्रशासक और डेटाबेस उपयोगकर्ता दो चुनौतियों का सामना करते हैं: जटिल SQL क्वेरी लिखना और डेटाबेस एक्सेस को सुरक्षित करना। कभी-कभी एक ही क्वेरी में एकाधिक जोइन, सबक्वेरी और GROUP BY के उपयोग से SQL क्वेरी अधिक जटिल हो जाती हैं।

ऐसी क्वेरी को सरल बनाने के लिए, आप मूल टेबल पर कोई प्रॉक्सी इस्तेमाल कर सकते हैं। साथ ही, कभी‑कभी सुरक्षा के दृष्टिकोण से डेटाबेस प्रशासक सीधे डेटाबेस एक्सेस को सीमित करना चाहते हैं। उदाहरण के लिए, यदि किसी टेबल में कई कॉलम हैं, पर उपयोगकर्ता को केवल तीन कॉलम के डेटा की आवश्यकता है, तो DBA तीन कॉलम की एक वर्चुअल टेबल बनाएगा। दोनों उद्देश्यों के लिए आप व्यू का उपयोग कर सकते हैं। व्यू प्रॉक्सी या वर्चुअल टेबल की तरह काम कर सकते हैं। व्यू SQL क्वेरी की जटिलता कम करते हैं और आधारभूत टेबलों तक सुरक्षित एक्सेस प्रदान करते हैं।

व्यू क्या है?

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

SQL में व्यू (वर्चुअल टेबल)

व्यू डेटा डिक्शनरी में संग्रहीत एक क्वेरी है, जिस पर उपयोगकर्ता वैसे ही क्वेरी चला सकता है जैसे वे टेबल पर चलाते हैं। यह भौतिक मेमोरी का उपयोग नहीं करता, केवल क्वेरी डेटा डिक्शनरी में संग्रहीत रहती है। जब भी उपयोगकर्ता इस पर कोई क्वेरी चलाता है, इसे डायनेमिक रूप से कंप्यूट किया जाता है। व्यू में किसी भी बिंदु पर किए गए परिवर्तन वास्तविक बेस टेबल में परिलक्षित होते हैं।

व्यू के दो मुख्य उद्देश्य होते हैं:

  • जटिल SQL क्वेरी को सरल बनाना।
  • संवेदनशील डेटा तक उपयोगकर्ताओं की पहुँच को प्रतिबंधित करना।
SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

व्यू के प्रकार

  • सिंपल व्यू: केवल एक ही टेबल पर आधारित व्यू, जिसमें GROUP BY क्लॉज़ और कोई फ़ंक्शन शामिल नहीं होता।
  • कॉम्प्लेक्स व्यू: एकाधिक टेबल पर आधारित व्यू, जिसमें GROUP BY क्लॉज़ और फ़ंक्शन शामिल होते हैं।

  • इनलाइन व्यू: FROM क्लॉज़ में सबक्वेरी पर आधारित व्यू, जो एक अस्थायी टेबल बनाता है और जटिल क्वेरी को सरल बनाता है।

  • मैटेरियलाइज़्ड व्यू: ऐसा व्यू जो परिभाषा के साथ‑साथ डेटा भी संग्रहीत करता है। यह डेटा को भौतिक रूप से स्टोर करके उसकी प्रतिकृतियाँ बनाता है।

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

सिंपल व्यू

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

कॉम्प्लेक्स व्यू

SQL में व्यू (वर्चुअल टेबल)
SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

इनलाइन व्यू

इनलाइन व्यू किसी दूसरे SELECT स्टेटमेंट के FROM क्लॉज़ में लिखा गया SELECT स्टेटमेंट होता है, जिससे एक अस्थायी टेबल बनती है जिसे उसी SELECT स्टेटमेंट द्वारा संदर्भित किया जा सकता है। इनलाइन व्यू का उपयोग जोइन और सबक्वेरी ऑपरेशन के बिना जटिल SQL क्वेरी लिखने के लिए किया जाता है। इसे अस्थायी टेबल इसलिए कहा जाता है क्योंकि स्टोर्ड सबक्वेरी द्वारा लौटाए गए डेटा की डुप्लिकेट कॉपी डेटाबेस में स्टोर नहीं होती। Oracle और Postgres समुदाय में इस अस्थायी टेबल को इनलाइन व्यू कहा जाता है। इसे सबसेलेक्ट भी कहा जाता है।

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

मैटेरियलाइज़्ड व्यू

मैटेरियलाइज़्ड व्यू प्राप्त किए गए डेटा की भौतिक रूप से प्रतिकृति बनाता है। इस प्रतिकृत डेटा का उपयोग व्यू को फिर से चलाए बिना किया जा सकता है। इस प्रकार के व्यू को "SNAPSHOTS" भी कहा जाता है। मैटेरियलाइज़्ड व्यू पूरे डेटा को पुनः जनरेट करने के प्रोसेसिंग समय को कम करता है। यह रिमोट उपयोगकर्ताओं को स्थानीय रूप से डेटा प्रतिकृति बनाने और क्वेरी प्रदर्शन में सुधार करने में मदद करता है। चुनौती यह है कि मैटेरियलाइज़्ड व्यू के आधारभूत टेबलों में हुए परिवर्तनों को कैसे सिंक्रोनाइज़ किया जाए।

SQL में मैटेरियलाइज़्ड व्यू (वर्चुअल टेबल)
SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

व्यू और मैटेरियलाइज़्ड व्यू के बीच तुलना

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

SQL में व्यू बनाना और हटाना

व्यू को CREATE VIEW और REPLACE VIEW का उपयोग करके बनाया और बदला जा सकता है।

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

DROP VIEW कमांड का उपयोग करके व्यू को हटाया जा सकता है।

SQL ट्यूटोरियल में व्यू (वर्चुअल टेबल)

व्यू के फायदे और नुकसान

व्यू का उपयोग वास्तविक डेटा के एक सबसेट के रूप में कुछ संचालन करने के लिए किया जा सकता है। यह विभिन्न उपयोगकर्ताओं के लिए अमूर्तन प्रदान करने या उन उपयोगकर्ताओं के लिए जटिलता छिपाने में मदद करता है जो टेबल से डेटा एक्सेस कर रहे हैं। उदाहरण के लिए, किसी उपयोगकर्ता को पूरी टेबल के बजाय केवल कुछ विशिष्ट कॉलम के डेटा तक पहुँच की अनुमति हो सकती है। यह जटिल क्वेरी को सरल क्वेरी में बदलने में मदद कर सकता है। यह कई जोइन की गई टेबल से डेटा एक्सेस को भी सरल बनाता है। इसे group by ऑपरेशन का उपयोग करके एग्रीगेटेड टेबल के रूप में इस्तेमाल किया जा सकता है। व्यू का उपयोग सुरक्षा उद्देश्यों के लिए किया जा सकता है या सुरक्षा के दृष्टिकोण से अतिरिक्त मूल्य जोड़ सकता है। यह कोई स्थान नहीं घेरता क्योंकि इसमें केवल डेटा डिक्शनरी में परिभाषा होती है, वास्तविक डेटा की कॉपी नहीं।

कई फायदों के अलावा, व्यू में कुछ नुकसान भी होते हैं, जैसे बेस टेबल संरचना पर निर्भरता, कंप्यूटेशन समय, और प्रतिबंध। व्यू टेबल संरचना पर निर्भर होते हैं। यदि आप टेबल संरचना बदलते हैं, तो आपको उससे संबंधित व्यू की परिभाषा भी बदलनी पड़ेगी।

निष्कर्ष

बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!

इस ट्यूटोरियल में, आपने व्यू के बारे में कई विवरण कवर किए। आपने सीखा कि व्यू क्या हैं, व्यू के प्रकार, सिंपल व्यू, कॉम्प्लेक्स व्यू, इनलाइन व्यू, मैटेरियलाइज़्ड व्यू, व्यू बनाने और हटाने का सिंटैक्स, और व्यू के फायदे‑नुकसान।

अब अपने स्वयं के डेटासेट का विश्लेषण करने के लिए व्यू की अवधारणा का उपयोग करें। इस ट्यूटोरियल को पढ़ने के लिए धन्यवाद!

यदि आप SQL के बारे में और सीखना चाहते हैं, तो हमारा Introduction to Relational Databases in SQL कोर्स करें।

विषय