簡體   English   中英

無損分解

[英]Lossless Decomposition

考慮模式R(A,B,C,D)和函數依賴性A⟶B和C⟶D。那么為什么不將R分解為R1(A,B)和R2(C,D)進行無損分解? 你能用現實生活中的例子解釋一下這里丟失了什么信息嗎?

您當然需要在無損分解中概述的兩個關系R1(A,B)和R2(C,D),但是您丟失了關於哪些A值與哪些C值相關聯的關鍵信息。原R(A,B,C,D)。 因此,您還需要R3(A,C)來保留所有原始信息。

關系R.

A    B    C    D
1    2    13   14
2    2    13   14
3    1    12   15

關系R1

A    B
1    2
2    2
3    1

關系R2

C    D
13   14
12   15

加入R1和R2(笛卡爾積); 偽造的行標有☜

A    B    C    D
1    2    13   14
1    2    12   15   ☜
2    2    13   14
2    2    12   15   ☜
1    3    13   14   ☜
3    1    12   15

由於此連接與R不同,因此建議的分解不是無損的。

關系R3

A   C
1   13
2   13
3   12

加入R1,R2,R3

A    B    C    D
1    2    13   14
2    2    13   14
3    1    12   15

由於該結果關系與原始R相同,因此分解為R1,R2和R3是無損的。

那么為什么不將R分解成R1(A,B)和R2(C,D)進行無損分解?

因為現在(A,B)和(C,D)是不相關的,它們不是。 你還需要A和C之間的關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM