फ़्लैट-फ़ाइल डेटाबेस: Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
| periodical = WTEC'94: Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference | | periodical = WTEC'94: Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference | ||
| url = http://static.usenix.org/publications/library/proceedings/sf94/full_papers/fowler.a | | url = http://static.usenix.org/publications/library/proceedings/sf94/full_papers/fowler.a | ||
}}</ref> डेटा को चित्रित करने के लिए भिन्न-भिन्न परंपराएँ हैं। | }}</ref> डेटा को चित्रित करने के लिए भिन्न-भिन्न परंपराएँ हैं। कॉमा से भिन्न किए गए मान और [[सीमांकक|डिलिमिटर]] से भिन्न किए गए मान फ़ाइलों में, फ़ील्ड (कंप्यूटर विज्ञान) को कॉमा से भिन्न किए गए मान या टैब से भिन्न किए गए मान करैक्टर जैसे डिलिमिटर द्वारा भिन्न किया जा सकता है। अन्य स्थितियों में, प्रत्येक फ़ील्ड की निश्चित लंबाई हो सकती है; संक्षिप्त मानों को स्पेस करैक्टर के साथ जोड़ा जा सकता है। डिलिमिटर कोलिजन से बचने के लिए अतिरिक्त फोर्मटिंग की आवश्यकता हो सकती है। | ||
डिलीमीटर का उपयोग करने पर प्रत्येक संसाधित होने पर ज्ञात करने में कुछ [[कम्प्यूटेशनल ओवरहेड]] व्यय होता है (फिक्स्ड-विड्थ फ़ॉर्मेटिंग के विपरीत), जिसका कंप्यूटर प्रदर्शन पर प्रभाव पड़ सकता है। चूँकि [[अंतरिक्ष चरित्र|कैरेक्टर]] डिलीमीटर (विशेष रूप से | डिलीमीटर का उपयोग करने पर प्रत्येक संसाधित होने पर ज्ञात करने में कुछ [[कम्प्यूटेशनल ओवरहेड]] व्यय होता है (फिक्स्ड-विड्थ फ़ॉर्मेटिंग के विपरीत), जिसका कंप्यूटर प्रदर्शन पर प्रभाव पड़ सकता है। चूँकि [[अंतरिक्ष चरित्र|कैरेक्टर]] डिलीमीटर (विशेष रूप से कॉमा) का उपयोग भी डेटा कम्प्रेशन का क्रूड रूप है जो डेटा वॉल्यूम को कम करके समग्र प्रदर्शन में सहायता कर सकता है- विशेष रूप से [[डेटा ट्रांसमिशन]] उद्देश्यों के लिए वर्ण डिलिमिटर का उपयोग जिसमें लंबाई घटक (स्ट्रिंग घोषणात्मक) सम्मिलित है, तुलनात्मक रूप से दुर्लभ है, किंतु प्रत्येक क्षेत्र की सीमा को ज्ञात करने के लिए जुड़े ओवरहेड को अधिक सीमा तक कम कर देता है। | ||
फ़्लैट फ़ाइलों के उदाहरणों में यूनिक्स जैसे ऑपरेटिंग सिस्टम पर <code>[[/etc/passwd]]</code> और <code>[[/etc/group]]</code> सम्मिलित हैं। फ़्लैट फ़ाइल का अन्य उदाहरण नेम, एड्रेस और फ़ोन नंबर फ़ील्ड वाली नेम-और-एड्रेस लिस्ट है। | फ़्लैट फ़ाइलों के उदाहरणों में यूनिक्स जैसे ऑपरेटिंग सिस्टम पर <code>[[/etc/passwd]]</code> और <code>[[/etc/group]]</code> सम्मिलित हैं। फ़्लैट फ़ाइल का अन्य उदाहरण नेम, एड्रेस और फ़ोन नंबर फ़ील्ड वाली नेम-और-एड्रेस लिस्ट है। | ||
Line 31: | Line 31: | ||
===आधुनिक कार्यान्वयन=== | ===आधुनिक कार्यान्वयन=== | ||
नोएसक्यूएल डेटा के लीनियर स्टोर, [[JSON|जेसन]] फॉर्मेट डेटा, प्रिमिटिव स्प्रेडशीट (संभवतः | नोएसक्यूएल डेटा के लीनियर स्टोर, [[JSON|जेसन]] फॉर्मेट डेटा, प्रिमिटिव स्प्रेडशीट (संभवतः कॉमा से भिन्न या टैब-सीमांकित), और टेक्स्ट फ़ाइलें सभी को फ्लैट-फ़ाइल डेटाबेस के रूप में देखा जा सकता है, क्योंकि उनमें इंटीग्रेटेड इंडेक्स, डेटा एलिमेंट्स के मध्य अंतर्निहित संदर्भ, या काम्प्लेक्स डेटा प्रकारों का अभाव है। बुक्स या अपॉइंटमेंट और [[पता पुस्तिका|एड्रेस बुक]] के संग्रह को प्रबंधित करने के लिए प्रोग्राम अनिवार्य रूप से एकल-उद्देश्य वाले फ्लैट-फ़ाइल डेटाबेस का उपयोग कर सकते हैं, इंडेक्स या पॉइंटिंग सिस्टम से रहित फ्लैट फ़ाइलों से जानकारी संग्रहीत और पुनर्प्राप्त कर सकते हैं। | ||
जबकि कोई | जबकि कोई यूजर कंटेंट टेबल को टेक्स्ट फ़ाइल में लिख सकता है, टेक्स्ट फ़ाइल फॉर्मेट में कंटेंट टेबल की अवधारणा सम्मिलित नहीं होती है। जबकि कोई यूजर जॉन की संपर्क जानकारी के लिए नोट्स अनुभाग में कैथी के साथ फ्रेंड लिख सकता है, यह डेटाबेस की अंतर्निहित सुविधा के अतिरिक्त यूजर द्वारा व्याख्या की जाती है। जब डेटाबेस सिस्टम रिकॉर्ड्स के मध्य संबंधों को पहचानना और संहिताबद्ध करना प्रारंभ करती है, तो यह फ्लैट होने से दूर होने लगती है, और जब इसमें प्रकारों और पदानुक्रमित संबंधों का वर्णन करने के लिए विस्तृत सिस्टम होता है, तो यह अब इतनी संरचित हो जाती है कि इसे फ्लैट नहीं माना जा सकता है। | ||
==उदाहरण [[आंकड़े]]बेस== | ==उदाहरण [[आंकड़े|डेटा]]बेस== | ||
निम्नलिखित उदाहरण | निम्नलिखित उदाहरण फ़्लैट-फ़ाइल डेटाबेस के विशिष्ट एलिमेंट्स को दिखाता है। डेटा व्यवस्था में टेबल (सूचना) में व्यवस्थित कॉलम और रो की श्रृंखला होती है। यह विशिष्ट उदाहरण केवल टेबल का उपयोग करता है। | ||
कॉलम में सम्मिलित हैं: | कॉलम में सम्मिलित हैं: नेम (व्यक्ति का नाम, दूसरा कॉलम); टीम (व्यक्ति द्वारा समर्थित एथलेटिक टीम का नाम, तीसरा कॉलम); और संख्यात्मक अद्वितीय आईडी, (अभिलेखों को विशिष्ट रूप से पहचानने के लिए उपयोग किया जाता है, पहला कॉलम)। | ||
यहां वर्णित डेटा का | यहां वर्णित डेटा का उदाहरण टेक्सटुअल प्रस्तुतिकरण दिया गया है: | ||
id name team | |||
1 | 1 Amy Blues | ||
2 | 2 Bob Reds | ||
3 | 3 Chuck Blues | ||
4 | 4 Richard Blues | ||
5 | 5 Ethel Reds | ||
6 | 6 Fred Blues | ||
7 | 7 Gilly Blues | ||
8 | 8 Hank Reds | ||
9 | 9 Hank Blues | ||
इस प्रकार का डेटा प्रतिनिधित्व | इस प्रकार का डेटा प्रतिनिधित्व फ़्लैट-फ़ाइल डेटाबेस के लिए अधिक मानक है, चूँकि कुछ अतिरिक्त विचार हैं जो टेक्स्ट से सरल से स्पष्ट नहीं होते हैं: | ||
* '[[डेटा प्रकार]]:' डेटाबेस | * ''''[[डेटा प्रकार|डेटा टाइप]]:''' डेटाबेस टेबल में प्रत्येक कॉलम, जैसा कि ऊपर दिया गया है, सामान्यतः विशिष्ट डेटा टाइप तक ही सीमित होता है। ऐसे प्रतिबंध सामान्यतः सम्मेलन द्वारा स्थापित किए जाते हैं, किंतु औपचारिक रूप से तब तक संकेत नहीं दिए जाते जब तक कि डेटा को [[ संबंध का डेटाबेस |रिलेशन डेटाबेस]] सिस्टम में स्थानांतरित नहीं किया जाता है। | ||
* ' | * 'सेपरेटेड कॉलम:' उपरोक्त उदाहरण में, भिन्न-भिन्न कॉलम को [[व्हाइटस्पेस (कंप्यूटर विज्ञान)]] करैक्टर का उपयोग करके भिन्न किया गया है। इसे इंडेंटेशन या फिक्स्ड-विड्थ डेटा फ़ॉर्मेटिंग भी कहा जाता है। अन्य सामान्य परंपरा या अधिक डिलिमिटर करैक्टर का उपयोग करके कॉलम को भिन्न करना है, जैसे टैब या कॉमा का उपयोग करके कॉलम को भिन्न करना है। | ||
* '[[संबंधपरक बीजगणित]]: | * '[[संबंधपरक बीजगणित|रिलेशनल बीजगणित]]: उपरोक्त टेबल में प्रत्येक रो या रिकॉर्ड रिलेशनल बीजगणित के अन्तार्गत टुपल की मानक परिभाषा को पूर्ण करता है (उपरोक्त उदाहरण 3-टुपल्स की श्रृंखला को दर्शाता है)। इसके अतिरिक्त, प्रथम रो उन फ़ील्ड नामों को निर्दिष्ट करती है जो प्रत्येक रो के मानों से जुड़े होते हैं। | ||
* '[[डेटाबेस प्रबंधन प्रणाली]]: | * '[[डेटाबेस प्रबंधन प्रणाली|डेटाबेस मैनेजमेंट सिस्टम]]: चूंकि टेक्स्ट फ़ाइल के साथ संभव औपचारिक संचालन सामान्यतः वांछित से अधिक सीमित होते हैं, उपरोक्त उदाहरण में टेक्स्ट सामान्यतः डेटाबेस मैनेजमेंट सिस्टम में स्थानांतरित होने से पहले डेटा की मध्यस्थ स्थिति का प्रतिनिधित्व करेगा। | ||
== यह भी देखें == | == यह भी देखें == | ||
* | * /etc/passwd, सामान्यतः उपयोग की जाने वाली फ़्लैट फ़ाइल, जिसका उपयोग यूनिक्स में यूजर का विवरण देने के लिए किया जाता है। | ||
* | * कॉमा से भिन्न किए गए मान (मानक कॉमा से भिन्न किए गए मान) | ||
* [[बर्कले डीबी]] (विशिष्ट फ्लैट-फ़ाइल डेटाबेस) | * [[बर्कले डीबी]] (विशिष्ट फ्लैट-फ़ाइल डेटाबेस) | ||
* [[Awk]] ( | * [[Awk|एडब्लूके]] (क्लासिकल फ़्लैट-फ़ाइल प्रोसेसर) | ||
* [[Recfiles]] ( | * [[Recfiles|रेस्फील्स]] (प्लेन टेक्स्ट डेटाबेस फ़ाइल फॉर्मेट) | ||
==संदर्भ== | ==संदर्भ== |
Revision as of 22:09, 5 August 2023
फ़्लैट-फ़ाइल डेटाबेस फ़ाइल में संग्रहीत डेटाबेस है जिसे फ़्लैट फ़ाइल कहा जाता है। रिकॉर्ड यूनिफार्म फॉर्मेट का पालन करते हैं, और रिकॉर्ड के मध्य संबंधों को इंडेक्सिंग करने या पहचानने के लिए कोई संरचना नहीं होती है। फ़ाइल सरल है, फ़्लैट फ़ाइल प्लेन टेक्स्ट फ़ाइल (जैसे सीएसवी, टीएक्सटी या टीएसवी) या बाइनरी फ़ाइल हो सकती है। डेटाबेस में डेटा से संबंधों का अनुमान लगाया जा सकता है, किंतु डेटाबेस फॉर्मेट स्वयं उन रिलेशनशिप को स्पष्ट नहीं करता है।
इस शब्द का तात्पर्य सामान्यतः छोटा डेटाबेस है, किंतु अधिक बड़े डेटाबेस भी फ्लैट हो सकते हैं।
अवलोकन
प्लेन टेक्स्ट फ़ाइलों में सामान्यतः प्रति लाइन रिकॉर्ड (कंप्यूटर विज्ञान) होता है।[2] डेटा को चित्रित करने के लिए भिन्न-भिन्न परंपराएँ हैं। कॉमा से भिन्न किए गए मान और डिलिमिटर से भिन्न किए गए मान फ़ाइलों में, फ़ील्ड (कंप्यूटर विज्ञान) को कॉमा से भिन्न किए गए मान या टैब से भिन्न किए गए मान करैक्टर जैसे डिलिमिटर द्वारा भिन्न किया जा सकता है। अन्य स्थितियों में, प्रत्येक फ़ील्ड की निश्चित लंबाई हो सकती है; संक्षिप्त मानों को स्पेस करैक्टर के साथ जोड़ा जा सकता है। डिलिमिटर कोलिजन से बचने के लिए अतिरिक्त फोर्मटिंग की आवश्यकता हो सकती है।
डिलीमीटर का उपयोग करने पर प्रत्येक संसाधित होने पर ज्ञात करने में कुछ कम्प्यूटेशनल ओवरहेड व्यय होता है (फिक्स्ड-विड्थ फ़ॉर्मेटिंग के विपरीत), जिसका कंप्यूटर प्रदर्शन पर प्रभाव पड़ सकता है। चूँकि कैरेक्टर डिलीमीटर (विशेष रूप से कॉमा) का उपयोग भी डेटा कम्प्रेशन का क्रूड रूप है जो डेटा वॉल्यूम को कम करके समग्र प्रदर्शन में सहायता कर सकता है- विशेष रूप से डेटा ट्रांसमिशन उद्देश्यों के लिए वर्ण डिलिमिटर का उपयोग जिसमें लंबाई घटक (स्ट्रिंग घोषणात्मक) सम्मिलित है, तुलनात्मक रूप से दुर्लभ है, किंतु प्रत्येक क्षेत्र की सीमा को ज्ञात करने के लिए जुड़े ओवरहेड को अधिक सीमा तक कम कर देता है।
फ़्लैट फ़ाइलों के उदाहरणों में यूनिक्स जैसे ऑपरेटिंग सिस्टम पर /etc/passwd
और /etc/group
सम्मिलित हैं। फ़्लैट फ़ाइल का अन्य उदाहरण नेम, एड्रेस और फ़ोन नंबर फ़ील्ड वाली नेम-और-एड्रेस लिस्ट है।
पेपर की शीट पर हैण्ड से लिखे गए नेम, एड्रेस और फोन नंबरों की लिस्ट फ्लैट-फ़ाइल डेटाबेस है। यह किसी टाइपराइटर या वर्ड प्रोसेसर से भी किया जा सकता है। फ्लैट-फ़ाइल डेटाबेस को प्रारम्भ करने के लिए स्प्रेडशीट या टेक्स्ट एडिटर प्रोग्राम का उपयोग किया जा सकता है, जिसे पश्चात में उत्तम सर्च क्षमताओं के लिए प्रिंटेड या ऑनलाइन उपयोग किया जा सकता है।
इतिहास
संयुक्त राज्य अमेरिका की जनगणना ब्यूरो के लिए हरमन होलेरिथ का कार्य सर्वप्रथम 1890 की संयुक्त राज्य अमेरिका की जनगणना में किया गया था, जिसमें पेपर कार्ड में होल के माध्यम से टेबल डेटा सम्मिलित था,[3] इसे कभी-कभी प्रथम कम्प्यूटरीकृत फ़्लैट-फ़ाइल डेटाबेस माना जाता है, क्योंकि इसमें अन्य कार्डों को इंडेक्सिंग कार्ड सम्मिलित नहीं होता है, या अन्यथा व्यक्तिगत कार्डों को एक-दूसरे से संबंधित नहीं किया जाता है।
1980 के दशक में, कॉन्फ़िगर फ्लैट-फ़ाइल डेटाबेस कंप्यूटर एप्लिकेशन आईबीएम पीसी और एप्पल मैकिंटोश पर लोकप्रिय थे। ये प्रोग्राम व्यक्तियों के लिए अपने स्वयं के डेटाबेस को डिज़ाइन करना और उपयोग करना सरल बनाने के लिए डिज़ाइन किए गए थे, और लोकप्रियता में लगभग वर्ड प्रोसेसर और स्प्रेडशीट के समान थे। फ़्लैट-फ़ाइल डेटाबेस सॉफ़्टवेयर के उदाहरणों में फ़ाइल मेकर के प्रारंभ संस्करण और शेयरवेयर पीसी फ़ाइल और लोकप्रिय डीबेस सम्मिलित हैं।
फ़्लैट-फ़ाइल डेटाबेस सामान्य और सर्वव्यापी हैं क्योंकि उन्हें लिखना और संपादित करना सरल है, और सरल विधि से असंख्य उद्देश्यों के लिए उपयुक्त हैं।
आधुनिक कार्यान्वयन
नोएसक्यूएल डेटा के लीनियर स्टोर, जेसन फॉर्मेट डेटा, प्रिमिटिव स्प्रेडशीट (संभवतः कॉमा से भिन्न या टैब-सीमांकित), और टेक्स्ट फ़ाइलें सभी को फ्लैट-फ़ाइल डेटाबेस के रूप में देखा जा सकता है, क्योंकि उनमें इंटीग्रेटेड इंडेक्स, डेटा एलिमेंट्स के मध्य अंतर्निहित संदर्भ, या काम्प्लेक्स डेटा प्रकारों का अभाव है। बुक्स या अपॉइंटमेंट और एड्रेस बुक के संग्रह को प्रबंधित करने के लिए प्रोग्राम अनिवार्य रूप से एकल-उद्देश्य वाले फ्लैट-फ़ाइल डेटाबेस का उपयोग कर सकते हैं, इंडेक्स या पॉइंटिंग सिस्टम से रहित फ्लैट फ़ाइलों से जानकारी संग्रहीत और पुनर्प्राप्त कर सकते हैं।
जबकि कोई यूजर कंटेंट टेबल को टेक्स्ट फ़ाइल में लिख सकता है, टेक्स्ट फ़ाइल फॉर्मेट में कंटेंट टेबल की अवधारणा सम्मिलित नहीं होती है। जबकि कोई यूजर जॉन की संपर्क जानकारी के लिए नोट्स अनुभाग में कैथी के साथ फ्रेंड लिख सकता है, यह डेटाबेस की अंतर्निहित सुविधा के अतिरिक्त यूजर द्वारा व्याख्या की जाती है। जब डेटाबेस सिस्टम रिकॉर्ड्स के मध्य संबंधों को पहचानना और संहिताबद्ध करना प्रारंभ करती है, तो यह फ्लैट होने से दूर होने लगती है, और जब इसमें प्रकारों और पदानुक्रमित संबंधों का वर्णन करने के लिए विस्तृत सिस्टम होता है, तो यह अब इतनी संरचित हो जाती है कि इसे फ्लैट नहीं माना जा सकता है।
उदाहरण डेटाबेस
निम्नलिखित उदाहरण फ़्लैट-फ़ाइल डेटाबेस के विशिष्ट एलिमेंट्स को दिखाता है। डेटा व्यवस्था में टेबल (सूचना) में व्यवस्थित कॉलम और रो की श्रृंखला होती है। यह विशिष्ट उदाहरण केवल टेबल का उपयोग करता है।
कॉलम में सम्मिलित हैं: नेम (व्यक्ति का नाम, दूसरा कॉलम); टीम (व्यक्ति द्वारा समर्थित एथलेटिक टीम का नाम, तीसरा कॉलम); और संख्यात्मक अद्वितीय आईडी, (अभिलेखों को विशिष्ट रूप से पहचानने के लिए उपयोग किया जाता है, पहला कॉलम)।
यहां वर्णित डेटा का उदाहरण टेक्सटुअल प्रस्तुतिकरण दिया गया है:
id name team 1 Amy Blues 2 Bob Reds 3 Chuck Blues 4 Richard Blues 5 Ethel Reds 6 Fred Blues 7 Gilly Blues 8 Hank Reds 9 Hank Blues
इस प्रकार का डेटा प्रतिनिधित्व फ़्लैट-फ़ाइल डेटाबेस के लिए अधिक मानक है, चूँकि कुछ अतिरिक्त विचार हैं जो टेक्स्ट से सरल से स्पष्ट नहीं होते हैं:
- 'डेटा टाइप: डेटाबेस टेबल में प्रत्येक कॉलम, जैसा कि ऊपर दिया गया है, सामान्यतः विशिष्ट डेटा टाइप तक ही सीमित होता है। ऐसे प्रतिबंध सामान्यतः सम्मेलन द्वारा स्थापित किए जाते हैं, किंतु औपचारिक रूप से तब तक संकेत नहीं दिए जाते जब तक कि डेटा को रिलेशन डेटाबेस सिस्टम में स्थानांतरित नहीं किया जाता है।
- 'सेपरेटेड कॉलम:' उपरोक्त उदाहरण में, भिन्न-भिन्न कॉलम को व्हाइटस्पेस (कंप्यूटर विज्ञान) करैक्टर का उपयोग करके भिन्न किया गया है। इसे इंडेंटेशन या फिक्स्ड-विड्थ डेटा फ़ॉर्मेटिंग भी कहा जाता है। अन्य सामान्य परंपरा या अधिक डिलिमिटर करैक्टर का उपयोग करके कॉलम को भिन्न करना है, जैसे टैब या कॉमा का उपयोग करके कॉलम को भिन्न करना है।
- 'रिलेशनल बीजगणित: उपरोक्त टेबल में प्रत्येक रो या रिकॉर्ड रिलेशनल बीजगणित के अन्तार्गत टुपल की मानक परिभाषा को पूर्ण करता है (उपरोक्त उदाहरण 3-टुपल्स की श्रृंखला को दर्शाता है)। इसके अतिरिक्त, प्रथम रो उन फ़ील्ड नामों को निर्दिष्ट करती है जो प्रत्येक रो के मानों से जुड़े होते हैं।
- 'डेटाबेस मैनेजमेंट सिस्टम: चूंकि टेक्स्ट फ़ाइल के साथ संभव औपचारिक संचालन सामान्यतः वांछित से अधिक सीमित होते हैं, उपरोक्त उदाहरण में टेक्स्ट सामान्यतः डेटाबेस मैनेजमेंट सिस्टम में स्थानांतरित होने से पहले डेटा की मध्यस्थ स्थिति का प्रतिनिधित्व करेगा।
यह भी देखें
- /etc/passwd, सामान्यतः उपयोग की जाने वाली फ़्लैट फ़ाइल, जिसका उपयोग यूनिक्स में यूजर का विवरण देने के लिए किया जाता है।
- कॉमा से भिन्न किए गए मान (मानक कॉमा से भिन्न किए गए मान)
- बर्कले डीबी (विशिष्ट फ्लैट-फ़ाइल डेटाबेस)
- एडब्लूके (क्लासिकल फ़्लैट-फ़ाइल प्रोसेसर)
- रेस्फील्स (प्लेन टेक्स्ट डेटाबेस फ़ाइल फॉर्मेट)
संदर्भ
- ↑ Data Integration Glossary Archived March 20, 2009, at the Wayback Machine, U.S. Department of Transportation, August 2001.
- ↑ Fowler, Glenn (1994), "cql: Flat-file database query language", WTEC'94: Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
- ↑ Blodgett, John H.; Schultz, Claire K. (1969). "Herman hollerith: data processing pioneer". American Documentation (in English). 20 (3): 221–226. doi:10.1002/asi.4630200307. ISSN 1936-6108.