SQL的替代品?(关系数据库的替代声明性查询语言?)

Yan*_*ang 11 sql

我刚刚遇到HTSQL,这让我想起了一个我想知道的问题:关系数据库的替代声明查询语言是什么?对于针对SQL存在的所有抱怨,我会期待很多,但谷歌搜索一直没有用.

各种编程语言都有list/monad理解,但我更具体地看一下具有关系数据库实际实现的东西.突出它们与SQL(可读性,模块性,简洁性等)的主要差异也是很好的.实现也需要是开源的,理想情况下我可以实际使用现有的RDBMS,例如Postgresql.

Yan*_*ang 5

这是我的完整列表,其中包含说明示例代码的链接(最初在我的问题中移动的示例):

  • Muldis D:Terse Perl灵感的语法; 旨在成为一种实用的完整脚本语言.

  • HTSQL:非常简洁; 针对外键连接进行了优化; 表达能力有限.

  • MDX:

    MultiDimensional eXpressions(MDX)语言提供了一种专门的语法,用于查询和操作存储在OLAP多维数据集中的多维数据.[1] 虽然可以将其中一些转换为传统的SQL,但即使对于非常简单的MDX表达式,也经常需要合成笨拙的SQL表达式.MDX已被大多数OLAP供应商所接受,并已成为OLAP系统的事实标准.

    我认为它是RDBMS上的数据透视表.由MS推动(不确定它是否还在推动 - 现在看起来很老了).Pentaho Mondrian是一个适用于任何JDBC提供程序的实现.

  • PIQL:SQL的"性能可预测"语言子集; 专为交易处理而设计; 几乎把它留了出来,直到我注意到Rails实现,虽然看起来不完整,所以我可能会删除它

  • Pig:SQL的结合,命令式的风格和嵌套的数据模型; 由于底层处理框架(Map-Reduce/Hadoop)的性质,仅限于equijoins; 不是真的关系数据库,所以我应该删除这:)

  • LINQ to SQL(这并不算真,因为它主要是一个嵌入式SQL,但是到底是什么):IMO比SQL更自然的语法排序; 还支持嵌套数据模型


Orb*_*bit 1

维基百科可用的查询语言示例列表:

http://en.wikipedia.org/wiki/Query_language

虽然并非所有这些都是针对关系数据库的。

我将列出 QUEL,它已被 SQL 淘汰,但仍在 Ingres DBMS 中使用。维基百科说它比 SQL 更“规范化”,但需要引用。;)