एक डेटाबेस मॉडल डेटाबेस की तार्किक संरचना निर्धारित करता है और निर्धारित करता है कि डेटा को मूलभूत आधार पर किस तरीके से संग्रहीत, व्यवस्थित और मैनिपुलेट किया जा सकता है। डेटाबेस डिज़ाइन होने से पहले, डेटा संग्रहीत करने का एकमात्र तरीका फ़ाइल स्टोरेज में था, जो जटिलता को बढ़ाता है क्योंकि प्रोग्रामर को डेटा निकालने के लिए बहुत प्रयास करना पड़ता था, और उनके प्रोग्राम को जटिल पार्सिंग और रिलेटिंग करना पड़ता था।
विभिन्न भाषाएं जैसे Perl अपने शक्तिशाली नियमित अभिव्यक्तियों के कारण टेक्स्ट को आसान तरीके से प्रोसेस करती हैं। हालांकि, फ़ाइलों से डेटा एक्सेस करना अभी भी एक जटिल कार्य है। डेटा एक्सेस करने का कोई मानक तरीका नहीं है जिसके कारण सिस्टम त्रुटियों के प्रति अधिक संवेदनशील हैं, विकसित होने में धीमे हैं, और बनाए रखने में अधिक कठिन हैं। डेटा रिडंडेंसी (जहां डेटा अनावश्यक रूप से डुप्लिकेट होता है) और खराब डेटा इंटीग्रिटी (जहां डेटा सभी स्थानों पर नहीं बदला जाता है, जिससे गलत या पुराना डेटा आपूर्ति होता है) की समस्या है।
ऐसी समस्याओं को हल करने के लिए, डेटाबेस मैनेजमेंट सिस्टम (DBMS) विकसित किए गए जो डेटा को एक्सेस और अपडेट करने का एक मानक और विश्वसनीय तरीका प्रदान करते हैं। एप्लिकेशन और डेटा के बीच एक मध्यस्थ परत होती है, और प्रोग्रामर एप्लिकेशन विकसित करने पर ध्यान केंद्रित कर सकता है, बजाय डेटा एक्सेस मुद्दों की चिंता करने के।
इसलिए, हम एक डेटाबेस मॉडल को एक तार्किक मॉडल के रूप में परिभाषित कर सकते हैं जो इस बात से संबंधित है कि डेटा कैसे दर्शाया गया है। डेटाबेस डिज़ाइनर डेटा के भौतिक भंडारण के बारे में चिंता करने के बजाय एक उच्च, अधिक वैचारिक स्तर को देखते हैं, जिससे उस वास्तविक दुनिया की समस्या और तकनीकी कार्यान्वयन के बीच का अंतर कम हो जाता है जिसके लिए एप्लिकेशन विकसित किया जा रहा है।
एक डेटा मॉडल का उपयोग डेटा एलिमेंट को व्यवस्थित करने और डेटा एलिमेंट के बीच संबंध को मानकीकृत करने के लिए किया जाता है। चूंकि डेटा एलिमेंट का उपयोग वास्तविक जीवन के लोगों, स्थानों और चीजों और उनके बीच की घटनाओं को दस्तावेज करने के लिए किया जाता है जो वास्तविकता का प्रतिनिधित्व करते हैं, उदाहरण के लिए, एक इमारत में कई खिड़कियां होती हैं, या एक कुत्ते की दो आंखें होती हैं। एक मॉडल डेटा को संरचित करने में मदद करता है, साथ ही यह उन ऑपरेशन के सेट को भी परिभाषित करता है जो डेटा पर किए जा सकते हैं। एक दिया गया DBMS एक से अधिक मॉडल प्रदान कर सकता है। सर्वोत्तम संरचना एप्लिकेशन के डेटा के प्राकृतिक संगठन और संबंधित एप्लिकेशन की आवश्यकताओं पर निर्भर करती है, विभिन्न कारकों में से कुछ हैं:
- लेनदेन दर (गति)
- विश्वसनीयता
- रखरखाव क्षमता
- स्केलेबिलिटी
- लागत
फ्लैट (या टेबल) मॉडल
यह सबसे पारंपरिक और सरल डेटा मॉडल है, जिसमें डेटा एलिमेंट का एक एकल, दो-आयामी सरणी होता है, जिसमें किसी दिए गए कॉलम के सभी सदस्य समान मान दर्शाते हैं, और एक पंक्ति के सभी सदस्य एक-दूसरे से संबंध दर्शाते हैं। उदाहरण के लिए, कॉलम का उपयोग नाम और पासवर्ड के लिए किया जाता है जो सिस्टम सुरक्षा डेटाबेस का हिस्सा हैं। प्रत्येक पंक्ति में एक विशिष्ट उपयोगकर्ता से जुड़ा विशिष्ट पासवर्ड होता है। टेबल के कॉलम में एक प्रकार होता है जो कैरेक्टर डेटा, दिनांक या समय की जानकारी, इंटीजर, या फ्लोटिंग-पॉइंट नंबर को परिभाषित करता है।
अब हम कह सकते हैं कि एक फ्लैट फ़ाइल डेटाबेस एक डेटाबेस है जो एक सामान्य असंरचित फ़ाइल को संग्रहीत करता है जिसे "फ्लैट फ़ाइल" के रूप में भी जाना जाता है। फ़ाइल पूरी तरह से कंप्यूटर की मेमोरी में संग्रहीत हो जाती है ताकि कंप्यूटर सिस्टम पर डेटा संरचना और उसके मैनिपुलेशन तक पहुंच आसान हो जाए। डेटाबेस संचालन पूरा होने के बाद फ़ाइल कंप्यूटर सिस्टम से बाहर निकल जाती है और होस्ट की फ़ाइल सिस्टम में स्थानांतरित हो जाती है। इस स्टोरेज मोड को "फ्लैट" कहा जाता है क्योंकि इसमें कोई इंडेक्सिंग संरचना नहीं होती है और आमतौर पर रिकॉर्ड के बीच कोई संरचनात्मक संबंध नहीं होता है।
यह फ्लैट मॉडल छोटे, सरल डेटाबेस के लिए सबसे उपयुक्त है। जैसे-जैसे डेटा का आकार बढ़ता है, मेमोरी एक्सेस मुश्किल हो जाता है और अधिक परिष्कृत डेटाबेस की आवश्यकता होती है। हाथ से लिखी गई नाम, संपर्क नंबर, पता, शहर की सूची एक फ्लैट फ़ाइल डेटाबेस है। यदि वही जानकारी स्प्रेडशीट पर रिकॉर्ड की जाती है तो इसका उपयोग बेहतर खोज क्षमताओं के लिए ऑनलाइन किया जा सकता है। फ्लैट फ़ाइल डेटाबेस मॉडल का उपयोग करके डेटा स्थानांतरित भी किया जा सकता है।
उदाहरण डेटाबेस
निम्नलिखित उदाहरण फ्लैट-फ़ाइल डेटाबेस के मूल तत्वों को दर्शाता है। इसमें कॉलम और पंक्तियों की एक श्रृंखला होती है जो एक टेबल में व्यवस्थित होती है।
कॉलम में नाम (एक व्यक्ति का नाम, दूसरा कॉलम); टीम (व्यक्ति द्वारा समर्थित एथलेटिक टीम का नाम, तीसरा कॉलम); और एक संख्यात्मक अद्वितीय ID, (रिकॉर्ड को विशिष्ट रूप से पहचानने के लिए उपयोग किया जाता है, पहला कॉलम) शामिल हैं।
| ID | NAME | TEAM |
|---|---|---|
| 101 | Abhinav | Blues |
| 102 | Aditya | Blues |
| 103 | Anjali | Pink |
| 104 | Bhavna | Pink |
| 105 | Charu | Pink |
| 106 | Divy | Blues |
| 107 | Disha | Pink |
| 108 | Eashan | Blues |
| 109 | Gauri | Pink |