Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Phân rã không mất mát (Lossless) và mất mát (Lossy) trong DBMS

Phân rã (Decomposition) trong DBMS loại bỏ dư thừa, dị thường và không nhất quán từ cơ sở dữ liệu bằng cách chia bảng thành nhiều bảng.

Dưới đây là các loại:

Phân rã không mất mát (Lossless Decomposition)

Phân rã là không mất mát nếu có thể tái tạo quan hệ R từ các bảng đã phân rã bằng cách sử dụng Join (kết nối). Đây là lựa chọn ưu tiên. Thông tin sẽ không mất từ quan hệ khi phân rã. Kết quả join sẽ cho lại quan hệ gốc.

Ví dụ:

<EmpInfo>

Emp_ID Emp_Name Emp_Age Emp_Location Dept_ID Dept_Name
E001 Jacob 29 Alabama Dpt1 Operations
E002 Henry 32 Alabama Dpt2 HR
E003 Tom 22 Texas Dpt3 Finance

Phân rã bảng trên thành hai bảng:

<EmpDetails>

Emp_ID Emp_Name Emp_Age Emp_Location
E001 Jacob 29 Alabama
E002 Henry 32 Alabama
E003 Tom 22 Texas

<DeptDetails>

Dept_ID Emp_ID Dept_Name
Dpt1 E001 Operations
Dpt2 E002 HR
Dpt3 E003 Finance

Bây giờ, Natural Join được áp dụng trên hai bảng trên:

Kết quả sẽ là:

Emp_ID Emp_Name Emp_Age Emp_Location Dept_ID Dept_Name
E001 Jacob 29 Alabama Dpt1 Operations
E002 Henry 32 Alabama Dpt2 HR
E003 Tom 22 Texas Dpt3 Finance

Do đó, quan hệ trên có phân rã không mất mát tức là không mất thông tin.

Phân rã mất mát (Lossy Decomposition)

Como o nome sugere, quando uma relação é decomposta em dois ou mais esquemas relacionais, a perda de informação é inevitável quando a relação original é recuperada.

Ví dụ:

<EmpInfo> (giống bảng trên)

Phân rã thành hai bảng:

<EmpDetails> (giống bảng trên)

<DeptDetails>

Dept_ID Dept_Name
Dpt1 Operations
Dpt2 HR
Dpt3 Finance

Bây giờ, bạn sẽ không thể join hai bảng trên, vì Emp_ID không phải là một phần của quan hệ DeptDetails.

Do đó, quan hệ trên có phân rã mất mát (lossy decomposition).