深度探索 -- 生成SQL语句的向导应如何做?
最近急需做一个sql语句生成器,花了一点时间研究比较了一下,主要找到如下两类做法:
1 主要界面如下图:
它的特点是能比较直观地反映多个表之间的关联关系,操作是拖拉方式,比较直观。但觉得实现起来比较复杂,容易出bug,觉得不好控制拖拉表这一块。它一般用于通用的工具上,如报表工具,MS Access等等。
2 界面如下图:
这种方式的弱点是需要先记录好表间关系,即需先将数据库中各个表之间的关系保存到数据库或文件中。这样的好处就是不会出现毫无关联毫无意义的多表之间的查询。准确性要比上一类好些。它一般用于业务系统中,如进销存系统中。
不知道是不是还有更好的实现方法?博客园高手众多,望请赐教。我现在急需用ajax来做一个页面版的sql语句生成器。现倾向于采用第一类方式实现。但觉得用js来实现可视化拖拉表及表间的连接线有些麻烦。等页面版的sql语句生成器实现后我将在此博客上将它的源码公布出来。