设计SQL替代方案?

我正在考虑设计&实现我自己的SQL等价物(DDL DML)……

>一种纯粹的关系代数语言,和
>具有优雅的Lisp- / Scheme式语法

假设有一个像MySQL这样的RDBMS,我究竟需要开始我的语言设计工作吗?在InnoDB等存储引擎层之上?

我不知道所有RDBMS功能通常都位于存储引擎的顶部?我目前直观的理解是,创建RDBMS(例如MySQL)所需的大部分工作已经在存储引擎(特别是InnoDB)中完成,而您需要做的就是创建一个包装语言它.但我也知道,如果真的如此,为什么MySQL首先存在!

最佳答案
我怀疑解决这个问题的最好方法是在你的语言和SQL之间创建一个翻译器,主要是因为你不能从rdbms获得比通过SQL方言提供的功能更多的功能.

MySQL存在与存储引擎所做工作的难度无关,storage engines in MySQL确实做了大部分繁琐的工作,让MySQL解析并优化SQL并从引擎中检索数据,尊重引擎的相应语义.

大多数rdbms都没有向用户/管理员公开存储引擎,所以在这方面MySQL有点独特,这使得创建翻译更合理,这样你就可以(通过改变一些语法规则)使用多个rdbms通过您的应用程序

此外,您可能无法在现有数据库技术上生成纯关系语言,请查看The Third Manifesto以获取更多信息.

总而言之,我首先要看看所有现有的SQL包装器,也许是some will suit your taste.

转载注明原文:设计SQL替代方案? - 代码日志