What is Relational Database: Oracle के Structure को हम दो भागों में बांट कर देख सकते हैं। पहला भाग Oracle का Simple रूप है जबकि दूसरा भाग Oracle का Advance रूप है। यहां हम Oracle के Simple रूप को समझने की कोशिश करेंगे, जिसमें हम File-Based System, Client/Server Architecture व Multi-User Architecture व Network Computer Architecture (NCA) के बारे में जानकारी प्राप्त करेंगे।
विभिन्न प्रकार के Architectures के बीच के अन्तर को समझना इसलिए जरूरी है ताकि हम हमारे Application व Database की जरूरत के आधार पर इन में से किसी Architecture को Choose कर सकें या एक Architecture से दूसरे Architecture पर Switch कर सकें।
File-Based Systems
Relational Database का सबसे सरल रूप File-Based System होता है। उदाहरण के लिए Microsoft Company का Microsoft Access एक File-Based Relational Database Management System है। Access में .mdb Extension के नाम की एक File होती है। इसी File में Database से सम्बंधित विभिन्न प्रकार के अन्य सभी Database Elements जैसे कि Tables, Queries व Forms होते हैं। ये File किसी User के स्वयं के Computer अथवा किसी Network पर स्थित हो सकती है।
हालांकि हम सामान्यतया इस File के Data को Display करने के लिए Access के Form या Query Elements का प्रयोग करते हैं, इसके अलावा हम Visual Basic जैसे किसी Software का प्रयोग करके भी MS-Access के इस File-Based Database को Access कर सकते हैं। जब हम Data को Store करने के लिए Back-End के रूप में किसी File-Based System जैसे कि MS-Access का प्रयोग करते हैं, तब हर Front-End Application जैसे कि Visual Basic जैसे Client को इस बात के लिए सावधान रहना होता है कि इस File-Based System से Data को किस प्रकार से Read करना है या इसमें Data को किस प्रकार से Write करना है साथ ही एक ही समय में एक से ज्यादा Users समान Database के Data को बिना किसी परेशानी के Use कर सकें, इसके लिए हमें Application में Locking Mechanism के लिए भी परिभाषित करना पडता है।
जब हम Back-End के रूप में Microsoft Access को तथा Front-End के रूप में Visual-Basic जैसे किसी Application Developer को Use करना चाहते हैं, तब Front-End के लिए MS-Access के Database को Access करने के लिए हमें JET Engine का प्रयोग करना पडता है। यदि हम JET के अलावा किसी अन्य तरीके से MS-Access के Database को Access करने की कोशिश करते हैं, तो हमारा Database Corrupt हो सकता है।
चलिए, पहले Locking Mechanism को समझते हैं। जब MS-Access जैसा कोई Database किसी Network पर स्थित होता है और उसे एक से ज्यादा Users Access करते हैं, तब किसी समय उस Database की किसी एक ही Table के Data को एक से ज्यादा Users Access करने के लिए Request कर सकते हैं।
इस स्थिति में यदि दोनों ही Users एक साथ किसी Table के Data को Access करते हैं, तो Table के Data के Corrupt होने की सम्भावना रहती है। इसलिए एक एसे तरीके का प्रयोग किया जाता है, जिसमें यदि कोई एक User किसी Network पर स्थित Database के किसी Element को Access कर रहा होता है, तो उस Element को तब तक कोई दूसरा User Access नहीं कर सकता जब तक कि पहला User उस Element को Free ना कर दे।
यानी एक ऐसी प्रक्रिया को Use किया जाता है, जिसमें पहले User के लिए ही कोई Database Element Usable होता है, किसी अन्य User के लिए वही Element जिसे पहला User Use कर रहा है, तब तक के लिए Inaccessible होता है, जब तक कि पहला User उस Element को Free नहीं कर देता। इस स्थिति में पहले User के अलावा सभी अन्य Users के लिए वह Database Element Locked रहता है। इस प्रक्रिया को Locking Mechanism कहा जाता है।
File-Based Databases के साथ परेशानी ये है कि हम इसे बढा नहीं सकते हैं। एक छोटे Business System के लिए MS-Access का Database Suitable होता है, लेकिन बडे System के लिए MS-Access जैसे File-Based Database को Use नहीं किया जा सकता है।
हालांकि एक File-Based Database 100MB Data के साथ Successfully Deal कर सकता है, लेकिन जब Database में Records की संखया काफी बढने लगती है या जब एक ही Database को दर्जनों Users Access करने लगते हैं, तब एक File-Based Database की Performance काफी घट जाती है।
उदाहरण के लिए यदि हम किसी File-Based Database के किसी Table के किसी Column में Stored 1 लाख Records में से सबसे बडी Value को प्राप्त करना चाहें, तो ये File-Based System सभी Records को Network से प्राप्त करेगा, फिर उन्हें Locally Process करेगा और Required Value को खोजेगा। एक लाख Records को Network से Retrieve करने में एक File-Based System को बहुत ही ज्यादा समय लगेगा और हमें बहुत ही ज्यादा देर तक Required Result के लिए Wait करना पडेगा। (What is Relational Database)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF