关系代数的第一个和最后一个日期

时间:2014-10-05 02:21:04

标签: relational-algebra

我刚刚开始学习数据库关系代数,我对这两个问题感到困惑。

最初的问题比较复杂,但我设法将其缩小并简化为下表,我无法弄清楚如何做,请帮助PLZ。

enter image description here

1 个答案:

答案 0 :(得分:1)

这很有趣,因为顺序不是通常存在于关系代数中的概念。因此,我们使用了一种解决方法。我们将使用关系R的两个副本,我将调用一个X,另一个Y

  1. 在name属性上等同于XY,它为我们提供了关系属性(X.id, X.date, X.name, Y.id, Y.date, Y.name)。我会称之为联合关系J
  2. 从满足J的{​​{1}}条目中进行选择。我们现在有一个关系,其中捐赠者的第一个日期仅存在于X.date < Y.date,而最后一个日期仅存在于X.date
  3. 我们采用原始关系Y.date和项目R来获取捐赠者捐赠的所有日期。
  4. 最后,为了获得第一个日期的关系,我们预测(R.date, R.name)(没有第一个日期),并设置差异(Y.date, Y.name)。同样,First dates = (R.date, R.name)\(Y.date, Y.name)