我是否正确自然地在我的关系代数语句中加入这3个表?

时间:2015-03-05 17:07:31

标签: sql database relational-algebra

有人可以告诉我,根据我的查询,我正确地写了这个关系代数语句吗?感谢。

SELECT User.uid, Job.JobId, Job.start_time, Job.finish_time, tool.database,   
tool.evalue FROM Job 
INNER JOIN tool ON Job.JobId = tool.JobId 
INNER JOIN User ON Job.uid = User.uid

我的关系代数语句是

PROJECT User.uid, Job.JobId, Job.start_time, Job.finish_time, tool.database, tool.evalue ((Job NATURAL JOIN tool) NATURAL JOIN User)

1 个答案:

答案 0 :(得分:0)

是的,第一眼看上去是正确的。

我有点犹豫,因为你没有为你的三个关系提供完整的架构。可能还有其他属性;并且可能除了你正在使用的两个之外还有同名的属性。如果是这样,NATURAL JOIN也将使用那些,与SQL相比会产生不同的结果。

BTW重新加入:NAT JOIN操作是关联的。在我看来它看起来更干净:

(Job NATURAL JOIN Tool NATURAL JOIN User)