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