首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LOAD是关系代数运算符吗?

LOAD是关系代数运算符吗?
EN

Stack Overflow用户
提问于 2013-09-08 20:15:14
回答 4查看 145关注 0票数 1

加载关键字将映射到什么样的关系代数运算符中?如果它不是逻辑运算符,而是物理运算符,那么数据库查询处理器如何在逻辑到物理运算符转换过程中处理它?或者,如果它没有映射到关系代数原语中,那么它是一个特定于实现的关系代数运算符扩展吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-13 22:04:23

查询解析后,LOAD关键字在数据库内部映射为逻辑运算符,但它不是代数运算符。所有代数运算符都是逻辑运算符,但不是所有逻辑运算符都是代数运算符。

票数 1
EN

Stack Overflow用户

发布于 2013-09-24 17:49:32

你必须区分代数算子,例如自然连接,传递闭包,……以及数据操作语言的关键字/命令。

代数运算符对给定的值进行计算,并返回计算值作为结果。

然后你有编程和数据处理语言,在某种意义上,这些语言是建立在代数运算符之上的。如果您有一个代数运算符“整数加法”,那么在您的语言中也会有一个符号来表示对该运算符的调用,例如'+‘。您可以有格式良好的公式(wffs),其中包含a.o。这样的符号。例如,“a+b”或“x+1”。

这是变量弹出的地方。仅仅代数算子是不够的,我们也需要变量(至少在过程语言中)。为了操纵这些变量,我们需要这个叫做“赋值”的东西,更长远地说,我们需要赋值操作符。

就像赋值"x := 3“可以看作是对整数赋值操作符的调用的wff一样,LOAD也可以看作是关系赋值操作符可能出现的形式。

赋值运算符显然不是代数的只读运算符,但它是用于管理状态的语言运算符。

票数 1
EN

Stack Overflow用户

发布于 2013-09-08 21:43:56

从数学的角度来看,LOAD根本不是一个运算符。因为它接受一个存储在文件中的关系,并将相同的关系放入数据库。

因此,我们得到了两个相同关系的物理副本,但在数学上没有执行任何操作。您可以把它看作是一个平凡的选择操作,无条件地从关系中选择所有的元组。

“数据库查询处理器在逻辑到物理运算符转换过程中是如何处理的?”

MySQL在解析查询后执行适当的函数。这个函数读取给定的文件并将数据加载到表中。

我认为,MySQL开发人员并不关心关系代数中存在的操作、映射负载等抽象问题。

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

https://stackoverflow.com/questions/18688230

复制
相关文章

相似问题

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