c#自定义数据库引擎,如何实现SQL
本文关键字:实现 SQL 何实现 自定义 数据库 引擎 | 更新日期: 2023-09-27 18:06:51
作为一个个人项目,我一直在用c#开发自己的数据库软件。当前许多数据库系统都可以使用SQL命令进行查询。有没有人在这里,可以指出我在实现这样一个系统的数据库软件完全从零开始写的正确方向?例如,熟悉SQL的用户可以将语句作为字符串输入到应用程序中,应用程序将对该语句进行分析,并运行适当的查询。有人有过类似的经历吗?这可能是一个非常不寻常的问题,哈哈。基本上,我想问的是,有没有什么工具可以分析SQL语句,或者我必须从头开始编写自己的工具?
提前感谢您的帮助!
(我可能会把我的一些东西转移到Python和Java上,所以任何可能的答案都不需要局限于c#)
也:我没有使用任何当前的SQL数据库或类似的东西,我的系统是完全从零开始,我希望我的问题是有意义的。基本上,我希望我的应用程序能够与发送SQL命令的程序接口。
一个完整的数据库引擎是一项相当严肃的工作。下周你不可能坐下来完成一个完整的引擎,所以我认为你会希望零碎地编写SQL解析器:在引擎中支持的特性中添加特性到解析器中。
我猜这只是一些有趣的事情,而不是你想要尽快工作的事情。考虑到这一点,我认为编写SQL解析器是项目中最好的部分之一!我做过很多关于平面文件数据库引擎的工作,因为查询所需的响应时间不允许使用RDBMS。其中最令人愉快的一点是增加了对SQL片段的支持,例如在UI中,响应时间不是那么重要。
我工作的实现是普通的旧C,但事实上,从我所看到的,大多数关系数据库仍然主要是用C编写的。用一种非常低级的语言编写这些东西是令人满意的:)