3NF और BCNF के बीच अंतर

लेखक: Laura McKinney
निर्माण की तारीख: 1 अप्रैल 2021
डेट अपडेट करें: 5 मई 2024
Anonim
उदाहरण के साथ बॉयस-कॉड नॉर्मल फॉर्म | 3NF और BCNF के बीच तुलना
वीडियो: उदाहरण के साथ बॉयस-कॉड नॉर्मल फॉर्म | 3NF और BCNF के बीच तुलना

विषय


मानकीकरण एक तरीका है जो निकालता है फालतूपन इस तरह एक संबंध से सम्मिलन, विलोपन और अद्यतन विसंगतियों को कम करना जो डेटाबेस के प्रदर्शन को नीचा दिखाते हैं। इस लेख में, हम दो उच्च सामान्य रूपों यानी 3NF और BCNF के बीच अंतर करेंगे। 3NF और BCNF के बीच बुनियादी अंतर यह है कि 3NF एक संबंध से परिवर्तनशील निर्भरता को समाप्त करता है और बीसीएनएफ में होने वाली एक तालिका, एक संबंध में तुच्छ कार्यात्मक निर्भरता X-> Y को पकड़ना चाहिए, केवल अगर X सुपर कुंजी है।

आइए नीचे दिखाए गए तुलना चार्ट की सहायता से 3NF और BCNF के बीच अंतर पर चर्चा करें।

  1. तुलना चार्ट
  2. परिभाषा
  3. मुख्य अंतर
  4. निष्कर्ष

तुलना चार्ट

तुलना के लिए आधार3NFBCNF
संकल्पनाकोई भी गैर-प्राइम विशेषता कैंडिडेट कुंजी पर ट्रांसेटिव रूप से निर्भर नहीं होनी चाहिए।किसी संबंध में किसी भी तुच्छ निर्भरता के लिए R का कहना है कि X-> Y, X, संबंध R की एक प्रमुख कुंजी है।
निर्भरतासभी निर्भरता का त्याग किए बिना 3NF प्राप्त किया जा सकता है।बीसीएनएफ में निर्भरता को संरक्षित नहीं किया जा सकता है।
सड़नदोषरहित अपघटन 3NF में प्राप्त किया जा सकता है।दोषरहित अपघटन BCNF में प्राप्त करना कठिन है।


3NF की परिभाषा

किसी तालिका या संबंध को माना जाता है तीसरा सामान्य रूप यदि टेबल पहले से है तो ही 2NF और वहाँ नहीं है गैर प्रधानमंत्री गुण संक्रामक पर निर्भर है उम्मीदवार कुंजी एक रिश्ते की।

इसलिए, इससे पहले कि मैं 3NF में एक तालिका को सामान्य करने की प्रक्रिया को संबोधित करूं, मुझे उम्मीदवार कुंजी पर चर्चा करने की अनुमति दें। ए उम्मीदवार कुंजी है न्यूनतम सुपर कुंजी यानी न्यूनतम विशेषताओं वाली एक सुपर कुंजी जो किसी संबंध की सभी विशेषताओं को परिभाषित कर सकती है। इसलिए, अपनी तालिका को सामान्य करने की प्रक्रिया में, पहले, आप किसी दिए गए संबंध की उम्मीदवार कुंजी को पहचानते हैं। उम्मीदवार कुंजी का हिस्सा होने वाले गुण हैं मुख्य विशेषताएं, और विशेषताएँ जो उम्मीदवार कुंजी का हिस्सा नहीं हैं गैर प्रमुख विशेषताएं.

अब यदि हम R (A, B, C, D, E, F) से संबंध रखते हैं और हमारे पास संबंध R के लिए फ़ंक्शन निर्भरताएँ हैं।


कार्यात्मक निर्भरता को देखते हुए, हम यह निष्कर्ष निकाल सकते हैं एबी आर के लिए एक उम्मीदवार कुंजी है क्योंकि कुंजी एबी का उपयोग करते हुए हम एक संबंध आर में सभी विशेषता के लिए मूल्य खोज सकते हैं ए, बी हो जाता है मुख्य विशेषताएं के रूप में वे एक साथ उम्मीदवार कुंजी बनाते हैं। गुण सी, डी, ई, एफ हो जाता है गैर प्रधानमंत्री विशेषताएँ क्योंकि उनमें से कोई भी उम्मीदवार कुंजी का हिस्सा नहीं है।

तालिका 2NF में है क्योंकि कोई भी गैर-प्रमुख विशेषता आंशिक रूप से उम्मीदवार कुंजी पर निर्भर नहीं है

