टेबल के बिना डेटाबेस में डेटा कैसे स्टोर करें?


12

मैंने स्कूल में जो कुछ भी सीखा वह एसक्यूएल था जो डेटा को टेबल पर सेव करता है। अभी मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं, जहां एक्सएमएल-फाइलों में डाटा स्टोर किया जाता है। इसके अतिरिक्त प्रत्येक XML में दृश्य फ़ाइलों (JPEG) का संदर्भ होता है।

एक्सएमएल में ही एक हजार से अधिक समन्वय बिंदु होते हैं, साथ ही डेटा पर अतिरिक्त जानकारी भी होती है।

मेरी राय में इस जानकारी को तालिकाओं में संग्रहीत करने का कोई मतलब नहीं होगा। इसके अलावा मैं JPEG- फ़ाइलों को SQL के साथ संग्रहीत नहीं कर सका।

उचित समाधान क्या होगा, या मेरी तरफ तर्क करने में कोई त्रुटि है?

जैसा कि आप देख सकते हैं कि मैं डेटाबेस के लिए बहुत नया हूँ। इसलिए किसी भी रचनात्मक सुझाव, लिंक और सलाह का स्वागत है।


SQL सर्वर निश्चित रूप से IMEG डेटाटाइप का उपयोग करके JPEG फ़ाइलों को संग्रहीत कर सकता है। हालांकि, मैं इसकी सिफारिश नहीं करूंगा। बेहतर होगा कि आप FILE-STREAM का उपयोग करें।
डेटागोड 15

जब डेटाबेस में jpeg (या किसी अन्य फ़ाइल) को संग्रहीत करने की बात आती है, तो हमारे सबसे अक्सर पूछे जाने वाले प्रश्नों में से कुछ को यहां संभाला जाता है। XML को संग्रहीत करने के तरीके के रूप में और फिर उस डेटा को तेज़ी से ढूंढने के लिए, यह बहुत अधिक दस्तावेज़ डेटा स्टोरेज सिस्टम के लिए है। मैं एक रिलेशनल डेटाबेस पर NoSQL समाधान को देखूंगा, यह आसान होगा कि मैं कल्पना करूंगा।
jcolebrand

जब यह XML की बात आती है, तो IBM का DB2 आपको इसे करने की अनुमति देता है। और आप SQL या XPath / XQuery के साथ डेटा को क्वेरी कर सकते हैं। उनका मुफ्त एक्सप्रेस-सी संस्करण ऐसा करने की क्षमता के साथ आता है। यदि आप एंटरप्राइज़ संस्करण में जाते हैं, तो आपको इस सुविधा को चालू करने के लिए भुगतान करना होगा।
क्रिस एल्डरिच

जवाबों:


11

आप सभी की जरूरत है अपने XML की दृढ़ता है। NoSQL समाधान या फ़ाइल सिस्टम का उपयोग करें।

RDBMS का उपयोग करने में कोई लाभ नहीं है, जब तक कि आप इसे NoSQL या फ़ाइल सिस्टम के बजाय उपयोग नहीं करना चाहते हैं।


एक उपयुक्त NoSQL समाधान क्या होगा? मैं एक winform अनुप्रयोग btw में C # के साथ काम कर रहा हूं।
ズ パ チ

@bodycountPP: मुझे उनके साथ कोई अनुभव नहीं है ...
gbn

7
मैं Windows पर उपयोग के लिए RavenDB ( ravendb.net ) या CouchBase ( couchbase.com/couchbase-server/overview ) की जांच करूंगा । दूसरों को गोगल्स के माध्यम से पाया जा सकता है - मुझे उन उत्पादों के साथ एक अच्छा अनुभव मिला है। जाहिर है आपका माइलेज अलग-अलग हो सकता है :)
ITHedgeHog

10

मैंने फिल फैक्टर के ब्लॉग पोस्ट को नॉर्मलाइज़ेशन और 'एनिमा नोटिया कोपिया' के रूप में आज बुकमार्क किया है क्योंकि यह कुछ प्रकार के डेटा को सामान्य बनाने के विरुद्ध और उनके खिलाफ मामले को बड़े करीने से बताता है। SQL क्वेरी पर निम्न क्वेरी चलाएँ और देखें कि क्या आप सहमत हैं।

SELECT * FROM sys.syslanguages

SQL आपको रिलेशनल डेटाबेस बनाने में सक्षम बनाता है। हालाँकि, भले ही यह बुरी तरह से बदबू आ रही हो, लेकिन SQL डेटाबेस के साथ छुपी हुई संबंधपरक चीजों को केवल तब तक करना कोई अपराध नहीं है, जब तक यह आवश्यक हो और आप अंतर बता सकें; केवल इतना ही नहीं, बल्कि जोखिम और निहितार्थ के बारे में पता होने पर ही।

आपने उल्लेख किया है कि XML फ़ाइल में "डेटा पर अतिरिक्त जानकारी" है। क्या मॉडलिंग में कोई लाभ है जो मेटाडाटा एक रिलेशनल डेटाबेस में है, शायद पूछताछ के प्रयोजनों के लिए? यदि ऐसा है, तो संबंधित डेटा को निकालने और शेष XML को XML दस्तावेज़ प्रकार के रूप में जारी रखने के लिए एक मामला हो सकता है।

