我想在非關係數據存儲上創建一個SQL接口。非關係數據存儲,但以關係方式訪問數據是有意義的。用Python解析SQL
我正在研究使用ANTLR來產生一個表示SQL作爲關係代數表達式的AST。然後通過評估/行走樹來返回數據。
我從來沒有實現過一個解析器,因此我想就如何最好地實現SQL解析器和評估器提供一些建議。
更新:
我使用pyparsing實現了一個簡單的SQL語法分析程序。結合對我的數據存儲實現關係操作的Python代碼,這非常簡單。
正如我在其中一條評論中所說的,練習的要點是使數據可用於報告引擎。爲此,我可能需要實現一個ODBC驅動程序。這可能是很多工作。
爲什麼對對象施加SQL限制?會得到什麼? OQL有什麼問題? http://en.wikipedia.org/wiki/Object_Query_Language – 2009-09-08 20:00:16
待獲得:大量報告工具可以使用的查詢界面。我打算在客戶端上實現一個ODBC驅動程序。因此,業務用戶可以使用Crystal Reports,Excel等從數據存儲中獲取數據。 OQL雖然可能是一種很好的查詢語言(我從來沒有用過),但它並不像SQL那樣廣泛。 – codeape 2009-09-09 11:29:19
+1兩者:OO數據庫最大的問題之一就是缺乏報表引擎:( – van 2009-09-19 11:43:27