扩展与折叠操作符的泛化及相关应用
1. 引言
在之前的研究中,我们引入了 EXPAND 和 COLLAPSE 操作符,并着重探讨了它们在处理区间集合时的效果。实际上,我们完全可以将这些操作符进行泛化,使其适用于更多类型的集合,这样做可能会带来诸多益处。接下来,我们将简要探讨这种泛化的可能性。
2. 关系集合
设 X 是一个关系集合,其中所有关系都具有相同的关系类型 RT。我们对 EXPAND(X) 和 COLLAPSE(X) 进行如下定义:
- EXPAND(X) :返回一个关系集合 Y,其中每个关系的基数为 1。当且仅当 X 中存在包含元组 t 的关系时,Y 中才会出现包含元组 t 的关系。特别地,如果 X 为空集,那么 Y 也为空集。
- COLLAPSE(X) :返回一个仅包含一个关系的集合 Y,该关系的类型为 RT,它是 X 中所有关系的并集。若 X 为空集,Y 包含一个类型为 RT 的空关系;若 X 仅包含一个关系 r,那么 Y 也仅包含该关系 r。
以下是一个示例,展示了关系集合的扩展和折叠形式:
| 给定关系集合 | 扩展形式 | 折叠形式 |
| — | — | — |
| S#: $2, $2, $1, $4, $2, $4, $1, $1, $2, $3, $2, $3, $4, $3 | s, | S#: 51, 52, $3, 54 |
3. 集合的集合
同样地,我们可以为集合的集合定义 EXPAND 和 COLLAPSE 操作。设 ST 为某种集合类型,X 是一个
超级会员免费看
订阅专栏 解锁全文
106

被折叠的 条评论
为什么被折叠?



