扩展选择以保持整个组合在一起

时间:2017-03-06 07:00:23

标签: language-agnostic relational-algebra

假设我与列IDGROUP_IDDATA有关系; {ID}是关键。我向用户展示了一些根据他们喜欢的方式选择行子集的方法,但我必须将他们的选择扩展为始终包含整个组。我现在正在做什么(其中filter是用户提供的函数,而r是我的原始关系):

r' = r ⋉ π{GROUP_ID} (r ⋉ π{ID} (filter r))

(或者,使用函数名称:

r' = semiJoin r (project {GROUP_ID} (semiJoin r (project {ID} (filter r))))

有没有办法在避免r上的双半连接时获得相同的结果?由于它是用户提供的,我不想信任"信任"函数filter;特别是,我不想要filter r

  • r
  • 具有相同的列
  • 将{ID}作为关键
  • 没有提出不在ID
  • 中的r

我想要的唯一要求是r有一列ID

0 个答案:

没有答案