What is SQL Views in Hindi - SQL Views क्या है?

  • SQL View एक virtual table है जो पहले से संग्रहित query के आधार पर एक या अधिक tables से Data को लेकर उसे प्रदर्शित करता है। 
  • यह स्वयं data को नहीं रखता परंतु वास्तविक table से latest data को दिखाता है। 
  • Views, जटिल क्वेरीज को सरल करने में मदद करता है कुछ निश्चित columns या rows के access को सीमित करके सुरक्षा को बेहतर बनाता है।  
  • ये reports और custom views के लिए उपयोगी है। 
  • Views का उपयोग ऐसे किया जा सकता है जैसे हम एक सामान्य table का उपयोग करते हैं। 
  • हम Views से SELECT statement का उपयोग करके data निकाल सकते हैं, ठीक वैसे ही जैसे किसी table से निकालते हैं। 
  • Views को हमेशा सीधे ही update नहीं किया जा सकता।


View बनाने का तरीका (CREATE VIEW)

SQL में `CREATE VIEW` statement का उपयोग करके एक SELECT query के आधार पर एक virtual table बनाया जाता है।

Syntax:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Example1:
मान लीजिए हमारे पास एक टेबल
`Employees` नाम से है और उसमें से हम उच्च सैलरी पाने वाले Employee के लिए View बनाना चाहते हैं तो हम निम्न प्रकार से कमांड देंगे


यह View, Employees के Names और Salaries के साथ उच्च सैलरी पाने वाले उन Employees के लिए View का निर्माण करेगा जिनकी Salary 40,000 से ज्यादा है।

यह Table के समान कार्य करता है परंतु यह स्वयं Data store नहीं करता

Example2
अब हम उन Employees के लिए View का निर्माण करना चाहते हैं जिनका Department 'Marketing'है।

CREATE VIEW MarketingDepartment AS
SELECT Name, Departments, Salary
FROM Employees
WHERE Departments = 'Marketing';


View को देखना करना ( View)

हम पहले से बने View को देखने के लिए Select command का प्रयोग करते हैं।

Example
मान लीजिए हमने HighSalaryEmployees नाम से View बनाया है और उसे देखना चाहते हैं तो उसे निम्न प्रकार से देख सकते है।



View को अपडेट करना (UPDATE View)

Update views का मतलब मुख्य टेबल के बजाए एक View का उपयोग करके data को बदलना है।

यह तभी काम करता है जब view सरल हो, जैसे केवल एक table का उपयोग हो और उसमें join न हो।

यदि update किया हुआ data view के condition से match नहीं खाता तब वह row, view में दिखाई नहीं देगा। 

यह बदलाव सीधे ही वास्तविक टेबल को प्रभावित करता है।

Example
हमारे पास HighSalaryEmployees नाम से view है जिसमे हम JAY की salary को 50,000 update करना चाहते हैं तो इसके लिए निम्न command देंगे।




View को हटाना (DROP VIEW)

DROP VIEW command का उपयोग डेटाबेस से एक view को delete करने के लिए किया जाता है। 

जब आप एक view को delete करते हैं तो यह view को हटा देता है, वास्तविक टेबल और डाटा सुरक्षित बना रहता है और हटाया नहीं जाता 

Example 
मान लीजिए हम HighSalaryEmployees नामक view को हटाना चाहते हैं तो इसके लिए निम्न command दे।


यह command HighSalaryEmployees नामक view को डेटाबेस से delete कर देता है।


Types of View in Hindi - View के प्रकार

View के निम्न प्रकार होते हैं।

Simple View

यह एक टेबल से बनाया जाता है। 
यह केवल चुने हुए columns को ही दिखाता है।

यह joins या group functions का उपयोग नहीं करता

Example 
मान लीजिए Employees table से Name और Salary column पर हम SimpleView बनाना चाहते हैं तो इसके लिए निम्न command दे।



Inline View

