我刚刚发现了HTSQL,这让我想起了一个问题:是否存在替代关系数据库声明式查询语言的选择?尽管SQL存在许多抱怨,但我期望会有很多替代方案,但是谷歌搜索并没有产生什么结果。
各种编程语言都有列表/单子(monad)综合功能,但我更具体地寻找具有实际关系数据库实现的内容。同时,突出它们与SQL的主要区别(可读性、模块化、简洁性等)。实现还需要是开源的,最好能够针对现有的RDBMS(例如Postgresql)实际使用。
我刚刚发现了HTSQL,这让我想起了一个问题:是否存在替代关系数据库声明式查询语言的选择?尽管SQL存在许多抱怨,但我期望会有很多替代方案,但是谷歌搜索并没有产生什么结果。
各种编程语言都有列表/单子(monad)综合功能,但我更具体地寻找具有实际关系数据库实现的内容。同时,突出它们与SQL的主要区别(可读性、模块化、简洁性等)。实现还需要是开源的,最好能够针对现有的RDBMS(例如Postgresql)实际使用。
这是我的完整列表,附有指向说明性示例代码的链接(将最初在我的问题中的示例移至此处):
Muldis D:简洁的 Perl 风格语法;旨在成为一个实用的全面脚本语言。
HTSQL:非常简洁;针对外键连接进行了优化;表达能力有些有限。
MDX:
多维表达式(MDX)语言提供了一种专门的语法,用于查询和操作存储在 OLAP 立方体中的多维数据。[1] 虽然有些可以将其翻译成传统的 SQL,但即使对于非常简单的 MDX 表达式,也经常需要合成笨拙的 SQL 表达式。MDX 已被广大 OLAP 供应商所接受,并已成为 OLAP 系统的事实标准。
我认为它就像在关系型数据库管理系统上的数据透视表。由 MS 推动(不确定它是否仍在推动 - 看起来很老)。 Pentaho Mondrian 是一个实现,可以与任何 JDBC 提供程序一起使用。
PIQL:SQL 的“性能可预测”语言子集;设计用于事务处理;几乎要将其删除,直到我注意到有一个Rails 实现,虽然它看起来不完整。
Pig:SQL、命令式风格和嵌套数据模型的结合;由于底层处理框架(Map-Reduce/Hadoop)的特性,仅限于等值连接;不适用于关系型数据库,因此应将其删除 :)
LINQ to SQL(这并不算数,因为它主要是嵌入式 SQL,但是无所谓):在我看来,比 SQL 更自然的语法顺序;还支持嵌套数据模型
维基百科提供的查询语言示例列表:
http://en.wikipedia.org/wiki/Query_language
虽然并非所有这些都是针对关系型数据库的。
我将列出QUEL,它被SQL取代了,但仍在Ingres DBMS中使用。维基百科称它比SQL更“规范化”,但需要引用。 ;)
杨,你可以使用两种很棒的替代语言 - LINQ 和 CQuel。
LINQ 是微软专有的,而 CQuel 是开源的。
通过 CQuel,你可以连接到 MySQL 和 MSSQL。
CQuel 是全新的。
你可以从以下链接下载 CQuel: CQuel 网站