关系代数中的数学运算



一个关于关系代数的非常简单的问题,我在互联网或/和一些书中找不到任何答案。

假设关系员工(键,薪水,奖金),我想

创建一个新的关系R(键,总货币),其中总货币=工资+奖金。我的尝试是:

R1(键,总钱) = 投影键,工资(员工)

R2(键,总货币) = 投影键,奖金(员工)

R = 关键聚合总和 总货币 (R1 U R2)

可以吗?

但是,如果没问题,它并不能解决我的所有问题:(

假设我现在想要获得RT2(key,totalMoney * 2)。为此,我的尝试是:

RT2 = update totalMoney <- totalMoney*2 (R)//"update" 是一个关系代数运算符

可以吗?

我认为我的答案不是(非常)好。如果您能帮助我找到一个漂亮而整洁的解决方案,我将不胜感激。

谢谢

Codd最初的代数不包括这样的运算,因为他坚信这样的计算应该在应用程序中完成。

唉,这些天所教的大部分内容仍然非常接近科德的这些原始想法。 现在已经40岁了。 因此,在这40年中发生的所有演变,唉,大多被忽视了。

其中之一是扩展运算符,我相信是由Chris Date和Hugh Darwen引入的。 该操作员会准确满足您的需求。

传统的关系代数不支持算术运算。然而,已经进行了不同的尝试来扩展它:例如Gabbay和McBrian讨论了选择和投影运算符的算术扩展,而Boncz等人为他们的XQuery编译器Pathfinder提出了许多关系代数扩展(包括算术运算)。

最新更新