DBMS में अपघटन तालिका को कई तालिकाओं में विभाजित करके डेटाबेस से अतिरेक, विसंगतियों और विसंगतियों को दूर करता है।
निम्नलिखित प्रकार हैं -
दोषरहित अपघटन
यदि जॉइन का उपयोग करके विघटित तालिकाओं से संबंध R को फिर से बनाना संभव है तो अपघटन दोषरहित है। यह पसंदीदा विकल्प है। जानकारी विघटित होने पर संबंध से नहीं हटेगी। शामिल होने का परिणाम वही मूल संबंध होगा।
आइए एक उदाहरण देखें -
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | Jacob | 29 | अलाबामा | Dpt1 | संचालन |
E002 | Henry | 32 | अलाबामा | Dpt2 | HR |
E003 | Tom | 22 | टेक्सास | Dpt3 | Finance |
उपरोक्त तालिका को दो तालिकाओं में विभाजित करें:
Emp_ID | Emp_Name | Emp_Age | Emp_Location |
E001 | Jacob | 29 | अलाबामा |
E002 | Henry | 32 | अलाबामा |
E003 | Tom | 22 | टेक्सास |
<विभाग विवरण>
Dept_ID | Emp_ID | Dept_Name |
Dpt1 | E001 | संचालन |
Dpt2 | E002 | HR |
Dpt3 | E003 | Finance |
अब, उपरोक्त दो तालिकाओं पर प्राकृतिक जुड़ाव लागू होता है -
परिणाम होगा -
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | Jacob | 29 | अलाबामा | Dpt1 | संचालन |
E002 | Henry | 32 | अलाबामा | Dpt2 | HR |
E003 | Tom | 22 | टेक्सास | Dpt3 | Finance |
इसलिए, उपरोक्त संबंध में दोषरहित अपघटन यानी जानकारी का कोई नुकसान नहीं था।
हानिकारक अपघटन
जैसा कि नाम से पता चलता है, जब कोई संबंध दो या दो से अधिक संबंधपरक स्कीमा में विघटित हो जाता है, तो मूल संबंध पुनर्प्राप्त होने पर जानकारी का नुकसान अपरिहार्य होता है।
आइए एक उदाहरण देखें -
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | Jacob | 29 | अलाबामा | Dpt1 | संचालन |
E002 | Henry | 32 | अलाबामा | Dpt2 | HR |
E003 | Tom | 22 | टेक्सास | Dpt3 | Finance |
उपरोक्त तालिका को दो तालिकाओं में विभाजित करें -
Emp_ID | Emp_Name | Emp_Age | Emp_Location |
E001 | Jacob | 29 | अलाबामा |
E002 | Henry | 32 | अलाबामा |
E003 | Tom | 22 | टेक्सास |
<विभाग विवरण>
Dept_ID | Dept_Name |
Dpt1 | संचालन |
Dpt2 | HR |
Dpt3 | Finance |
अब, आप उपरोक्त तालिकाओं में शामिल नहीं हो पाएंगे, क्योंकि Emp_ID विभाग विवरण . का हिस्सा नहीं है संबंध।
इसलिए, उपरोक्त संबंध में हानिपूर्ण अपघटन है।