MySQL व्यू: टेबल से व्यू कैसे बनाएं

⚡ स्मार्ट सारांश

MySQL व्यूज़ वर्चुअल टेबल होते हैं जिनमें स्वयं कोई डेटा संग्रहीत नहीं होता है, बल्कि ये संग्रहीत SELECT क्वेरी का परिणाम प्रस्तुत करते हैं। यह संसाधन myflixdb डेटाबेस से चलने योग्य उदाहरणों के साथ व्यूज़ बनाने, क्वेरी करने, जॉइन करने और हटाने का तरीका बताता है।

  • 🧱 मूल परिभाषा: व्यू एक नामित SELECT स्टेटमेंट है जो एक टेबल की तरह व्यवहार करता है लेकिन उसमें कोई डेटा नहीं होता है।
  • 🔐 सुरक्षा लाभ: व्यू केवल अधिकृत कॉलम को ही प्रदर्शित करते हैं और संवेदनशील फ़ील्ड को उपयोगकर्ताओं से छिपाकर रखते हैं।
  • ♻️ पुन: प्रयोज्यता का लाभ: एक जटिल मल्टी-टेबल JOIN को एक बार लिखा जाता है और एक सिंगल-लाइन SELECT के रूप में पुन: उपयोग किया जाता है।
  • ️ निर्माण सिंटैक्स: CREATE VIEW `view_name` AS SELECT स्टेटमेंट डेटाबेस के अंदर व्यू को परिभाषित करता है।
  • ️ लाइफसाइकिल कमांड: SHOW CREATE VIEW संग्रहीत क्वेरी को प्रकट करता है, और DROP VIEW आधार तालिकाओं को छुए बिना इसे हटा देता है।

MySQL दृश्य

दृश्य क्या हैं? MySQL?

दृश्य वर्चुअल टेबल हैं जो अपना कोई डेटा स्टोर नहीं करते हैं, लेकिन अन्य टेबल में संग्रहीत डेटा प्रदर्शित करते हैं। दूसरे शब्दों में, VIEWS कुछ और नहीं बल्कि SQL क्वेरीज़ हैं। एक दृश्य में टेबल की सभी या कुछ पंक्तियाँ हो सकती हैं। MySQL दृश्य एक तालिका या कई तालिकाओं से डेटा दिखा सकता है।

MySQL दृश्य वाक्यविन्यास

आइए अब एक दृश्य बनाने के लिए उपयोग किए जाने वाले बुनियादी सिंटैक्स को देखें MySQL.

CREATE VIEW `view_name` AS SELECT statement;

कहां

  • “दृश्य `view_name` बनाएं” बताता है MySQL सर्वर को डेटाबेस में `view_name` नामक एक दृश्य ऑब्जेक्ट बनाने के लिए
  • “AS SELECT कथन” SQL कथनों को पैक किया जाना है MySQL दृश्य. यह एक SELECT कथन हो सकता है जिसमें एक तालिका या एकाधिक तालिकाओं से डेटा हो सकता है।

दृश्यों का उपयोग क्यों करें?

किसी इमारत का निर्माण करने से पहले, यह जानना मददगार होता है कि उस दृश्य से वास्तव में आपको क्या लाभ मिलता है।

आप मुख्य रूप से निम्नलिखित 3 कारणों से दृश्यों का उपयोग करना चाह सकते हैं

  • अंततः, आप अपने एसक्यूएल डेटा संबंधी आवश्यकताओं के लिए डेटाबेस का उपयोग करने वाले एप्लिकेशन बनाने के लिए आवश्यक ज्ञान। यह अनुशंसा की जाती है कि आप अपने एप्लिकेशन में मूल तालिका संरचना के व्यू का उपयोग करें, न कि सीधे तालिकाओं का। इससे यह सुनिश्चित होता है कि जब आप अपने डेटाबेस को रिफैक्टर करते हैं, तो आपका पुराना कोड एप्लिकेशन को बाधित किए बिना व्यू के माध्यम से मूल स्कीमा देख सकेगा।
  • VIEWS पुनः प्रयोज्यता को बढ़ाता है। आपको बार-बार जॉइन से जुड़ी जटिल क्वेरी बनाने की ज़रूरत नहीं पड़ेगी। VIEWS का उपयोग करके सभी जटिलताएँ क्वेरी की एक पंक्ति में बदल जाती हैं। इस तरह के संक्षिप्त कोड को आपके एप्लिकेशन में एकीकृत करना आसान होगा। इससे टाइपो की संभावनाएँ समाप्त हो जाएँगी और आपका कोड अधिक पठनीय होगा।
  • VIEWS डेटा सुरक्षा में मदद करते हैं। आप व्यू का उपयोग करके उपयोगकर्ताओं को केवल अधिकृत जानकारी दिखा सकते हैं और क्रेडिट कार्ड नंबर जैसे संवेदनशील डेटा को छिपा सकते हैं।

में दृश्य कैसे बनाएं? MySQL

वाक्य संरचना और इसके लाभ स्पष्ट हो जाने के बाद, नीचे दिए गए चरणों का पालन करके एक कार्यशील दृश्य का निर्माण किया जा सकता है।

दृश्य बनाने की चरण दर चरण प्रक्रिया निम्नलिखित है MySQL:

चरण 1) “myflixdb” का उपयोग करके अपना पहला दृश्य बनाएं

आइए अब “myflixdb” का उपयोग करके अपना पहला दृश्य बनाएं, हम एक सरल दृश्य बनाएंगे जो सदस्य तालिका में देखे गए स्तंभों को प्रतिबंधित करता है।

