सामान्यकरण और डेनोरलाइजेशन के बीच का अंतर

Anonim

सामान्यकरण बनाम Denormalization

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

< सामान्यकरण क्या है?

सामान्यकरण एक ऐसी प्रक्रिया है जो रिलेशनल डेटाबेस में मौजूद डेटा में मौजूद कमियों को कम करने के लिए की जाती है। यह प्रक्रिया मुख्य रूप से छोटी सारणीों में कम सारणी के साथ बड़ी तालिकाओं को विभाजित करती है (जिसे "सामान्य रूप")। ये छोटी सी मेजएं संबंधित होंगी अच्छी तरह से परिभाषित रिश्तों के माध्यम से एक दूसरे को डी एक अच्छी तरह से सामान्यीकृत डाटाबेस में, किसी भी परिवर्तन या डेटा में संशोधन के लिए केवल एक मेज को संशोधित करने की आवश्यकता होगी प्रथम नॉर्मल फॉर्म (1 एनएफ़), सेकंड सामान्य फॉर्म (2 एनएफ़), और थर्ड नॉर्मल फॉर्म (3 एनएफ़) एडगर एफ। कॉड द्वारा पेश किया गया था। बॉयस-कोडा सामान्य फॉर्म (बीसीएनएफ) को 1 9 74 में कॉड और रेमंड एफ बोइस द्वारा पेश किया गया था। उच्च सामान्य प्रपत्र (4 एनएफ, 5 एनएफ और 6 एनएफ़) को परिभाषित किया गया है, लेकिन उनका उपयोग शायद ही कभी किया जा रहा है।

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

डेनोलामाइलाइज़ेशन क्या है?

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

सामान्यकरण और डेनोरलाइजेशन के बीच अंतर क्या है?

- सामान्यीकरण और विकृतकरण दो प्रक्रियाएं हैं जो पूरी तरह से विपरीत हैं।

- सामान्यकरण, अनावश्यक डेटा को कम करने वाले छोटे लोगों को बड़ी तालिकाओं को विभाजित करने की प्रक्रिया है, जबकि अस्वीकृत प्रदर्शन को अनुकूलित करने के लिए अनावश्यक डेटा जोड़ने की प्रक्रिया है।

- डेटाबेस विसंगतियों को रोकने के लिए सामान्यकरण किया जाता है

- आमतौर पर डेनॉर्मलाइजेशन को डाटाबेस के पठन प्रदर्शन में सुधार के लिए किया जाता है, लेकिन डिनरलाइजेशन के लिए इस्तेमाल की जाने वाली अतिरिक्त बाधाओं के कारण, लिखते हैं (i। डालें, अपडेट और हटाएं संचालन) धीमी हो सकता है इसलिए, एक denormalized डेटाबेस सामान्यीकृत डेटाबेस से खराब लेखन प्रदर्शन की पेशकश कर सकता है

- यह अक्सर अनुशंसा की जाती है कि आपको "जब तक यह दर्द न हो तब तक सामान्य होना चाहिए, जब तक यह काम नहीं करता है"।