没有 SQL 的 RDBMS

标签 rdbms

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

去年关闭。
社区在 7 个月前审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决





Improve this question




是否存在没有 SQL 的 RDBMS。我不是在谈论 NoSQL 以及所有 XML 和 Javascript 对象类型的数据。
我的意思是像不是通过 SQL 指示的数据库,而是通过一些 API 来指示的。根本不应该有 SQL。
我的意思是,就像 MS 过去如何拥有其 ADO 对象,而这些对象拥有执行 SQL 当前所做的所有事情的方法。
而且我并不是要一个 ORM 框架。这些框架只是在内部制作和调用 SQL 代码。我不想要那个。我想要直接与数据库对话的直接函数或方法调用。

我进入windows平台。我希望 RDBMS 支持的语言是 PHP 和 Python;也许还有 C#。
我要管理的数据是日常 SQL-RDBMS 处理的所有数据。
是的,我希望 DBMS 管理实体关系。但我不希望 SQL 出现在图片中。
我不是为任何人做项目。避免从一个级别/语言跳到另一个级别只是品味或偏好的问题。
我尝试在谷歌上搜索,但它只会导致我不喜欢的 NoSQL。

最佳答案

我没有答案,但也许我可以澄清这个问题。很多人都在谈论 SQL,就好像它是查询数据库本身的语言一样。然而,SQL 被翻译成一种关系代数形式,然后导致数据库结构上的进程。关系代数(至少在理论上)是查询关系对象结构的基础级别。我也很想看到一个完全没有 SQL 的关系数据库。 SQL 的结构是由键盘而不是代码编写的。编写像关系代数一样处理事物的通用 SQL 编写器非常困难。关系代数是正交的,可以重新排列而不影响结果(仅影响性能)。对于像 SQL 这样的语言来说,在不同的时间和出于不同的原因在整个代码库中附加 where 子句这样的事情确实很困难,但对于像关系代数这样的正交运算来说却是微不足道的。
事实上,据我了解。关系数据库将 SQL 转换为某种形式的关系代数,因此可以对其进行性能优化。为什么不跳过中间人并在客户端创建关系代数并将其直接发送到数据库?
我绝对明白有些人只是在解释景观,我并不是要反对我们所处的位置。
我相信像 postgres 这样的数据库有几种语言替代方案,但它们非常不标准,不幸的是,使用它们是有风险的,因为它们通常没有得到很好的维护,而且它们也不为人所知,因此将开发人员添加到您的组织中是具有挑战性的。
希望有一天有人会制作一个易于部署的数据库,该数据库使用与关系代数更密切相关的东西。
这是您可以在更接近关系代数的 postgres 上安装的语言示例。 http://www.andl.org/
这个项目(至少是网页)实际上是最近更新的 07/2020

关于没有 SQL 的 RDBMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37454915/

相关文章:

mysql - 如何将 RDBMS DDL 转换为 Hive DDL 脚本

mongodb - 是否有 RDBMS 进行自动缩放、分片、重新平衡?

mysql - 可以将 RDBMS 的 COMMIT 事务/"all-or-nothing"范例映射到 R 吗?

android - 如何在 Android 中创建本地数据库?

sql - RDBMS 对 Golang 的影响

mysql循环访问数据库的性能

mysql - 将 clientid 作为表中的第一个字段是否是一种好习惯,从而制作一个复合键来代替更快的获取

java - 使用 Solr/Lucene 作为持久化技术

java - 提高矩阵/表聚合和搜索的性能

mysql - 如何从表中删除除一条记录之外的所有重复记录?