为什么sql需要服务器?

Ach*_*dar 0 sql sql-server

我是SQL的新手,我正在尝试理解它的基本内容.

为什么在使用SQL时我们需要连接服务器?
在我非常狭隘的观点中,它只使用了一些数据库,例如可以实现为数组(或者"后台"实现的任何数据库).
例如,如果我想在我的计算机中设置一个表并对其进行一些操作,那么服务器有什么用处?为什么它不能"只是在那里"?

das*_*ght 5

我认为你混淆的原因是对"服务器"这个词作为一个单独的硬件盒的解释过于狭隘.

服务器不需要在单独的硬件上运行,甚至不需要在单独的虚拟环境中运行.它可能是同一台计算机上的另一个进程,甚至是您进程中的库.使它成为服务器的能力是接受和处理来自客户端的请求的能力.服务器在物理上运行的位置无关紧要:只要您遵循客户端请求发起的协议,您就拥有了服务器.

  • 如果您使用“**线程**”而不是“**进程**”这个词,同样的事情会是正确的吗?例如,在某些 Java 项目中,假设我在某个名为 _"Data"_ 的类中有一些名为 _"field"_ 的字段,它是一个线程(实现 Runnable),并且我正在尝试更改 _"field"_来自其他线程,这会被视为服务器吗?(假设_“字段”_是公共的)。 (2认同)
  • @achie您甚至不需要线程 - 像服务器一样使用的类可以在主线程上完成其工作。效果与同步调用服务器相同。只要您的代码将类视为逻辑服务器,就可以将其视为程序的本地服务器,无论其实现是什么。不过,一般来说,服务器确实意味着一定程度的分离——至少达到了当服务器出现故障时,应用程序仍保持运行的程度。进程内服务器不满足此要求。 (2认同)

小智 4

您所设想的(粗略地)被称为进程内数据库,它们确实存在于 SQL 中。SQL Server 被设置为供多个用户或应用程序使用,因此将其作为许多客户端可以连接的中央服务器是有意义的,以便它们可以共享相同的数据。

如果您只想在本地处理数据,可以使用 SQL Express LocalDB、SQLite 和其他一些工具,让您可以在应用程序中嵌入 SQL 引擎。