लेकिन, विशेषता के रूप में प्रदान की गई कार्यात्मक निर्भरता के बीच एक सकर्मक निर्भरता देखी जाती है एफ सीधे उम्मीदवार कुंजी पर निर्भर नहीं है एबी। इसके बजाय, विशेषता एफ है संक्रामक उम्मीदवार कुंजी पर निर्भर एबी विशेषता के माध्यम से डी। जब तक D की विशेषता नहीं है, तब तक हम उम्मीदवार कुंजी AB से F के गुण मान तक पहुँच सकते हैं। यदि विशेषता D का मान NULL है तो हम उम्मीदवार कुंजी AB की सहायता से F का मान कभी नहीं पा सकते / खोज सकते हैं। यही कारण है कि 3NF संबंधों से सकर्मक निर्भरता को हटाने की मांग करता है।

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

अब, टेबल R1 और R2 3NF में हैं क्योंकि इसमें कोई आंशिक और सकर्मक निर्भरता नहीं बची है। रिश्ता आर 1 (ए, बी, सी, डी, ई) एक उम्मीदवार कुंजी है एबी जबकि, संबंध आर 2 (डी, ई) है डी अपने उम्मीदवार के रूप में।

बीसीएनएफ की परिभाषा

BCNF को 3NF से अधिक मजबूत माना जाता है। BCNF में होने वाला संबंध R में होना चाहिए 3NF। और जहां भी ए गैर-तुच्छ कार्यात्मक निर्भरता ए -> बी R, के संबंध में है होना चाहिए एक superkey संबंध के आर। जैसा कि हम जानते हैं, सुपर की एक कुंजी है जिसमें एक विशेषता या सेट का गुण होता है जो किसी संबंध की संपूर्ण विशेषताओं को निर्धारित करता है।

अब, बीसीएनएफ को बेहतर तरीके से समझने के लिए एक उदाहरण पर चलते हैं। हमें, मान लीजिए कि हमारा रिश्ता है आर (ए, बी, सी, डी, एफ), जिनके पास कार्यात्मक निर्भरताएँ हैं।

संबंध R को देखकर हम ऐसा कह सकते हैं तथा बीएफ कर रहे हैं उम्मीदवार कुंजी संबंध R का, क्योंकि वे अकेले संबंध R. में सभी विशेषताओं के लिए मूल्य खोज सकते हैं ए, बी, एफ हैं प्रधान विशेषताएँ जबकि, सी तथा डी कर रहे हैं गैर प्रधानमंत्री जिम्मेदार बताते हैं। ऊपर मौजूद कार्यात्मक निर्भरताओं में कोई सकरात्मक निर्भरता नहीं देखी गई है। इसलिए, तालिका R 3NF में है।

लेकिन एक कार्यात्मक निर्भरता यानी। डी -> एफ BCNF की परिभाषा का उल्लंघन कर रहा है, जिसके अनुसार, यदि D -> F मौजूद है डी होना चाहिए सुपर की जो यहाँ नहीं है। इसलिए हम संबंध R को विभाजित करेंगे।

अब, तालिकाएँ R1 nd R2 BCNF में हैं। रिश्ता आर 1 के पास दो हैं उम्मीदवार चांबियाँ तथा बी, R1 के A-> BCD और B -> ACD की तुच्छ कार्यात्मक निर्भरता, BCNF के लिए A और B संबंध के लिए सुपर कीज़ हैं। रिश्ता आर 2 है डी इसी तरह उम्मीदवार कुंजी और कार्यात्मक निर्भरता D -> F भी BCNF के लिए है क्योंकि D एक सुपर की है।

  1. 3NF बताता है कि किसी भी गैर-प्रमुख विशेषता को संबंध की उम्मीदवार कुंजी पर सकारत्मक रूप से निर्भर नहीं होना चाहिए। दूसरी ओर, बीसीएनएफ कहता है कि यदि एक तुच्छ कार्यात्मक निर्भरता एक्स -> वाई एक संबंध के लिए मौजूद है; तब X एक सुपर कुंजी होनी चाहिए।
  2. 3NF संबंध की निर्भरता का त्याग किए बिना प्राप्त किया जा सकता है। हालांकि, बीसीएनएफ प्राप्त करते समय निर्भरता को संरक्षित नहीं किया जा सकता है।
  3. पुरानी तालिका से किसी भी जानकारी को खोए बिना 3NF प्राप्त किया जा सकता है, जबकि BCNF प्राप्त करते समय हम पुरानी तालिका से कुछ जानकारी को ढीला कर सकते हैं।

निष्कर्ष:

बीसीएनएफ 3 एनएफ की तुलना में बहुत अधिक प्रतिबंधात्मक है जो तालिका को सामान्य करने में मदद करते हैं। 3NF में संबंध न्यूनतम अतिरेक है जो BCNF द्वारा आगे हटा दिया गया है।