यह एक subquery है जिसका उपयोग SELECT के भीतर किया जाता है
इसे स्थाई रूप से संग्रहित नहीं किया जाता है।

यह अस्थाई परिणामों के लिए उपयोग किए जाते हैं।

Example
 
ऊपर का SQL query, उन Employees का name, department, और salary दिखाता है जो Sales department में कार्य करते हैं और जिसकी Salary 35,000 से ज्यादा है। 

यह सबसे पहले Sales employees को select करेगा उसके बाद उनकी salary को जो 35,000 से ज्यादा है उसे filters करेगा।


Read-only View

इस view, को update नहीं किया जा सकता। जब हम COUNT, GROUP BY आदि का उपयोग करते हैं तब इसका उपयोग किया जाता है।

यह reports और summaries के लिए बेहतर है।

Example

ऊपर का SQL statement ReadOnlyView नाम से एक view का निर्माण करेगा जो प्रत्येक department में employees की संख्या को प्रदर्शित करता है।

यह data पाने के लिए Employees table का उपयोग करता है। SELECT query, employees table से department को लेता है और count करता है कि प्रत्येक department में कितने employees हैं। 

GROUP BY, रिकॉर्ड्स को department के आधार पर समूहित करता है, इसलिए प्रत्येक department के लिए COUNT की गणना की जाती है।


Complex View

यह कई tables या joins का उपयोग करता है। 
यह functions जैसे SUM, AVG, आदि का भी उपयोग करता है।

इसका उपयोग बड़े queries को सरल करने के लिए किया जाता है।

Example 
CREATE VIEW ComplexView AS
SELECT e.name, s.total_salary
FROM Employees e
JOIN Salaries s ON e.eid = s.eid;

यह view Employees और Salaries टेबल को eid के आधार पर जोड़ता है और प्रत्येक कर्मचारी का नाम और उसकी सैलरी दिखाता है।


Materialized View 

यह एक टेबल के समान data स्टोर करता है। 
एस तेज है क्योंकि data को सुरक्षित किया जाता है।
अधिकतर Oracle या PostgreSQL मे उपयोग किया जाता है।

Example 
CREATE MATERIALIZED VIEW MatView AS  
SELECT name, salary FROM Employees  
WHERE department = 'IT';

Note: MATERIALIZED VIEW का निर्माण MySQL में नहीं होता


Views के लाभ - Advantages of Views in Hindi 

Views के निम्न फायदे हैं।
  • कठिन queries को समझने और उपयोग करने के लिए सरल बनाता है महत्वपूर्ण या गुप्त data को छुपाता है। 
  • एक ही code को कई बार उपयोग करने की सुविधा देता है। 
  • स्पष्ट तरीके से data को प्रदर्शित करता है।
  • Access को सीमित करके डाटा को सुरक्षित बनाए रखता है। 
  •  केवल आवश्यक data दिखाता है, सब कुछ नहीं
  • tables में बदलाव किए बिना डाटा को संगठित बनाए रखने में मदद करता है।


Views में सीमाएं (Limitations of Views in Hindi)

View के निम्न सीमाए या नुकसान है

  • कभी-कभी data को इतना सरल बना दिया जाता है की महत्वपूर्ण विवरण भी छूट जाता है। 
  • यदि pictures या charts, स्पष्ट नहीं है तो लोग confuse हो सकते हैं।
  • इसे उपयोगी बनाने के लिए अच्छी design skills की जरूरत होती है। 
  • जब बहुत सारे data होते हैं तो यहां धीमा हो सकता है। 
  • Views को बदलना कठिन या सीमित हो सकता है।
  • Live updates तभी अच्छे से कार्य करता है जब इंटरनेट तेज और स्थित होता है।
  • पुराने सॉफ्टवेयर के साथ अच्छे से कार्य नहीं करता।
  • बहुत सारे pictures उसे समझना कठिन बना देता है।
  • त्रुटियो या गलत data को छुपा देता है।