11
爲什麼有損分解被稱爲有損?究竟我們在有損分解中損失了什麼?有損分解
有一個關係R.它被分解爲兩個關係R1和R2。
如果R =(R1 JOIN R2)那麼它是無損聯合分解。它是沒問題的。
如果R是(R1 JOIN R2)的子集,則有損聯合分解。
這裏是有損連接分解,在連接R1和R2之後,我們實際上得到的記錄比R多。所以我們失去了什麼。 ?
爲什麼有損分解被稱爲有損?究竟我們在有損分解中損失了什麼?有損分解
有一個關係R.它被分解爲兩個關係R1和R2。
如果R =(R1 JOIN R2)那麼它是無損聯合分解。它是沒問題的。
如果R是(R1 JOIN R2)的子集,則有損聯合分解。
這裏是有損連接分解,在連接R1和R2之後,我們實際上得到的記錄比R多。所以我們失去了什麼。 ?
由於我們正在處理某個實例R,因此該關係包含固定數量的記錄。它還含蓄地包含有關哪些記錄不存在的信息。如果R1和R2的連接產生額外的記錄,我們將失去信息完整性。
假設你使用以下關係R =(SSN,姓名,地址):
R
SSN Name Address
1111 Joe 1 Pine
2222 Alice 2 Oak
3333 Alice 3 Pine
令R1 =(SSN,姓名)和R2 =(姓名,地址)。
R1 R2
SSN Name | Name Address
1111 Joe | Joe 1 Pine
2222 Alice | Alice 2 Oak
3333 Alice | Alice 3 Pine
R1和R2的連接將產生下表:
R1 join R2
SSN Name Address
1111 Joe 1 Pine
2222 Alice 2 Oak
2222 Alice 3 Pine
3333 Alice 2 Oak
3333 Alice 3 Pine
在本例中失去了的信息是地址人2222和3333在原始關係,R,人2222住在2 Oak。在R1和R2的加入中,2222人或者生活在2橡樹或者3鬆 - 我們不再擁有這些信息。
這是如何額外的信息可以導致有損分解。 記錄沒有丟失 - 我們丟失的是信息關於哪些記錄是原始關係。
感謝您的回答 – user1710986
只是猜測,如果有損分解導致加入兩個關係後元組僅增加。連接兩個(有損分解)關係會導致元組數量減少嗎? – Mahesha999
無損分解的定義與記錄或元組的數量無關 - 我們在這裏處理的組件是一個關係和兩個或更多的分解關係。但是要回答你的問題,有損分解不僅會導致記錄/元組增加。它也可能導致更少的記錄或相同數量的記錄。 – ithinkisam