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

时间:2011-02-24 03:24:49

标签: sql

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

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

3 个答案:

答案 0 :(得分: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 implementation,虽然它看起来不完整,所以我可以删除它

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

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

答案 1 :(得分:1)

可用查询语言的示例列表curtesy Wikipedia:

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

虽然并非所有这些都适用于关系数据库。

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

答案 2 :(得分:-1)

Yang,你可以使用两种很棒的替代语言 - LINQ和CQuel。

LINQ是Microsoft的预言,而CQuel是开源的。

通过CQuel,人们也可以连接到MySQL和MSSQL。

CQuel是全新的。

您可以从以下链接下载CQuel: CQuel Website