如何选择关系代数中的计数

时间:2014-03-26 11:46:05

标签: relational-algebra

我有以下关系数据库:

**Company** (company-name, address, grade, last-year-profit) 

**Agent-of** (agency-name, company-name) 

**Agency** (agency-name, city) 

**Manager** (company-name, manager-name) 

现在我想找到拥有8个以上代理商的公司的地址(即代理商代理的代理商)。

我该怎么做?我不明白如何统计代理商,然后根据这个数量进行选择。或者我的想法错了?

1 个答案:

答案 0 :(得分:2)

最常见的关系代数版本不支持聚合(例如计算元组)(但请注意里程可能会有所不同)。

如果没有聚合,您的问题仍然可以通过8路自联接来解决:

  • 加入公司名称 agent-of 的8个“副本”以获取(公司名称agency-name1 agency-name2 ... agency-name8)
  • 将其限制为代理商名称2<> agency-name1和agency-name3<> agency-name1和agency-name3<> agency-name2和......
  • 通过公司名称进行项目。