假设您有一个关系 A,具有单个属性“a”(减少一个更复杂的关系是关系代数中的一个简单任务,我确信您已经做到了这一点),所以现在您想要找到最大值A 中的值。
一种方法是找到 A 与其自身的叉积,请务必重命名“a”,以便您的新关系具有具有不同名称的属性。例如:
(将“a”重命名为“a1”) X(将“a”重命名为“a2”)
现在选择“a1”
(A x A) - (select 'a1' < 'a2') ((rename 'a' as 'a1')(A) x (rename 'a' as 'a2')(A))
然后使用project
正如 Tobi Lehman 在下面的评论中建议的那样,运算符将其缩减为单个列。
用关系代数符号来写这个(如果我没记错的话)。请注意,最终的重命名(即 ρ)只是为了得到一个与原始关系中具有相同名称的属性:
ρa/a1(πa1((A x A) - σa1 < a2 (ρa1/a(A) x ρa2/a(A))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)