首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无损分解

无损分解
EN

Stack Overflow用户
提问于 2012-11-03 06:02:39
回答 2查看 4K关注 0票数 6

考虑一个模式R(A,B,C,D)和函数依赖A⟶B和C⟶D。那么为什么R的R1(A,B)和R2(C,D)分解不是无损分解呢?你能用现实生活中的例子解释一下这里丢失了什么信息吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-03 06:19:29

您当然需要在无损分解中概述的两个关系R1(A,B)和R2(C,D),但是您已经丢失了关于哪些A值与原始R(A,B,C,D)中存在的哪些C值相关联的关键信息。因此,您还需要R3(A,C)来保存所有原始信息。

关系R

代码语言:javascript
复制
A    B    C    D
1    2    13   14
2    2    13   14
3    1    12   15

关系R1

代码语言:javascript
复制
A    B
1    2
2    2
3    1

关系R2

代码语言:javascript
复制
C    D
13   14
12   15

连接R1和R2 (笛卡尔积);标记为☜的伪行

代码语言:javascript
复制
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

代码语言:javascript
复制
A   C
1   13
2   13
3   12

加入R1、R2、R3

代码语言:javascript
复制
A    B    C    D
1    2    13   14
2    2    13   14
3    1    12   15

由于此结果关系与原始R相同,因此分解为R1、R2和R3是无损的。

票数 10
EN

Stack Overflow用户

发布于 2012-11-03 06:21:16

那么为什么R的R1(A,B)和R2(C,D)的分解不是无损分解呢?

因为现在(A,B)和( C,D)是不相关的,它们是不相关的。你还需要A和C之间的关系。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13203638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档