PostgreSQL उदाहरण के साथ दृश्य बनाएं

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

PostgreSQL व्यूज़ एक संग्रहीत SELECT क्वेरी से निर्मित छद्म-टेबल होते हैं, जो आपको जटिल या अक्सर उपयोग की जाने वाली क्वेरी को एक ही नाम के पीछे लपेटने की अनुमति देते हैं जिसे आप एक सामान्य टेबल की तरह पढ़, अपडेट या हटा सकते हैं।

  • छद्म-तालिका: एक व्यू क्वेरी को स्टोर करता है, डेटा को नहीं, फिर भी आप इसे टेबल की तरह SELECT करते हैं।
  • सर्जन करना: CREATE VIEW एक SELECT क्वेरी को नाम देता है, यहां तक ​​कि कई बेस टेबल में भी, ताकि इसे आसानी से दोबारा इस्तेमाल किया जा सके।
  • ♻️ बदलने के: CREATE OR REPLACE VIEW कमांड ड्रॉपआउट के बिना व्यू को बदल देता है।ping यह।
  • ड्रॉप: DROP VIEW एक व्यू को हटाता है, और IF EXISTS त्रुटि से बचाता है।
  • 🤖 एआई सहायता: एआई सहायक व्यू परिभाषाएँ उत्पन्न करते हैं और यह सुझाव देते हैं कि किन प्रश्नों को रैप करना है।

PostgreSQL दृश्य बनाएँ

एचएमबी क्या है? PostgreSQL देखना?

In PostgreSQL, एक दृश्य एक छद्म तालिका है। इसका मतलब है कि एक दृश्य एक वास्तविक तालिका नहीं है। हालाँकि, हम इसे एक साधारण तालिका के रूप में चुन सकते हैं। एक दृश्य में सभी या कुछ तालिका स्तंभ हो सकते हैं। एक दृश्य एक से अधिक तालिकाओं का प्रतिनिधित्व भी कर सकता है।

इन तालिकाओं को बेस टेबल कहा जाता है। व्यू बनाते समय, आपको बस एक क्वेरी बनानी होती है और फिर उसे एक नाम देना होता है, जिससे यह रैपिंग के लिए एक उपयोगी टूल बन जाता है।ping जटिल और आमतौर पर उपयोग किए जाने वाले प्रश्न।

बनाना PostgreSQL दृश्य

बनाने के लिए PostgreSQL दृश्य बनाने के लिए, हम CREATE VIEW कथन का उपयोग करते हैं। इस कथन का सिंटैक्स इस प्रकार है:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

यदि दृश्य पहले से मौजूद है, तो OR REPLACE पैरामीटर उसे प्रतिस्थापित कर देगा। यदि छोड़ा गया है और दृश्य पहले से मौजूद है, तो एक त्रुटि लौटाई जाएगी।

दृश्य-नाम पैरामीटर उस दृश्य का नाम है जिसे आपको बनाना है।

WHERE शर्तें वैकल्पिक हैं, और किसी भी रिकॉर्ड को व्यू में जोड़ने के लिए उन्हें पूरा किया जाना आवश्यक है।

नीचे दी गई मूल्य तालिका पर विचार करें:

मूल्य:

बनाना PostgreSQL दृश्य

आइये उपरोक्त तालिका से एक दृश्य बनाएं:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

उपरोक्त आदेश निम्न के आधार पर एक दृश्य बनाएगा: चयन कथन. केवल वे रिकॉर्ड जिनमें कीमत 200 से अधिक है, दृश्य में जोड़े जाएँगे। दृश्य को Price_View नाम दिया गया है। आइए इसकी सामग्री देखने के लिए इसे क्वेरी करें:

SELECT *
FROM Price_View;

यह निम्नलिखित लौटाता है:

बनाना PostgreSQL दृश्य

यद्यपि आधार तालिका में 4 रिकॉर्ड हैं, फिर भी दृश्य में केवल 2 ही जोड़े गए।

यहां, हम व्यू में केवल एक कॉलम जोड़ सकते हैं। आइए एक ऐसा व्यू बनाएं जिसमें प्राइस टेबल का केवल एक कॉलम शामिल हो:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

दृश्य को Price_View2 नाम दिया गया है और इसमें केवल मूल्य तालिका का मूल्य स्तंभ शामिल है। आइए दृश्य की सामग्री देखने के लिए क्वेरी करें:

SELECT *
FROM Price_View2;

यह निम्नलिखित लौटाता है:

बनाना PostgreSQL दृश्य

बदलना PostgreSQL दृश्य

किसी दृश्य की परिभाषा को उसे हटाए बिना बदला जा सकता है। यह CREATE OR REPLACE VIEW कथन का उपयोग करके किया जाता है।

आइये Price_View2 नामक दृश्य को अद्यतन करके इसे प्रदर्शित करें।

मूल्य_दृश्य2:

बदलना PostgreSQL दृश्य

पुस्तक तालिका इस प्रकार है:

किताब:

बदलना PostgreSQL दृश्य

मूल्य तालिका इस प्रकार है:

मूल्य:

बदलना PostgreSQL दृश्य

निम्नलिखित क्वेरी हमें Price_View2 दृश्य को अद्यतन करने में सहायता करेगी:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

आइए अब दृश्य की सामग्री देखने के लिए उस पर क्वेरी करें:

बदलना PostgreSQL दृश्य

दृश्य बदल दिया गया है, और अब हमारे पास दो अलग-अलग तालिकाओं से दो कॉलम हैं। यह JOIN कथन का उपयोग करके प्राप्त किया गया है।

