SQL सर्वर में, आप किसी क्वेरी को दृश्य के रूप में सहेज सकते हैं। दृश्य सुरक्षा, उपयोगिता और सुविधा सहित कई कारणों से फायदेमंद होते हैं।
SQL सर्वर में, एक दृश्य एक वर्चुअल टेबल है जिसकी सामग्री को एक क्वेरी द्वारा परिभाषित किया जाता है। यह मूल रूप से एक पूर्व-लिखित क्वेरी है जो डेटाबेस पर संग्रहीत होती है।
एक दृश्य में SELECT
होता है कथन, और जब आप दृश्य के विरुद्ध कोई क्वेरी चलाते हैं, तो आप इसके परिणाम वैसे ही देखते हैं जैसे आप तालिका खोलते समय देखते हैं। दृश्यों को वर्चुअल टेबल के रूप में संदर्भित किया जाता है क्योंकि वे कई तालिकाओं के साथ-साथ कुल डेटा से डेटा खींच सकते हैं, और इसे एक ही तालिका के रूप में प्रस्तुत कर सकते हैं।
दृश्यों के लाभ
एक दृश्य तब उपयोगी हो सकता है जब एक्सेस के विभिन्न स्तरों वाले कई उपयोगकर्ता हों, जिन्हें सभी को डेटाबेस में डेटा के हिस्से देखने की आवश्यकता होती है (लेकिन जरूरी नहीं कि सभी डेटा)। दृश्य निम्न कार्य कर सकते हैं:
- तालिका में विशिष्ट पंक्तियों तक पहुंच प्रतिबंधित करें
- तालिका में विशिष्ट कॉलम तक पहुंच प्रतिबंधित करें
- कई तालिकाओं के स्तंभों को मिलाएं और उन्हें ऐसे प्रस्तुत करें जैसे वे एक ही तालिका का हिस्सा हों
- समग्र जानकारी प्रस्तुत करें (जैसे
COUNT()
. के परिणाम समारोह)
एक दृश्य कैसे बनाएं
एक दृश्य बनाने के लिए, CREATE VIEW
का उपयोग करें स्टेटमेंट, उसके बाद SELECT
बयान।
CREATE VIEW ViewName AS SELECT ...
यही सब है इसके लिए। जब आप उस कथन को चलाते हैं, तो दृश्य डेटाबेस में सहेजा जाता है
उदाहरण
यहां एक दृश्य बनाने और फिर उस दृश्य से डेटा का चयन करने का एक उदाहरण दिया गया है।
-
दृश्य बनाएं
इस पूरे ट्यूटोरियल में हमारे द्वारा बनाए गए संगीत डेटाबेस के विरुद्ध निम्नलिखित कथन चलाएँ।
यह उदाहरण RockAlbums नामक एक दृश्य बनाता है। यह उन सभी एल्बमों का चयन करता है जिन्हें "रॉक" की शैली सौंपी गई है।
CREATE VIEW RockAlbums AS SELECT AlbumName, ArtistName FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
दृश्य देखें
दृश्यों का विस्तार करें अपने नए बनाए गए दृश्य को देखने के लिए लागू डेटाबेस के तहत नोड। आप इसकी परिभाषा में शामिल स्तंभों को देखने के लिए दृश्य के नोड्स का विस्तार भी कर सकते हैं।
-
दृश्य चलाएं
अब जब दृश्य बन गया है, तो आप इसे
SELECT
. का उपयोग करके चला सकते हैं बयान। आप सब कुछ चुन सकते हैं, या आप विशिष्ट कॉलम का चयन कर सकते हैं, परिणामों कोWHERE
. के साथ और अधिक सीमित कर सकते हैं खंड, आदि।SELECT * FROM RockAlbums;
दृश्य बदलें
आप ALTER VIEW
. के साथ अपने विचार को संशोधित कर सकते हैं बयान।
आप केवल नई दृश्य परिभाषा प्रदान करते हैं जिसका आप उपयोग करना चाहते हैं। तो यह लगभग CREATE VIEW
. के साथ एक नया दृश्य बनाने जैसा है स्टेटमेंट को छोड़कर यह किसी मौजूदा को ALTER VIEW
. के साथ बदल रहा है बयान।
यहाँ एक उदाहरण है।
-
दृश्य बदलें
निम्नलिखित कथन चलाएँ। यह दृश्य के चयन में एक नया कॉलम जोड़ता है (
ReleaseDate
कॉलम)।ALTER VIEW RockAlbums AS SELECT AlbumName, ArtistName, ReleaseDate FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
दृश्य चलाएं
अब जबकि हमने
ReleaseDate
. जोड़ दिया है स्तंभ को देखने के लिए, हम इसका उपयोग अपने SQL प्रश्नों में दृश्य के विरुद्ध कर सकते हैं।उदाहरण के लिए, हम उन सभी एल्बमों का चयन कर सकते हैं जहां रिलीज की तारीख एक निश्चित तारीख के बाद है।
SELECT * FROM RockAlbums WHERE ReleaseDate > '1985-01-01';