स्कीमा परिशोधन और अपघटन
स्कीमा परिशोधन एक संबंध को छोटे संबंधों में विघटित करने की प्रक्रिया है ताकि एक वांछित सामान्य रूप तक पहुंचा जा सके, इस आवश्यकता के अधीन कि अपघटन दोषरहित हो और, आदर्श रूप से, मूल निर्भरताओं को संरक्षित करे।
Definition
अपघटन एक संबंध स्कीमा R को स्कीमा के एक सेट से बदल देता है जिसके गुण एक साथ R को कवर करते हैं, ताकि मूल संबंध को भागों को जोड़कर पुनर्प्राप्त किया जा सके (दोषरहित जोड़) और, जब संभव हो, प्रत्येक मूल कार्यात्मक निर्भरता को भागों पर लागू किया जा सके (निर्भरता संरक्षण)।
Scope
यह विषय संबंधपरक स्कीमा को विघटित करने के लिए एल्गोरिदम और मानदंडों को शामिल करता है: दोषरहित-जोड़ गुण और इसका परीक्षण कैसे किया जाता है, निर्भरता संरक्षण और उच्च सामान्य रूपों के साथ इसका तनाव, और मानक संश्लेषण और अपघटन एल्गोरिदम जो कार्यात्मक निर्भरताओं के एक सेट से 3NF (निर्भरता-संरक्षण और दोषरहित) या BCNF (दोषरहित) डिज़ाइन का उत्पादन करते हैं। इसमें सामान्य रूपों की परिभाषाएं और अपघटन को संचालित करने वाली निर्भरताएं शामिल नहीं हैं।
Core questions
- एक अपघटन को दोषरहित क्या बनाता है, और इस गुण का परीक्षण कैसे किया जाता है?
- एक अपघटन के लिए निर्भरताओं को संरक्षित करने का क्या अर्थ है?
- BCNF अपघटन निर्भरताओं को संरक्षित करने में विफल क्यों हो सकता है जबकि 3NF संश्लेषण नहीं होता?
- मानक BCNF अपघटन और 3NF संश्लेषण एल्गोरिदम कैसे काम करते हैं?
- BCNF और 3NF के बीच चुनाव व्यवहार में कैसे किया जाता है?
Key concepts
- स्कीमा का अपघटन
- दोषरहित-जोड़ गुण
- निर्भरता संरक्षण
- नकली टुपल्स
- BCNF अपघटन एल्गोरिदम
- 3NF संश्लेषण एल्गोरिदम
- न्यूनतम कवर
- BCNF और 3NF के बीच व्यापार-बंद
Key theories
- दोषरहित-जोड़ अपघटन
- एक बाइनरी अपघटन दोषरहित होता है यदि दो भागों के सामान्य गुण उनमें से कम से कम एक की कुंजी बनाते हैं; दोषरहितता यह सुनिश्चित करती है कि भागों को जोड़ने से मूल संबंध को बिना किसी नकली टुपल्स के ठीक से पुनर्निर्मित किया जाता है।
- निर्भरता संरक्षण
- एक अपघटन निर्भरताओं को संरक्षित करता है यदि व्यक्तिगत भागों पर लागू होने वाली निर्भरताओं का संघ सभी मूल निर्भरताओं को इंगित करता है, ताकि संगति को फिर से जोड़कर जांचने की आवश्यकता न हो।
- BCNF अपघटन बनाम 3NF संश्लेषण
- BCNF अपघटन एल्गोरिदम दोषरहितता की गारंटी देता है लेकिन निर्भरता संरक्षण का त्याग कर सकता है, जबकि एक न्यूनतम कवर से 3NF संश्लेषण एल्गोरिदम दोषरहित जोड़ और निर्भरता संरक्षण दोनों की गारंटी देता है, संभवतः 3NF पर रुकने की कीमत पर।
Clinical relevance
अपघटन एल्गोरिदम वह तरीका है जिससे सामान्यीकरण सिद्धांत एक कार्रवाई योग्य डिज़ाइन प्रक्रिया बन जाता है: उन्हें लागू करने से ऐसे स्कीमा प्राप्त होते हैं जो अतिरेक से बचते हैं फिर भी उन्हें कुशलता से पुनर्निर्मित और मान्य किया जा सकता है, जो उत्पादन डेटाबेस की शुद्धता और रखरखाव को सीधे प्रभावित करता है।
History
दोषरहित-जोड़ और निर्भरता-संरक्षण अपघटन का सिद्धांत 1970 के दशक में विकसित किया गया था क्योंकि शोधकर्ताओं ने औपचारिक रूप दिया था कि एक संबंध को विभाजित करना कब सुरक्षित है। निर्भरता-संरक्षण 3NF डिज़ाइन का उत्पादन करने वाले संश्लेषण एल्गोरिदम, और यह पहचान कि BCNF निर्भरता संरक्षण के साथ संघर्ष कर सकता है, डेटाबेस ग्रंथों में मानक सामग्री बन गए और स्कीमा डिज़ाइन के लिए केंद्रीय बने हुए हैं।
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
- Philip Bernstein
Related topics
Seminal works
- silberschatz2019
- ramakrishnan2003
- garciamolina2008
Frequently asked questions
- एक नकली टुपल क्या है और यह क्यों मायने रखता है?
- एक नकली टुपल एक पंक्ति है जो तब प्रकट होती है जब आप खराब चुने हुए अपघटन के भागों को जोड़ते हैं लेकिन मूल संबंध के किसी भी वास्तविक टुपल के अनुरूप नहीं होती है। एक दोषरहित-जोड़ अपघटन ठीक वही है जो कोई नकली टुपल उत्पन्न नहीं करता है, यही कारण है कि दोषरहितता एक गैर-परक्राम्य आवश्यकता है।
- मैं BCNF के बजाय 3NF क्यों चुन सकता हूँ?
- BCNF में विघटित करना हमेशा दोषरहित-जोड़ गुण को संरक्षित करता है लेकिन निर्भरता संरक्षण को तोड़ सकता है, जिसका अर्थ है कि कुछ बाधाओं को केवल तालिकाओं को जोड़कर ही जांचा जा सकता है। 3NF संश्लेषण एल्गोरिदम दोषरहितता और निर्भरता संरक्षण दोनों की गारंटी देता है, इसलिए डिजाइनर 3NF को तब स्वीकार करते हैं जब निर्भरता-संरक्षण BCNF डिज़ाइन मौजूद नहीं होता है।