Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

पांचवां सामान्य रूप (5NF)


5NF (पांचवां नॉर्मल फॉर्म) को प्रोजेक्ट-जॉइन नॉर्मल फॉर्म के नाम से भी जाना जाता है। एक संबंध पांचवें सामान्य रूप (5NF) में है, यदि यह 4NF में है, और छोटी तालिकाओं में दोषरहित अपघटन नहीं होगा।

आप यह भी विचार कर सकते हैं कि एक संबंध 5NF में है, यदि उम्मीदवार कुंजी का तात्पर्य इसमें शामिल प्रत्येक निर्भरता से है।

उदाहरण

नीचे दिया गया संबंध सामान्यीकरण के पांचवें सामान्य फॉर्म (5NF) का उल्लंघन करता है -

<कर्मचारी>

EmpName
EmpSkills
EmpJob (सौंपा गया कार्य)
डेविड
Java
E145
जॉन
JavaScript
E146
जेमी
jQuery
E146
एम्मा
Java
E147

उपरोक्त संबंध को निम्नलिखित तीन तालिकाओं में विघटित किया जा सकता है; इसलिए, यह 5NF − . में नहीं है

<कर्मचारी कौशल>

EmpName
EmpSkills
डेविड
Java
जॉन
JavaScript
जेमी
jQuery
एम्मा
Java

निम्नलिखित <कर्मचारी जॉब> संबंध है जो प्रत्येक कर्मचारी को सौंपे गए कार्यों को प्रदर्शित करता है -

<कर्मचारी नौकरी>

EmpName
EmpJob
डेविड
E145
जॉन
E146
जेमी
E146
एम्मा
E147

यहाँ वे कौशल हैं जो असाइन किए गए कार्यों से संबंधित हैं -

<नौकरी कौशल>

EmpSkills
EmpJob
जावा
E145
JavaScript
E146
jQuery
E146
जावा
E147

हमारी जॉइन डिपेंडेंसी -

{(EmpName, EmpSkills ), (EmpName, EmpJob), (EmpSkills, EmpJob)}

उपरोक्त संबंध निर्भरता में शामिल हो गए हैं, इसलिए वे 5NF में नहीं हैं। इसका मतलब यह होगा कि उपरोक्त तीन संबंधों का संबंध हमारे मूल संबंध के बराबर है <कर्मचारी>


  1. दूसरा सामान्य फॉर्म (2NF)

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

  1. तीसरा सामान्य फॉर्म (3NF)

    3NF क्या है? सामान्यीकरण में तीसरा चरण 3NF है। एक तालिका 3NF में होती है, केवल तभी जब कोई संबंध 2NF में हो और उसमें कोई ट्रांजिटिव फंक्शनल डिपेंडेंसी न हो आइए एक उदाहरण देखें - उदाहरण (तालिका 3NF का उल्लंघन करती है) Movie_ID Listing_ID Listing_Type DVD_Price ($) 0089 007 कॉमेडी

  1. Django में प्रपत्र विजेट

    इस लेख में, हम देखेंगे कि Django रूप में विजेट्स का उपयोग कैसे करें। फ़्रंटएंड को बेहतर बनाने के लिए विजेट शांत सहायक हो सकते हैं। विजेट एचटीएमएल तत्व हैं जो Django फॉर्म, टेक्स्टरेरा, इनपुट, पासवर्ड इनपुट इत्यादि से प्रस्तुत किए जाते हैं, सभी विजेट हैं। सबसे पहले एक Django प्रोजेक्ट और एक ऐप बनाते