gpt4 book ai didi

database - 有损分解

转载 作者:太空狗 更新时间:2023-10-30 01:41:45 24 4
gpt4 key购买 nike

为什么有损分解称为有损分解?我们在有损分解中究竟损失了什么?

存在关系R,分解为两个关系R1和R2。

如果R = (R1 JOIN R2) 则为无损连接分解。没问题。

如果 R 是 (R1 JOIN R2) 的子集,则有损连接分解。

这里是有损连接分解,在连接 R1 和 R2 之后我们实际上获得了比 R 多的记录。那么我们丢失了什么。 ?

最佳答案

由于我们正在处理某个实例 R,因此该关系包含固定数量的记录。它还隐含地包含有关哪些记录不存在的信息。如果 R1 和 R2 的连接产生额外的记录,我们将失去信息完整性。

假设您使用以下关系 R = (SSN, Name, Address):

           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 Oak 或 3 Pine——我们不再有此信息。

这就是额外信息如何导致有损分解的原因。 记录并没有丢失——我们丢失的是关于哪些记录处于原始关系中的信息

关于database - 有损分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com