การสลายตัวใน DBMS จะลบความซ้ำซ้อน ความผิดปกติ และความไม่สอดคล้องออกจากฐานข้อมูลโดยแบ่งตารางออกเป็นหลายตาราง
ต่อไปนี้เป็นประเภท -
การสลายตัวแบบไม่สูญเสีย
การสลายตัวจะไม่สูญเสียหากเป็นไปได้ในการสร้างความสัมพันธ์ R ขึ้นใหม่จากตารางที่สลายโดยใช้การรวม นี่คือตัวเลือกที่ต้องการ ข้อมูลจะไม่สูญหายจากความสัมพันธ์เมื่อย่อยสลาย การรวมจะส่งผลให้เกิดความสัมพันธ์แบบเดิม
เรามาดูตัวอย่างกัน −
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | จาค็อบ | 29 | แอละแบมา | Dpt1 | การดำเนินการ |
E002 | เฮนรี่ | 32 | แอละแบมา | Dpt2 | HR |
E003 | ทอม | 22 | เท็กซัส | Dpt3 | การเงิน |
แบ่งตารางด้านบนออกเป็นสองตาราง:
Emp_ID | Emp_Name | Emp_Age | Emp_Location |
E001 | จาค็อบ | 29 | แอละแบมา |
E002 | เฮนรี่ | 32 | แอละแบมา |
E003 | ทอม | 22 | เท็กซัส |
Dept_ID | Emp_ID | Dept_Name |
Dpt1 | E001 | การดำเนินการ |
Dpt2 | E002 | HR |
Dpt3 | E003 | การเงิน |
ตอนนี้ Natural Join ถูกนำไปใช้กับสองตารางด้านบน -
ผลลัพธ์จะเป็น −
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | จาค็อบ | 29 | แอละแบมา | Dpt1 | การดำเนินการ |
E002 | เฮนรี่ | 32 | แอละแบมา | Dpt2 | HR |
E003 | ทอม | 22 | เท็กซัส | Dpt3 | การเงิน |
ดังนั้นความสัมพันธ์ข้างต้นจึงมีการสลายตัวแบบไม่สูญเสียข้อมูล กล่าวคือ ไม่มีข้อมูลสูญหาย
การสูญเสียการสลายตัว
ตามชื่อที่แนะนำ เมื่อความสัมพันธ์ถูกแยกออกเป็นสองสกีมาเชิงสัมพันธ์ การสูญเสียข้อมูลจะหลีกเลี่ยงไม่ได้เมื่อมีการดึงความสัมพันธ์ดั้งเดิม
เรามาดูตัวอย่างกัน −
Emp_ID | Emp_Name | Emp_Age | Emp_Location | Dept_ID | Dept_Name |
E001 | จาค็อบ | 29 | แอละแบมา | Dpt1 | การดำเนินการ |
E002 | เฮนรี่ | 32 | แอละแบมา | Dpt2 | HR |
E003 | ทอม | 22 | เท็กซัส | Dpt3 | การเงิน |
แบ่งตารางด้านบนออกเป็นสองตาราง -
Emp_ID | Emp_Name | Emp_Age | Emp_Location |
E001 | จาค็อบ | 29 | แอละแบมา |
E002 | เฮนรี่ | 32 | แอละแบมา |
E003 | ทอม | 22 | เท็กซัส |
Dept_ID | Dept_Name |
Dpt1 | การดำเนินการ |
Dpt2 | HR |
Dpt3 | การเงิน |
ตอนนี้ คุณจะไม่สามารถเข้าร่วมตารางด้านบนได้ เนื่องจาก Emp_ID ไม่ได้เป็นส่วนหนึ่งของ DeptDetails ความสัมพันธ์
ดังนั้นความสัมพันธ์ข้างต้นจึงมีการสลายตัวที่สูญเสียไป