SQL व्यू कॉन्सेप्ट रिकॉर्ड की कठिनाई को छिपाने में मदद करता है और डेटाबेस तक पहुंच की सीमाएं प्रदान करता है।
SQL दृश्य SQL तालिकाओं के समान है। SQL टेबल्स में, हम संपूर्ण डेटा को पंक्तियों और स्तंभों में संग्रहीत करते हैं। उसी तरह, SQL व्यू का उपयोग रिकॉर्ड को पंक्तियों और स्तंभों में संग्रहीत करने के लिए भी किया जाता है, लेकिन केवल वही डेटा जो उपयोगकर्ता चाहता है, अनावश्यक डेटा नहीं।
SQL व्यू एक वर्चुअल टेबल है। SQL व्यू संपूर्ण तालिका डेटा के बजाय केवल विशिष्ट कॉलम रिकॉर्ड तक पहुँचने की अनुमति देता है।
CREATE VIEW कीवर्ड का उपयोग करके हम एक या अधिक तालिकाओं का चयन करके आसानी से एक दृश्य बना सकते हैं। हम दृश्य को अपडेट और डिलीट भी कर सकते हैं।
इस पूरे लेख में, हम व्यू की अवधारणा को समझेंगे कि कैसे एक दृश्य बनाया जाए, एक दृश्य को कैसे हटाया जाए और एक दृश्य को कैसे अपडेट किया जाए।
1 SQL व्यू बनाएं:-
SQL में, हम CREATE VIEW कीवर्ड का उपयोग करके आसानी से एक व्यू बना सकते हैं। हम सिंगल टेबल और मल्टीपल टेबल के लिए व्यू बना सकते हैं।
दृश्य बनाने के लिए वाक्य रचना (एकल तालिका)
CREATE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;
उपरोक्त सिंटैक्स एकल तालिका से दृश्य बनाने के लिए है। उपरोक्त सिंटैक्स में, VIEW_NAME SQL में एक दृश्य बनाने के लिए दृश्य का नाम है। Table_name तालिका का नाम है जहां से हम विशिष्ट रिकॉर्ड का चयन करेंगे, जहां SQL क्वेरी में क्लॉज वैकल्पिक है।
दृश्य बनाने के लिए वाक्य रचना (एकाधिक तालिका)
CREATE VIEW VIEW_NAME AS SELECT T1.COLUMN_NAME, T1.COLUMN_NAME2, T2.COLUMN_NAME1, T2.COLUMN_NAME2 FROM T1, T2 WHERE CONDITION;
उपरोक्त सिंटैक्स कई तालिकाओं से एक दृश्य बनाने के लिए है। उपरोक्त सिंटैक्स में, VIEW_NAME SQL में एक दृश्य बनाने के लिए दृश्य का नाम है। T1, T2 उन तालिकाओं का नाम है जहां से हम विशिष्ट रिकॉर्ड का चयन करेंगे, जहां SQL क्वेरी में क्लॉज वैकल्पिक है।
दिए गए अभिलेखों के साथ निम्नलिखित तालिकाओं पर विचार करें।
तालिका 1:Emp
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल | 1 |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण | 4 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
तालिका 2:प्रबंधक।
प्रबंधक | manager_name | प्रबंधक_विभाग |
1 | स्नेहदीप कौर | ओरेकल |
2 | कीर्ति कीर्तन | FMW |
3 | अभिषेक मनीष | जावा |
4 | अनुपम मिश्रा | परीक्षण |
एक ही टेबल से व्यू बनाने के उदाहरण।
उदाहरण 1:कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन तालिका से वेतन के साथ एक दृश्य बनाने के लिए एक प्रश्न लिखें।
CREATE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY FROM EMP;
उपरोक्त क्वेरी में, हमने कर्मचारी आईडी के साथ एक दृश्य नाम EMPLOYEE_VIEW बनाया, पहला नाम और अंतिम नाम नाम, वेतन के रूप में एम्प टेबल से जोड़ दिया।
जब भी हम तालिका में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं; उसी तरह हम देखने के लिए करेंगे, तालिका के नाम के बजाय, हम दृश्य नाम का उपयोग करेंगे।
SELECT * FROM EMPLOYEE_VIEW;
उदाहरण 2:प्रबंधक तालिका से प्रबंधक आईडी, प्रबंधक नाम और विभाग के साथ एक दृश्य बनाने के लिए एक प्रश्न लिखें।
CREATE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER;
उपरोक्त क्वेरी में, हमने प्रबंधक तालिका से प्रबंधक आईडी, प्रबंधक नाम और विभाग के साथ एक दृश्य नाम MANAGER_VIEW बनाया है।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM MANAGER_VIEW;
उदाहरण 3:कर्मचारी आईडी, प्रथम नाम, उपनाम, वेतन, उन कर्मचारियों का शहर जिनका वेतन 54000 से अधिक है और शहर में पुणे और मुंबई शामिल हैं, के साथ एक दृश्य बनाने के लिए एक प्रश्न लिखें।
CREATE VIEW EMPLOYEE_VIEW1 AS SELECT EMPLOYEEID, CONCAT (FIRST_NAME, CONCAT (“ ”, LAST_NAME)) AS NAME, SALARY, CITY FROM EMP WHERE SALARY > 54000 AND CITY IN (‘PUNE’, ‘MUMBAI’);
उपरोक्त प्रश्न में, हमने कर्मचारी आईडी के साथ एक दृश्य नाम EMPLOYEE_VIEW1 बनाया, पहले नाम और अंतिम नाम को नाम, वेतन, उन कर्मचारियों के शहर के रूप में संयोजित करें जिनका वेतन 54000 से अधिक है और हमने शहर के साथ और ऑपरेटर का उपयोग किया है जिसमें पुणे और मुंबई शामिल हैं। ।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM EMPLOYEE_VIEW1;
उदाहरण 4:प्रबंधक आईडी, प्रबंधक नाम और उन प्रबंधकों के विभाग के साथ एक दृश्य बनाने के लिए एक प्रश्न लिखें जिनका विभाग प्रबंधक तालिका से 'ओरेकल' और 'जावा' है।
CREATE VIEW MANAGER_VIEW1 AS SELECT MANAGERID, MANAGER_NAME, MANAGER_DEPARTMENT FROM MANAGER; WHERE MANAGER_DEPARTMENT IN (‘ORACLE’, ‘JAVA’);
उपरोक्त क्वेरी में, हमने प्रबंधक आईडी, प्रबंधक नाम और उन प्रबंधकों के विभाग के साथ एक दृश्य नाम MANAGER_VIEW बनाया, जिनका विभाग 'Oracle' है, और प्रबंधक तालिका से 'Java' है।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM MANAGER_VIEW1;
क्रिएट व्यू के उपरोक्त सभी उदाहरण सिंगल टेबल से हैं। CREATE VIEW का अगला उदाहरण एकाधिक तालिकाओं से है।
दिए गए अभिलेखों के साथ निम्नलिखित तालिकाओं पर विचार करें।
तालिका 1:Emp
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65000 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | ओरेकल | 1 |
1003 | निखिल | वाणी | 50000 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | परीक्षण | 4 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | कहां | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
तालिका 2:प्रबंधक।
प्रबंधक | manager_name | प्रबंधक_विभाग |
1 | स्नेहदीप कौर | ओरेकल |
2 | कीर्ति कीर्तन | FMW |
3 | अभिषेक मनीष | जावा |
4 | अनुपम मिश्रा | परीक्षण |
उदाहरण 1:एम्प टेबल और मैनेजर टेबल से कर्मचारी आईडी, नाम, शहर, प्रबंधक आईडी और प्रबंधक नाम के साथ दृश्य बनाने के लिए एक प्रश्न लिखें।
CREATE VIEW EMP_MAN_VIEW AS SELECT EMP.EMPLOYEEID, CONCAT(EMP.FIRST_NAME, CONCAT(“ ”, EMP.LAST_NAME)) AS NAME, CITY, MANAGER.MANAGERID, MANAGER.MANAGER_NAME FROM EMP, MANAGER WHERE EMP.MANAGERID = MANAGER.MANAGERID;
उपरोक्त क्वेरी में, हमने Emp तालिका और प्रबंधक तालिका से कर्मचारी आईडी, नाम, शहर, प्रबंधक आईडी और प्रबंधक नाम के साथ एक दृश्य बनाया।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM EMP_MAN_VIEW;
2 SQL व्यू अपडेट करें:-
अद्यतन विवरण SQL में मौजूदा तालिका और मौजूदा दृश्य को संशोधित करता है। हम SQL में मौजूदा दृश्य में नया डेटा भी सम्मिलित कर सकते हैं। SQL में, एक दृश्य केवल तभी संशोधित होता है जब नीचे दी गई शर्तें पूरी होती हैं। यदि दी गई शर्तों में से एक को पूरा नहीं किया जाता है, तो हम दृश्य को संशोधित करने में सक्षम नहीं होंगे।
- चयन कथन में DISTINCT कीवर्ड का उपयोग नहीं किया जाना चाहिए।
- दृश्य में सभी NOT NULL मान नहीं होने चाहिए।
- सेलेक्ट स्टेटमेंट में व्यू बनाते समय ऑर्डर बाय क्लॉज और ग्रुप बाय क्लॉज का इस्तेमाल नहीं करना चाहिए।
- यदि निर्मित दृश्य में एकल तालिका के स्तंभ हैं, तो हमें दृश्य को संशोधित करने की अनुमति है। यानी, देखने में कई तालिकाओं के उपयोग की अनुमति नहीं है।
- दृश्य किसी सबक्वायरी का उपयोग करके नहीं बनाया जाना चाहिए या जटिल क्वेरीज़ को शामिल नहीं करना चाहिए
- दृश्य में कोई भी SQL समग्र कार्य शामिल हैं; हमें मौजूदा दृश्य को संशोधित करने की अनुमति नहीं है।
क्रिएट या रिप्लेस व्यू स्टेटमेंट का इस्तेमाल नए फील्ड जोड़ने या फील्ड को व्यू से ड्रॉप करने के लिए किया जाता है।
सिंटैक्स:
CREATE OR REPLACE VIEW VIEW_NAME AS SELECT COLUMN_NAME1, COLUMN_NAME2 FROM TABLE_NAME WHERE CONDITION;
उदाहरण 1:कर्मचारी_व्यू को अपडेट करने के लिए एक प्रश्न लिखें और एम्प टेबल से प्रबंधक आईडी कॉलम को दृश्य में जोड़ें।
CREATE OR REPLACE VIEW EMPLOYEE_VIEW AS SELECT EMPLOYEEID, CONCAT(FIRST_NAME,CONCAT(" ", LAST_NAME)) AS NAME, SALARY, MANAGERID FROM EMP WHERE DEPARTMENT IN ('ORACLE', 'FMW');
उपरोक्त क्वेरी मौजूदा कर्मचारी_दृश्य को संशोधित करती है और दिए गए चयन क्वेरी के आधार पर रिकॉर्ड को संशोधित करती है।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM EMPLOYEE_VIEW;
उदाहरण 2:Manager_View को अपडेट करने के लिए एक प्रश्न लिखें।
CREATE OR REPLACE VIEW MANAGER_VIEW AS SELECT MANAGERID, MANAGER_NAME FROM MANAGER WHERE MANAGER_NAME LIKE ‘A%’;
उपरोक्त क्वेरी मौजूदा कर्मचारी_दृश्य को संशोधित करती है और दिए गए चयन क्वेरी के आधार पर रिकॉर्ड को संशोधित करती है।
जब भी हम टेबल में रिकॉर्ड्स को देखना चाहते हैं, तो हम SELECT * FROM क्वेरी का उपयोग करते हैं। हम दृश्य नाम का उपयोग करेंगे। इसी तरह, हम टेबल नाम के बजाय देखने के लिए करेंगे।
SELECT * FROM MANAGER_VIEW;
मौजूदा दृश्य में नया रिकॉर्ड सम्मिलित करना
हम तालिका में नए रिकॉर्ड सम्मिलित करते हैं। इसी तरह, हम इसे व्यू में भी डाल सकते हैं।
सिंटैक्स
INSERT INTO VIEW_NAME VALUES(VALUE1, VALUE2);
उदाहरण:Manager_view में एक नया रिकॉर्ड डालने के लिए एक क्वेरी लिखें।
INSERT INTO MANAGER_VIEW VALUES (5, ‘Akash Kadam’);
जैसे ही हम Manager_View में नए रिकॉर्ड डालते हैं। यह जांचने के लिए कि नया डेटा डाला गया है या नहीं, हम SELECT क्वेरी का उपयोग करेंगे:
SELECT * FROM MANAGER_VIEW;
3 ड्रॉप व्यू:-
हम टेबल छोड़ते हैं। इसी तरह, हम व्यू ड्रॉप भी कर सकते हैं।
सिंटैक्स:
DROP VIEW VIEW_NAME;
उदाहरण:EMP_MAN_VIEW छोड़ने के लिए एक प्रश्न लिखें।
DROP VIEW EMP_MAN_VIEW;
यदि हम यह जांचना चाहते हैं कि कोई दृश्य हटाया गया है या नहीं, तो हम SHOW TABLES क्वेरी का उपयोग करेंगे।
SHOW TABLES;
देखें नाम EMP_MAN_VIEW डेटाबेस में नहीं है, जिसका अर्थ है कि हम दृश्य को सफलतापूर्वक छोड़ देते हैं।