Views in DBMS: वे लोग जो कि किसी Database Schema को Develop करने के लिए जिम्मेदार होते हैं, या वे लोग जो अन्य सामान्य Users के लिए Application Programs Develop करते हैं, वे सामान्यतया Database Schema व Database की Base Tables के साथ Directly काम कर सकते हैं। लेकिन जो End Users होते हैं, उन्हें Application Programs या Database Schema के बारे में पूरी जानकारी नहीं होती है, इसलिए सामान्यतया इन्हें Database की Base Tables को Directly Use करने से रोका जाता है।
चूंकि End User को कभी भी Database Schema व Application Program के बारे में पूरी जानकारी नहीं होती है, इसलिए यदि वे Database की Base Tables के साथ Directly काम करते हैं, तो हो सकता है कि वे अपने Database की Tables में Stored Data को गलती से Corrupt कर दें। इसलिए Data की सुरक्षा के लिए End Users को Database की Base Tables के साथ Directly काम करने का अधिकार Database Developer द्वारा नहीं होता है।
इसलिए Relational Data Model एक एसा तरीका Provide करता है, जिसमें हर User को Database में उसका स्वयं का एक Window मिलता है और हर End User उसी Window में अपना काम करता है। ये Window Database Design की सभी Details को User के लिए Hide कर देता है, जिससे एक End User कभी भी Database की Base Tables को Direct Access नहीं कर पाता है और Database का Data End User की गलती से Damage होने से हमेंशा बचा रहता है।
View भी एक तरह का Table ही होता है, लेकिन ये Data के साथ Database में Store नहीं होता है। बल्कि ये एक नाम के साथ Data Dictionary में Store होता है। इसमें हमेंशा कोई Database Query होती है, जिसके आधार पर कोई View Database से अपना Data Retrieve करता है। एक View में एक से ज्यादा Tables, Rows व Columns के Data हो सकते हैं।
हालांकि एक View को किसी भी Database Query के आधार पर Create किया जा सकता है, लेकिन कई Views को केवल Data Display करने के लिए ही Create किया जाता है। किसी भी Database के Data को Modify करने के लिए Views को Create नहीं किया जाता है।
Views को इस तरीके से Store करने का सबसे बडा फायदा ये है कि जब भी User किसी Data Manipulation Language (SQL Statement) में View का नाम Include करता है, तब DBMS उस View Name से Associated Query को Execute करता है और View के Table को फिर से Recreate करता है। इसका मतलब ये है कि View में हमेंशा Current Data ही होता है।
एक View Table Main Memory में तभी तक उपलब्ध रहता है, जब तक कोई Data Manipulation Language (SQL Statement) Execute होता है। जैसे ही User दूसरा SQL Statement Use करके दूसरी Query Create करता है, पिछली Query की View Table, Main Memory से Remove हो जाती है और Generate होने वाला नया Result View में Stored उस पिछली Query के Result को Replace कर देता है। इसलिए एक View Table हमेंशा एक Virtual Table होती है।
कुछ DBMS ये सुविधा देते हैं कि View Table के Contents को Base Table की तरह Store किया जा सकता है। लेकिन किसी View Table को Base Table बनाने का कोई विशेष औचित्य नहीं होता है, क्योकि एसे DBMS Softwares में भी किसी View Table से Create की गई Base Table को उस स्थिति में Automatically Update करने की सुविधा नहीं होती है, जब उस Table में Change किया जाता है, जिसके आधार पर View Table को बनाया गया था।
यानी यदि किसी Table X से एक View Table Y को Create किया जाता है और इस View Table को Base Table के रूप में Database में Store कर लिया जाता है और उसके बाद Table X में कोई परिवर्तन किया जाता है, तो इस View Table Y से Create होने वाली Base Table Y में कोई Automatic Updation नहीं होता है। इसलिए जैसे ही हम Base Table X में कोई परिवर्तन करते हैं, Base Table Y के Data हमारे Database के लिए Out Of Date हो जाते हैं, जिनका हमारे Database के लिए कोई Meaning नहीं रह जाता है।
अब एक सवाल दिमाग में आ सकता है कि जब Data को Store करने के लिए एक Base Table Create किया ही जाता है, तो Views को Use करने की क्या जरूरत है। तो Views को Use करने के तीन अच्छे कारण हैं:
- जैसाकि पहले बताया गया कि Views का प्रयोग करने से Data की Security का Feature प्राप्त होता है, क्योंकि Views का प्रयोग करके End User कभी भी Database के Schema के साथ किसी प्रकार की कोई प्रक्रिया नहीं कर सकता है।
- Views उन लोगों के लिए Database का Design समझना सरल बना देता है, जो किसी Database Schema के आधार पर Application Programs Develop करते हैं।
- चूंकि Views एक ऐसी Query होती हैं, जिनका एक नाम होता है, इसलिए इनका प्रयोग ऐसी Complex Queries को Store करने के लिए किया जा सकता है, जिन्हें बार-बार Use करना होता है। फिर उन Complex Queries को Use करने के लिए हमें केवल उस View के नाम को ही Use करना होता है।
Relational Database के अन्य Structural Elements की तरह ही Views को भी किसी भी समय Create व Destroy किया जा सकता है। चूंकि Views में किसी प्रकार का Stored Data नहीं होता है, बल्कि किसी ऐसी Query का Specification होता है, जिसके आधार पर Virtual Table Create होती है, इसलिए Views को Add करने या Delete करने पर इसका Database की Base Tables व Tables में Stored Data पर कोई प्रभाव नहीं पडता है।
किसी View को Remove करने पर केवल तभी समस्या पैदा हो सकती है, जब उस View को किसी Application Program में Use किया गया हो और Program को इस प्रकार से Modify ना किया गया हो कि वह उस View के बिना भी किसी अन्य View या Base Table के आधार पर ठीक तरीके से काम कर सके। (Views in DBMS)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF