关系代数 - 交集性质

时间:2016-03-18 21:07:44

标签: database database-design relational-algebra set-theory

这项调查最初是以测试问题开始的,我断言

    R ∩ S = R ∩ (R ∩ S)

正如我研究的那样,我无法提供关于关系代数中交集属性的更多信息。

如果这是设定理论,我会断言

    R ∩ (R ∩ S) => Associativity
      (R ∩ R) ∩ S => Idempotence
          (R) ∩ S = R ∩ S

使用关系代数,我们反而在行李箱上操作。我相信我可以采取这些相同的步骤(幂等似乎微不足道,并且在http://comet.lehman.cuny.edu/stjohn/teaching/db/ullmanSlidesF00/slides7.pdf的第3页上建议使用袋子,但我不能完全通过正式证明。

任何人都可以帮助我断言(或通过反例或其他方式反驳)关系代数中交叉点的相关性和幂等性吗?

非常感谢。

2 个答案:

答案 0 :(得分:0)

关系模型是在集合上正式定义的,因此关系代数仅在集合上定义。但是由于关系数据库将模型扩展为包含多个集合或包,因此关系代数已经类似地扩展到多个集合,并且几乎所有关于数据库的现代书籍都描述了这种扩展。

特别是,使用符号Op b 来表示运算符Op对多重集合的变体,我们可以定义运算符∩ b ,∪ b 和 - b 如下:

R∩ b S:如果元素 t 在R中出现 n 次,在 m 次出现在S中,然后在R∩ b S中出现 min(n,m)次;

R∪ b S:如果元素 t 在R中出现 n 次,在S中出现 m 次,然后在R∪ b S中出现 n + m 次;

R - b S:如果元素 t 在R中出现 n 次,在 m 次出现在S中,然后在R - b S中出现 max(0,nm)次。

你想表明:

R∩ b S =R∩ b (R∩ b S)

正如您的正确推导所示,如果我们能够证明运算符∩ b 的Associativity和Idempotence属性,就可以证明这一点。

幂等性:

R∩ b R = R

在这种情况下,由于每个元素在两个操作数中出现的次数相同,即 m = n ,我们看到 min(n,n)= n 结果中的次数,即它与R的次数相同。

关联性:

(R∩ b S)∩ b T =R∩ b (S∩ b T)

假设某个元素 t 在R中出现 n 次,在S中出现 m 次,而 k T中的时间,我们有:

(R∩ b S)∩ b T

结果中会出现 min(min(n,m),k)次,这等于 min(n,m,k)。另一方面,在:

R∩ b (S∩ b T)

在结果中会出现 min(n,min(m,k))次,但这又等于 min(n,m,k)

所以这意味着它在两个结果中都会显示相同的次数,因此两个结果是相等的。

答案 1 :(得分:0)

由于philipxy已经评论过,关系是集合,因此集合理论适用。下面提供的链接为您提供了转换等价的列表,并且在那里列出了union和intersection的关联属性。

http://www.postgresql.org/message-id/attachment/32495/equivalenceRules.pdf

关于有多少关系代数定理在SQL数据库领域而不是关系代数中可以证明是真实的,可能会提出这个问题。这是有问题的,因为任何给定的实现都可能存在错误,并且SQL模型中甚至可能存在缺陷。我倾向于盲目地认为关系代数的结果延续到实际世界,但是一些深刻的思想家在这方面听起来很谨慎。