2012-01-10 11 views
2

高度なCMS/sitebuilderのクエリービルダーをどのように設計するのですか?SQLクエリービルダーを設計する

SELECT df.gh, yu.df FROM df, yu WHERE df.id != yu.id AND df.other == yu ORDER BY df.something LIMIT 0,10 

しかし、何より複雑について:私は、ユーザーが影響を受ける表を選択させることから始めた場合は、表示されるべきすべての列は、その後、基準、ソート順と制限の結果は私のようなquerysを作るためにenought情報を持っているかもしれませんサブクエリー、ジョイン、ユニオンなどのようなクエリー?生成するクエリの種類について正しい仮定を立てるためには、どのような情報を収集する必要がありますか?

私はここにコードを求めていないよ、それは私が、私は、ユーザーに尋ねる必要がある質問なものを設計する方法についての私の考えでこだわっているだけですか?

上記のような単純なタイプのクエリーについては、それはかなり簡単で、私の考えではフローの写真がありますが、私は他のクエリタイプについての知識も十分ではないと思います私が1つを作るために収集する必要がある情報を知っている。このようなものを構築する方法についてどのような設計アイディアがあれば幸いです!

もう1つの質問ですが、開発のためのこれらの「高度な」クエリーはどれくらい重要ですか?私が取り組んでいるCMSは、スクリプトエンジンもいくつか持っていますので、コードを使って問題を回避することが常に可能な場合は、サブクエリー、ユニオン、ジョインなどをサポートする必要はありません。あなたの意見には最低限の要件はありますか?私はもちろんの意志を生成

ものは、オープンソースであるため、任意のアイデア私の道を投げる - 私は上の始めるためにいくつかのコーディングを得ました。 ;-)

+0

Microsoft Accessのものを調べてそこからアイデアを盗むことから始めます。 – Blazemonger

答えて

2

数年前、私はesperantで働いていました。これは、クエリビルダおよびレポートツールです。エスペラントは、そのユーザーがあなた自身のquerysを書くことを許可し、同様に英語で書く。また、魔法使いを作るウィザードもあります。私がエスペラントを好むのは、それがいくつかの名前のついたクエリーでそれを分割する複雑なクエリーを単純化できるということです。 Esperantウィザードが起動されると

、モーダルウィンドウが表示され、ユーザーは、いくつかのクエリのスタイルの間で試すことができます。単純なクエリ(複数のテーブルからフィールドを選択し、条件を作る)、クエリを持つ、querysを兼ね備えています。クエリーを作成して新しいクエリーを作成することができます。

このツールはすべてのテーブルのリレーション(DOが加入可能にする)に関するツールを知らせるsemantical layer abstractionを持っています。

私は他のOLAPツールとレポーティングツールも扱っています。現時点ではMS SSASTableau Softwareです。

+1

リンクが切れています。これはより良いかもしれません:http://www.freschelegacy.com/en/data-sheets/esperant-query-and-reporting-tool-better-business-decisions 非常に古いと思われます。 – archangel76

+0

@ archangel76あなたはそれをインストールしましたか?ワオ。 – danihp

+0

途中です。私はちょうどリンクを修正していた。 – archangel76

関連する問題