7

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

मुझे http://www.cs.kent.edu/~jin/DM09Fall/lecture6.ppt से एक पावरपॉइंट मिला है जो एक उदाहरण दिखाता है जिसे मैं पूरी तरह से समझ नहीं सकता। यह नीचे पोस्ट किया गया है।

R = (A, B, C)F = {A → B, B → C) 
Can be decomposed in two different ways 
R1 = (A, B), R2 = (B, C) 
Lossless-join decomposition: 
     R1 ∩ R2 = {B} and B → BC 
Dependency preserving 
R1 = (A, B), R2 = (A, C) 
Lossless-join decomposition: 
     R1 ∩ R2 = {A} and A → AB 
Not dependency preserving (cannot check B -> C without computing R1 ⋈ R2) 

तो मैं समझता हूँ कि एक → बी और बी → सी होने का मतलब है कि आप, "संदर्भ" एक दूसरे पर है जबकि एक → बी और A → सी का मतलब है कोई संदर्भ या बी और सी के बीच की कड़ी है ।

तो,

  1. करता दोषरहित-शामिल होने के अपघटन का मतलब है कि डेटा समग्र अब भी बरकरार है? दोनों परिदृश्यों में, आप अंततः दोनों डेटा प्राप्त कर सकते हैं, है ना? यदि यह गलत है, तो कृपया मुझे सही करें! :)

  2. दूसरे अपघटन में उस कनेक्शन बी से सी होने का महत्व क्या है, और यह कैसे निर्भरता को संरक्षित नहीं करता है?

    • यदि कोई हटा दिया गया है तो आपके पास कोई संबंध नहीं होने पर बी और सी होगा।

    • बी आप अभी भी होगा नष्ट कर दिया जाता है, तो A → सी

    • सी क्योंकि पहले उदाहरण में भी आप अभी भी एक → बी

होगा नष्ट कर दिया जाता है, तो आप अभी भी मूल्यों को हटाने पर समान परिणामों के साथ समाप्त हो जाएगा।

  • तो एक हटाया जाता है तो आप अभी भी बी → सी के संबंध होगा

    • बी नष्ट कर दिया गया है, तो आप बस कोई संबंध के साथ ए और सी होगा।

    • सी नष्ट कर दिया गया है, तो आप, A → बी

तो किसी भी तरह का एक रिश्ता नहीं है अगर आप प्रत्येक आइटम को हटाने आप अभी भी एक संबंध के दो उदाहरणों और एक उदाहरण होगा दो आइटमों में से कोई संबंध नहीं है

मेरा अनुमान है कि "मध्य व्यक्ति संबंध" को हटाने में (क्या इसके लिए कोई शब्द है), उदाहरण 1 में बी और उदाहरण 2 में ए, यह है कि आप अभी भी उदाहरण 1 के संबंध में हैं ए → बी फिर बी → सी, जबकि उदाहरण 2 में आप ए → बी के साथ अटक गए हैं, ए के साथ कोई कनेक्शन नहीं है → सी

लेकिन जैसा कि आप देख सकते हैं कि मैं अब डेटा स्क्वायरेंसी का कारण बनता हूं और "डेटा निर्भरता क्या है" या "डेटा निर्भरता के उदाहरण" को गुगल करते समय यह कोई समझ नहीं आता है मुझे।

यदि कोई मेरे लिए यह स्पष्ट करने में मदद कर सकता है तो इसकी सराहना की जाएगी।

+0

एफडी के पास "लिंक" या "संदर्भ" से कोई लेना देना नहीं है। ए → बी एक संबंध में है जब ए के लिए प्रत्येक दिए गए मान की सभी घटनाएं बी के लिए समान मान के साथ प्रकट होती हैं। एक परिभाषा पढ़ें। – philipxy

उत्तर

2

लापरवाही से जुड़ने का मतलब यह नहीं है कि किसी भी tuples खो गए हैं, या शामिल होने के बाद पुनर्प्राप्त नहीं किया जा सकता है। लापरवाही में शामिल होने का अर्थ है नकली tuples की पीढ़ी जो "अतिरिक्त" पंक्तियों (tuples) और "सूचना" के लिए नेतृत्व खो दिया जाता है कहा जाता है।

इसे बस रखना मुझे लगता है कि निर्भरता संरक्षित है जब हम एक उप-स्कीमा के गुणों में एफडी के दोनों तरफ पाते हैं। (अगर कोई गलत है तो कृपया मुझे सही करें)।

6

आर 1 और आर 2 में एक रिलेशन आर का अपघटन लापरवाही में शामिल है यदि आप रिलेशन आर 1 और आर 2 (फॉर्म आर 1 ⋈ आर 2 आप आर प्राप्त कर सकते हैं) में शामिल होकर आर को वापस बना सकते हैं।

में R1 और R2 दोषरहित होने के लिए संबंध आर के अपघटन के लिए, यह 2 हालत के किसी भी पूरा करना चाहिए:

1. R1 ∩ R2 -> R1 
2. R1 ∩ R2 -> R2 

ऊपर संबंध कोई मतलब तो यह है कि यह के बारे में सोच नहीं है, तो जब आप 2 रिलेशनशिप आर 1 और आर 2 को अंतर कर रहे हैं और सामान्य गुण प्राप्त कर रहे हैं तो यदि सामान्य गुण किसी भी संबंध को निर्धारित करने में सक्षम हैं तो यह (इन) सामान्य विशेषता (ओं) प्राप्त संबंध के लिए उम्मीदवार कुंजी है (सोचो क्यों?) और इसलिए आप इस उम्मीदवार कुंजी का उपयोग आर

प्राप्त करने के संबंध में अन्य संबंध प्राप्त करने में शामिल हो सकते हैं निर्भरता पी के संबंध में रिजर्वेशन, रिलेशनशिप आर का अपघटन निर्भरता को संरक्षित करता है यदि सभी विघटित संबंधों की कार्यात्मक निर्भरता के संघ को लेकर आर की कार्यात्मक निर्भरता प्राप्त की जा सकती है।

+0

पहला पैराग्राफ एक सही परिभाषा है। दूसरा नहीं है। (आपने उन्हें विकिपीडिया से लिया है लेकिन यह गलत है।) यह एक शर्त है * * का मतलब है * हानि रहित अपघटन लेकिन आवश्यक नहीं है। वैसे भी एफडी संरक्षण लापरवाही पर निर्भर नहीं है। (* जैसा कि आपका अंतिम अनुच्छेद कहता है। *) – philipxy

संबंधित मुद्दे