हटाया जा रहा है PostgreSQL दृश्य

जब भी आपको कोई फ़ाइल हटाने की आवश्यकता हो PostgreSQL यदि आप DROP VIEW स्टेटमेंट का उपयोग करना चाहते हैं, तो आप इसे हटा सकते हैं। स्टेटमेंट का सिंटैक्स इस प्रकार है:

DROP VIEW [IF EXISTS] view-name;

पैरामीटर view-name उस दृश्य का नाम है जिसे हटाया जाना है।

इस वाक्य संरचना में, IF EXISTS वैकल्पिक है। यदि आप इसे निर्दिष्ट नहीं करते हैं और किसी ऐसे व्यू को हटाने का प्रयास करते हैं जो मौजूद नहीं है, तो आपको त्रुटि मिलेगी।

उदाहरण के लिए, Price_View2 नामक दृश्य को हटाने के लिए, हम निम्नलिखित कथन चला सकते हैं:

DROP VIEW Price_View2;

दृश्य हटा दिया जाएगा.

pgAdmin का उपयोग करना

अब आइए देखते हैं कि pgAdmin का उपयोग करके इन कार्यों को कैसे निष्पादित किया जा सकता है।

बनाना PostgreSQL दृश्य

pgAdmin के माध्यम से ऐसा करने के लिए, यह करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

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

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 5) दृश्य की सामग्री देखने के लिए, निम्न कार्य करें:

  • क्वेरी संपादक में निम्नलिखित कमांड टाइप करें:
SELECT *
FROM Price_View;
  • निष्पादित करें बटन पर क्लिक करें.

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

इससे निम्नलिखित परिणाम प्राप्त होंगे:

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

Price_View2 दृश्य बनाने के लिए, निम्नलिखित करें:

चरण 1) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

चरण 2) निष्पादित करें बटन पर क्लिक करें.

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 3) दृश्य की सामग्री देखने के लिए, निम्नलिखित करें:

  • क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:
SELECT *
FROM Price_View2;
  • निष्पादित करें बटन पर क्लिक करें.

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

इससे निम्नलिखित परिणाम प्राप्त होंगे:

बनाना PostgreSQL pgAdmin का उपयोग करके देखे गए

बदलना PostgreSQL दृश्य

pgAdmin के माध्यम से ऐसा करने के लिए, यह करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

बदलना PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

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

बदलना PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 5) क्वेरी संपादक में निम्नलिखित क्वेरी टाइप करें:

SELECT *
FROM Price_View2;

इससे निम्नलिखित परिणाम प्राप्त होंगे:

बदलना PostgreSQL pgAdmin का उपयोग करके देखे गए

हटाया जा रहा है PostgreSQL दृश्य

pgAdmin के माध्यम से ऐसा करने के लिए, यह करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2)

  • बाईं ओर स्थित नेविगेशन बार से डेटाबेस पर क्लिक करें।
  • डेमो पर क्लिक करें.

हटाया जा रहा है PostgreSQL pgAdmin का उपयोग करके देखे गए

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

DROP VIEW Price_View2;

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

हटाया जा रहा है PostgreSQL pgAdmin का उपयोग करके देखे गए

दृश्य हटा दिया जाएगा.

इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें

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

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

मैटेरियलाइज्ड व्यू क्वेरी के परिणाम को डिस्क पर कैश करता है। यह प्लेन व्यू की तुलना में तेजी से पढ़ता है, लेकिन नया डेटा दिखाने के लिए REFRESH MATERIALIZED VIEW कमांड की आवश्यकता होती है।

एक स्टैंडर्ड व्यू हर बार अपनी क्वेरी चलाता है और लाइव डेटा दिखाता है। मैटेरियलाइज्ड व्यू स्पीड के लिए परिणामों को डिस्क पर स्टोर करता है, लेकिन रिफ्रेश होने तक वे पुराने हो सकते हैं।

कभी-कभी। बिना एग्रीगेशन वाला एक साधारण सिंगल-टेबल व्यू अपने आप अपडेट हो जाता है, इसलिए INSERT, UPDATE और DELETE सीधे काम करते हैं। जटिल व्यू के लिए INSTEAD OF ट्रिगर की आवश्यकता होती है।

कैटलॉग से क्वेरी करें: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. pgAdmin में, आप स्कीमा के अंतर्गत Views नोड का विस्तार कर सकते हैं।

एआई सहायक एक साधारण भाषा के अनुरोध को CREATE VIEW स्टेटमेंट में बदल देते हैं, व्यू का नाम देते हैं, और सही WHERE और JOIN क्लॉज़ जोड़ते हैं, जिससे उन क्वेरीज़ की गति बढ़ जाती है जिनका आप अक्सर पुन: उपयोग करते हैं।

जी हां। एक लंबा SELECT स्टेटमेंट पेस्ट करें और एक AI सहायक उसे CREATE OR REPLACE VIEW में बदल देगा, एक नाम सुझाएगा और डुप्लिकेट नामों से बचने के लिए उपनामों की आवश्यकता वाले कॉलम को चिह्नित करेगा।

सामान्य व्यू क्वेरी की गति नहीं बढ़ाता क्योंकि इसका SELECT फ़ंक्शन हर बार चलता है। तेज़ और बार-बार पढ़ने के लिए, मैटेरियलाइज़्ड व्यू का उपयोग करें, जो परिणामों को डिस्क पर तब तक संग्रहीत करता है जब तक कि उसे रीफ़्रेश नहीं किया जाता।

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