首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql ->关系代数

sql ->关系代数
EN

Stack Overflow用户
提问于 2011-05-26 22:41:43
回答 2查看 1.5K关注 0票数 0

如何将其转换为关系代数树?

逻辑步骤是什么?我首先需要转换成关系代数吗?或者,我可以直接从sql到树吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-27 01:11:11

我会先转换成关系代数,然后再转换成树。

听着,SELECT子句只需要三个字段。那是个projection

FROM子句有三个关系。那是个Cartesian product

WHERE子句提供了一大堆selection,这是它在转换为树之前帮助转换为关系代数的部分。

我不知道你在课堂上用的是什么符号,但是你可能想要一个通用形式的东西

代码语言:javascript
复制
projection((things-you-want), selection((criteria), selection((criteria),
  selection((criteria), aXbXc))))

或选择的选择的投影...由交叉积产生的东西。

注意,根据讲师的挑剔程度,您可能需要重命名字段。由于Show和Seat都将showNo作为属性,因此可能不允许在为它们指定唯一名称之前采用叉积(替代规则、属性由隐式关系名称前缀唯一标识)。

此外,根据课程的目的,您可以替换其中一些操作。您可以在将叉积作为限制日期范围的手段之前对预订进行选择。最终结果将是相同的。

无论如何,从sql到关系代数再到树,真的有那么多额外的工作吗?我毫不怀疑,通过练习,您可以跳过中间步骤。但是,既然你首先提出了这个问题,我建议你走一遍议案。还记得初中数学老师提出的“展示你的作品”的要求吗?同样的规则也适用于此。我这样说是因为我以前是CS作业的评分员。

票数 3
EN

Stack Overflow用户

发布于 2011-05-28 17:54:13

该SQL查询的结果不是关系,因此在RA中没有确切的等价物。您可以尝试创建添加了DISTINCT的同一SQL查询的RA版本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6140431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档