【问题标题】:Relational Algebra instead of SQL关系代数而不是 SQL
【发布时间】:2010-08-08 13:07:03
【问题描述】:

这些天我正在研究关系代数,我想知道......

你不觉得如果有一个编译器可以编译关系代数比编译 SQL 更好吗?

在哪种情况下,数据库程序员的工作效率会更高?

有没有关于关系代数编译器的研究?

提前致谢

【问题讨论】:

    标签: database relational-algebra


    【解决方案1】:

    请参阅 C J Date 的 Tutorial D,他在某处对 SQL 的弊端也有很好的吐槽。

    另见datalog,虽然不完全是关系代数,但类似。

    【讨论】:

    • 我完全不确定发生了什么。似乎有一个 //tp 被插入。在维基百科上查找教程 D。教程 D 也有一个实现,称为 rel。 C J Date 的咆哮标题为“对 SQL 数据库语言的批判”,但它是在付费墙后面。如果你是学生,你应该能够得到它。
    • 我不是学生,我正在刷新关系代数,我写过很多 SQL,但重新考虑关系代数比 SQL 更好。
    • Datalog 正是关系代数加上传递闭包。
    【解决方案2】:

    在我的学校,一名学生将关系代数解析器作为学士论文实施。你可以在这里测试它:
    http://mufin.fi.muni.cz/projects/PA152/relalg/index.cgi

    它是捷克语,但我认为你可以理解。

    我尝试编写一些关系代数查询,它比 SQL 中的等效查询好得多!它们更短,写起来更简单,更直接,更容易理解。我真的很喜欢写它们。

    所以我不明白为什么在有关系代数的时候我们都在使用 SQL。

    【讨论】:

      【解决方案3】:

      确实有编译关系代数的研究

      一个好的开始: Thomas Neumann:为现代硬件高效编译高效查询计划。 PVLDB 4(9): 539-550 (2011)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-01
        相关资源
        最近更新 更多