【问题标题】:Relational Algebra First and Last Date关系代数第一个和最后一个日期
【发布时间】:2014-10-05 02:21:03
【问题描述】:

我刚开始学习数据库关系代数,却被这两个问题困住了。

最初的问题比较复杂,但我设法缩小范围并简化为下表,我不知道该怎么做,请帮助。

【问题讨论】:

    标签: relational-algebra


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多