मैंने फिल फैक्टर के ब्लॉग पोस्ट को नॉर्मलाइज़ेशन और 'एनिमा नोटिया कोपिया' के रूप में आज बुकमार्क किया है क्योंकि यह कुछ प्रकार के डेटा को सामान्य बनाने के विरुद्ध और उनके खिलाफ मामले को बड़े करीने से बताता है। SQL क्वेरी पर निम्न क्वेरी चलाएँ और देखें कि क्या आप सहमत हैं।
SELECT * FROM sys.syslanguages
SQL आपको रिलेशनल डेटाबेस बनाने में सक्षम बनाता है। हालाँकि, भले ही यह बुरी तरह से बदबू आ रही हो, लेकिन SQL डेटाबेस के साथ छुपी हुई संबंधपरक चीजों को केवल तब तक करना कोई अपराध नहीं है, जब तक यह आवश्यक हो और आप अंतर बता सकें; केवल इतना ही नहीं, बल्कि जोखिम और निहितार्थ के बारे में पता होने पर ही।
आपने उल्लेख किया है कि XML फ़ाइल में "डेटा पर अतिरिक्त जानकारी" है। क्या मॉडलिंग में कोई लाभ है जो मेटाडाटा एक रिलेशनल डेटाबेस में है, शायद पूछताछ के प्रयोजनों के लिए? यदि ऐसा है, तो संबंधित डेटा को निकालने और शेष XML को XML दस्तावेज़ प्रकार के रूप में जारी रखने के लिए एक मामला हो सकता है।
... यदि आपको एक JSON स्ट्रिंग या XML पास किया जाता है, और इसे डेटाबेस में संग्रहीत करने की आवश्यकता होती है, तो आपको बस इतना करना होगा कि आप खुद से पूछें, आपकी भूमिका में Anima notitia copia (सोल ऑफ़ द डेटाबेस) के रूप में मेरे पास कोई है जानकारी के इस मद की सामग्री में रुचि? '। यदि उत्तर the नहीं ’है, या am नेक्क्विम’ है! फिर यह एक परमाणु मूल्य है, हालांकि जटिल हो सकता है।
फिल फैक्टर का तर्क है कि एक रिलेशनल डेटाबेस में गैर-संबंधपरक क्षेत्र पूरी तरह से स्वीकार्य हैं यदि फ़ील्ड को परमाणु के रूप में माना जाता है अर्थात यह परिवर्तित नहीं होता है, या जब यह पूरे क्षेत्र को बदलता है, तो इसका कोई घटक हिस्सा नहीं। इसका स्वाभाविक विस्तार यह है कि यदि आपके दस्तावेज़ में वे तत्व हैं जिनमें आपकी रुचि है, तो उन तत्वों से संबंधपरक मॉडल लागू करने में मूल्य हो सकता है।
प्रश्न के प्रासंगिक लेकिन मुख्य रूप से वाक्यांशविज्ञान के लिए, फिल का एक अंतिम उद्धरण:
स्वाभाविक रूप से, मैंने कभी भी जानबूझकर एक डेटाबेस नहीं बनाया है जो कि कोडेक पर बह गया होगा, लेकिन किनारों के आसपास इंटरफेस और डेटा फीड हैं जो मैंने लिखा है कि सामान्यीकरण कट्टरपंथियों के बीच मेंहदी फिट बैठता है।
हम सब नहीं थे!