我们如何将结构化查询语言的非聚合函数转换为关系代数表达式?
我知道如何表达聚合函数。
例如我们如何编写年份函数(取日期格式列)?
只是年份(日期)?
select e.name, year(e.dateOfEmployment)
from Employees e
(这是一个非常合理的问题,我不明白为什么它应该被否决。)
RA 中的“关系”意味着使用集合论方法将函数表达为数学关系。 (它不意味着,正如人们通常认为的那样,将一个表或数据与另一个表或数据相关联,如“实体关系”建模中那样。)我无法从我的脑海中获得一个非常简洁的参考,但从这里开始http://en.wikipedia.org/wiki/Binary_relation 并点击链接。
这如何在实际 RA 的背景下回答您的问题?看看这个: http://www.dcs.warwick.ac.uk/~hugh/TTM/APPXA.pdf,特别是“将运算符视为关系”部分。
了解如何“应用”关系 PLUS 和 SQRT(使用 COMPOSE,它是 Natural JOIN 和 PROJECT 的简写)以充当函数。
对于您的具体问题,您需要具有两个属性的关系(类型“日期”和“年份”)。