如何制作像SQL这样的数据操作语言,并实现像
这样的基本功能insert, join, natural join
我试图在线搜索,但我没有得到任何正确的链接,我可以从哪里开始。大多数结果都用于创建SQL解析器。
所以我想问一下
如果可能,请在此字段中发布过去作品的任何链接。
答案 0 :(得分:2)
您要查找的搜索字词为relational algebra
和relational calculus
。我宁愿不详细说明,因为大学数据库课程通常需要6周才能完成。
基本思想是SQL是一种“关系演算”,因为它描述了你想要实现的结果。 DBMS的工作是将其编译成“关系代数”,描述如何分析数据。
答案 1 :(得分:2)
您问题的参考点1和2:
我首先要了解SQL背后的一些理论。 Chris Date的书籍(http://en.wikipedia.org/wiki/Christopher_J._Date)是一个很好的起点。
第3点。
据推测,你必须学习这门语言。我选择了一些现代的高级构造,并且内置了String操作,Ruby,Python,C#或Java?
祝你好运。答案 2 :(得分:1)
首先需要实现所有函数来执行基本操作,例如投影,过滤,加入,索引......一旦有了这个功能,你需要解析SQL,创建一个queryvexecution计划,然后调用你的API得到结果。这当然是一个非常粗略的描述。我建议阅读开源数据库代码和文档,如mysql。 有关类似问题,请参阅Studying MySQL, SQLite source code to learn about RDBMS implementation。 也可以看看 http://en.m.wikibooks.org/wiki/Design_of_Main_Memory_Database_System