मान लीजिए कि प्राधिकरण आवश्यकताओं के अनुसार लेखा विभाग केवल सदस्य की तालिका से सदस्य संख्या, नाम और लिंग ही देख सकता है। इसे प्राप्त करने के लिए आप एक VIEW बना सकते हैं।

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

चरण 2) दृश्य नोड का विस्तार करना

उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL myflixdb के विरुद्ध वर्कबेंच का उपयोग करने और डेटाबेस एक्सप्लोरर में दृश्य नोड का विस्तार करने से हमें निम्नलिखित परिणाम प्राप्त होते हैं।

इसमें दृश्य बनाएं MySQL

ध्यान दें कि accounts_v_members ऑब्जेक्ट अब डेटाबेस दृश्य ऑब्जेक्ट में दृश्यमान है।

चरण 3) SELECT कथन निष्पादित करें

चलिए अब एक कार्य निष्पादित करते हैं चयन कथन जो दृश्य से सभी फ़ील्ड का चयन करता है जैसा कि नीचे दिखाया गया है MySQL दृश्य उदाहरण बनाएँ.

SELECT * FROM `accounts_v_members`;

चरण 4) स्क्रिप्ट निष्पादित करें

उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL वर्कबेंच के विरुद्ध मायफ्लिक्सडीबी का परीक्षण करने पर हमें नीचे दिखाए गए परिणाम प्राप्त हुए।

membership_number full_names gender
1 Janet Jones Female
2 Janet Smith Jones Female
3 Robert Phil Male
4 Gloria Williams Female
5 Leonard Hofstadter Male
6 Sheldon Cooper Male
7 Rajesh Koothrappali Male
8 Leslie Winkle Male
9 Howard Wolowitz Male

लेखा विभाग के लिए केवल अधिकृत कॉलम ही दिखाए गए हैं। सदस्यों की तालिका में मौजूद अन्य विवरण छिपा दिए गए हैं।

यदि हम किसी विशेष दृश्य को बनाने वाले SQL कथनों को देखना चाहते हैं, तो हम ऐसा करने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।

SHOW CREATE VIEW `accounts_v_members`;

उपरोक्त स्क्रिप्ट को निष्पादित करने से आपको दृश्य का नाम और दृश्य बनाने के लिए प्रयुक्त SQL SELECT कथन प्राप्त होता है।

इसमें शामिल हों और देखें MySQL

सिंगल-टेबल व्यू सबसे सरल उदाहरण है। व्यू तब कहीं अधिक उपयोगी हो जाते हैं जब वे मल्टी-टेबल क्वेरी को रैप करते हैं।

आइए अब एक काफी जटिल उदाहरण देखें जिसमें कई तालिकाएँ और उपयोग शामिल हैं में मिलती है.

हम बनाए गए JOIN को पैकेज करेंगे जो तीन (3) तालिकाओं से जानकारी प्राप्त करता है, अर्थात् सदस्य, मूवी और मूवी रेंटल। नीचे वह स्क्रिप्ट दी गई है जो हमें इसे प्राप्त करने में मदद करती है।

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date`
FROM `movierentals` AS mr
INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number`
INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;

उपरोक्त स्क्रिप्ट को निष्पादित करने से हमारे myflixdb में general_v_movie_rentals नाम का दृश्य बनता है

आइए अब general_v_movie_rentals नामक तालिका से सभी फ़ील्ड का चयन करें।

SELECT * FROM `general_v_movie_rentals`;

उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL कार्यक्षेत्र myflixdb के विरुद्ध हमें नीचे दिखाए गए निम्नलिखित परिणाम मिलते हैं।

membership_number full_names title transaction_date return_date
1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012
1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X-Men 23-06-2012 28-06-2012

ध्यान दें कि हमें सदस्यों, मूवी और मूवी रेंटल विवरण के बारे में जानकारी प्राप्त करने के लिए जटिल JOIN क्वेरी लिखने की ज़रूरत नहीं थी। हमने बस किसी अन्य साधारण तालिका की तरह नियमित SELECT कथन में दृश्य का उपयोग किया। दृश्य को myflixdb के शीर्ष पर चल रहे एप्लिकेशन सिस्टम में कहीं से भी कॉल किया जा सकता है।

बूंदping इसमें देखे गए दृश्य MySQL

DROP कमांड का उपयोग किसी दृश्य को हटाने के लिए किया जा सकता है डेटाबेस जिसकी अब आवश्यकता नहीं है। किसी दृश्य को हटाने का मूल सिंटैक्स इस प्रकार है।

DROP VIEW `general_v_movie_rentals`;

बूंदping व्यू केवल संग्रहीत क्वेरी को हटाता है; अंतर्निहित टेबल और उनका डेटा अप्रभावित रहता है।

अक्सर पूछे जाने वाले प्रश्न

कभी-कभी। INSERT, UPDATE और DELETE फ़ंक्शन केवल उन सरल व्यू पर काम करते हैं जिनमें बेस टेबल के सभी NOT NULL कॉलम मौजूद हों। जॉइन या एग्रीगेट फ़ंक्शन पर आधारित व्यू अपडेट करने योग्य नहीं होते हैं।

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

नहीं। एक व्यू हर कॉल पर अपना अंतर्निहित SELECT चलाता है, इसलिए प्रदर्शन मूल क्वेरी के बराबर होता है। MySQL इसमें कोई मैटेरियलाइज्ड व्यू नहीं है, और गति अभी भी बेस-टेबल इंडेक्स पर निर्भर करती है।

हाँ। AI सहायकों का उपयोग उपकरणों में किया जाता है जैसे कि MySQL कार्यक्षेत्र विवरण के आधार पर CREATE VIEW स्टेटमेंट तैयार किया जा सकता है। इसे चलाने से पहले कॉलम सूची और जॉइन कीज़ की जाँच कर लें।

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: