पार्शियल डिपेंडेंसी क्या है?
पार्शियल डिपेंडेंसी तब होती है जब एक नॉन-प्राइम एट्रिब्यूट एक उम्मीदवार कुंजी के हिस्से पर फंक्शनली डिपेंडेंट होता है।
सेकंड नॉर्मल फॉर्म (2NF) पार्शियल डिपेंडेंसी को समाप्त करता है।
आइए एक उदाहरण देखें:
उदाहरण
<StudentProject>
| StudentID | ProjectNo | StudentName | ProjectName |
|---|---|---|---|
| S01 | 199 | Katie | Geo Location |
| S02 | 120 | Ollie | Cluster Exploration |
उपरोक्त टेबल में, हमारे पास पार्शियल डिपेंडेंसी है; आइए देखें कैसे:
प्राइम की एट्रिब्यूट StudentID और ProjectNo हैं, और
| एट्रिब्यूट | विवरण |
|---|---|
| StudentID | छात्र की अद्वितीय आईडी |
| StudentName | छात्र का नाम |
| ProjectNo | प्रोजेक्ट की अद्वितीय आईडी |
| ProjectName | प्रोजेक्ट का नाम |
जैसा कि कहा गया है, नॉन-प्राइम एट्रिब्यूट यानी StudentName और ProjectName उम्मीदवार कुंजी के हिस्से पर फंक्शनली डिपेंडेंट होने चाहिए, ताकि वे पार्शियल डिपेंडेंट हों।
StudentName को StudentID द्वारा निर्धारित किया जा सकता है, जो संबंध को पार्शियल डिपेंडेंट बनाता है।
ProjectName को ProjectNo द्वारा निर्धारित किया जा सकता है, जो संबंध को पार्शियल डिपेंडेंट बनाता है।
इसलिए, <StudentProject> रिलेशन नॉर्मलाइजेशन में 2NF का उल्लंघन करता है और इसे खराब डेटाबेस डिजाइन माना जाता है।
पार्शियल डिपेंडेंसी और 2NF पर उल्लंघन को हटाने के लिए, टेबल को डीकंपोज करें:
<StudentInfo>
| StudentID | ProjectNo | StudentName |
|---|---|---|
| S01 | 199 | Katie |
| S02 | 120 | Ollie |
<ProjectInfo>
| ProjectNo | ProjectName |
|---|---|
| 199 | Geo Location |
| 120 | Cluster Exploration |
अब रिलेशन डेटाबेस नॉर्मलाइजेशन के सेकंड नॉर्मल फॉर्म में है।