如何制作像SQL这样的数据操作语言

时间:2013-10-12 19:30:54

标签: sql database database-design

如何制作像SQL这样的数据操作语言,并实现像

这样的基本功能
insert, join, natural join 

我试图在线搜索,但我没有得到任何正确的链接,我可以从哪里开始。大多数结果都用于创建SQL解析器。

所以我想问一下

  1. 制作DML背后的基本理念是什么?
  2. 我应该如何处理数据?
  3. 我应该使用哪种语言或平台来实现它?
  4. 如果可能,请在此字段中发布过去作品的任何链接。

3 个答案:

答案 0 :(得分:2)

您要查找的搜索字词为relational algebrarelational 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