... यदि आपको एक JSON स्ट्रिंग या XML पास किया जाता है, और इसे डेटाबेस में संग्रहीत करने की आवश्यकता होती है, तो आपको बस इतना करना होगा कि आप खुद से पूछें, आपकी भूमिका में Anima notitia copia (सोल ऑफ़ द डेटाबेस) के रूप में मेरे पास कोई है जानकारी के इस मद की सामग्री में रुचि? '। यदि उत्तर the नहीं ’है, या am नेक्क्विम’ है! फिर यह एक परमाणु मूल्य है, हालांकि जटिल हो सकता है।

फिल फैक्टर का तर्क है कि एक रिलेशनल डेटाबेस में गैर-संबंधपरक क्षेत्र पूरी तरह से स्वीकार्य हैं यदि फ़ील्ड को परमाणु के रूप में माना जाता है अर्थात यह परिवर्तित नहीं होता है, या जब यह पूरे क्षेत्र को बदलता है, तो इसका कोई घटक हिस्सा नहीं। इसका स्वाभाविक विस्तार यह है कि यदि आपके दस्तावेज़ में वे तत्व हैं जिनमें आपकी रुचि है, तो उन तत्वों से संबंधपरक मॉडल लागू करने में मूल्य हो सकता है।

प्रश्न के प्रासंगिक लेकिन मुख्य रूप से वाक्यांशविज्ञान के लिए, फिल का एक अंतिम उद्धरण:

स्वाभाविक रूप से, मैंने कभी भी जानबूझकर एक डेटाबेस नहीं बनाया है जो कि कोडेक पर बह गया होगा, लेकिन किनारों के आसपास इंटरफेस और डेटा फीड हैं जो मैंने लिखा है कि सामान्यीकरण कट्टरपंथियों के बीच मेंहदी फिट बैठता है।

हम सब नहीं थे!


2
ACORD कुछ ऐसा है। मैंने देखा है कि लोग इसे डेटाबेस मॉडल के रूप में पेश करने की कोशिश कर रहे हैं। ACORD ने बाद में जाकर प्राइमा से एक डेटा मॉडल का लाइसेंस लिया, इसलिए यहां तक ​​कि वे स्वीकार करते हैं कि यह डेटा मॉडल का ज्यादा हिस्सा नहीं था। ACORD मैसेजिंग मानक में लगभग 7,000 फ़ील्ड परिभाषित हैं, जिनमें से लगभग 200 अनिवार्य हैं - ACORD का सबसे अच्छा विवरण (किसी को मैसेजिंग मानकों में बहुत अधिक शामिल है) यह है कि "मानक प्रक्रिया को प्रबंधित करने का तरीका नहीं जानते हैं।"
चिंता का

3

जहाँ तक Oracle डेटाबेस का सवाल है, इसका उत्तर आप नहीं दे सकते । एक डेटाबेस में सभी डेटा तालिकाओं में संग्रहीत किया जाता है, यहां तक ​​कि मेटा-डेटा भी। डेटा को कतारों में संग्रहीत किया जा सकता है, लेकिन वे तालिकाओं का उपयोग करने का सिर्फ एक अलग तरीका है। XML फ़ाइलों को एक डेटाबेस के बाहर संग्रहीत किया जा सकता है, लेकिन यह आपके "डेटाबेस" आवश्यकता को पूरा नहीं करेगा।

आपके द्वारा बताए गए सवाल से आगे बढ़कर JPEG फाइल या उस मामले की कोई भी फाइल डेटाबेस में स्टोर की जा सकती है। उन्हें एक टेबल और एक LOB कॉलम (BLOB या CLOB) की आवश्यकता होगी। XML को इस तरह भी संग्रहीत किया जा सकता है, लेकिन डेटाबेस में XML डेटा आयात करने से आप डेटा को उन तरीकों से संचालित कर सकेंगे, जो अब आसानी से नहीं किए जा सकते हैं। यह डेटाबेस के अन्य लाभ भी प्रदान करेगा, जिनमें शामिल हैं: कम किया गया अतिरेक, पहुंच, संगामिति, स्केलेबिलिटी, इंटरऑपरेबिलिटी, सुरक्षा, रिकवरी और प्रदर्शन।

यदि डेटाबेस के लाभ आपके लक्ष्यों को आगे नहीं बढ़ाते हैं, तो एक का उपयोग न करें।


2

यह मुझे लगता है जैसे आप एक स्थानिक डेटाबेस को लागू करने की कोशिश कर रहे हैं । यह एक प्रकार का संबंधपरक डेटाबेस (या मौजूदा डेटाबेस उत्पादों, जैसे ओरेकल स्पेसियल, पोस्टजीआईएस) है, जो स्थानिक डेटा प्रकार के कार्यों का समर्थन करता है और इसका उपयोग बहुपक्षीय सीमाओं, बिंदुओं जैसे स्थानिक सुविधाओं से संबंधित डेटा के लिए भंडारण और प्रश्नों को अनुकूलित करने के लिए किया जाता है। और परतें। एक्सएमएल आपके पास सीमा समन्वित जोड़े की तरह लगता है और संबंधित इमेजरी उस सीमा में प्रदर्शित करने के लिए कलाकृति संपत्ति की तरह लगती है। यदि डेटा फिट बैठता है, तो एक संबंधपरक स्थानिक डेटाबेस पर विचार करें जो कार्यक्षमता प्रदान करने के लिए अंतर्निहित स्थानिक मॉडलिंग प्रदान करता है जिसे आप अन्यथा लागू करने के लिए कठिन या समय लेने वाली पाएंगे।


साथ ही, यदि आप कर रहे हैं एक को लागू करने भौगोलिक सूचना प्रणाली , पर इस पर सवाल पूछने पर विचार भौगोलिक सूचना प्रणाली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.