HTSQL ( Hyper Text Structured Query Language ) は、スキーマ駆動型の URI から SQL へのクエリ言語であり、HTTP経由でリクエストを受け取り、それをSQLクエリに変換し、データベースに対してクエリを実行し、ユーザーエージェントに最適な形式 (CSV、HTML など) で結果を返します。[1] HTSQL 言語は「HTSQL サーバー」に実装されており、HTSQL を使用して Web リクエストを同等の SQL に変換し、サーバー側データベースでリクエストを実行し、XML、HTML、CSV、JSON、またはYAML形式で結果を返します。2010 年 4 月現在の実装ではPythonが使用され、 PostgreSQL、MySQL、SQLite、Oracle、およびMicrosoft SQL Serverデータベースで動作します。
HTSQLは、 2001年にYAMLを提案したClark Evans [2]によってプロトタイプ化および開発され、Prometheus Researchの Kirill Simonov [3]によって実装されました。
範囲
HTSQL の対象ユーザーは、SQL プログラマーではないビジネス ユーザーです。集計や投影などの直感的でないリレーショナル クエリを簡素化することを目指しています。目標は SQL の複製の完全性ではなく、シンプルさと直感性です。HTSQL を使用すると、データには精通しているが SQL 構文には精通していないユーザーが、アプリケーションを介さずに直接データベースにアクセスできます。[4]
構文
HTSQLはURIベースのクエリ構文を使用します。クエリは通常、単一のテーブルで始まり、オプションでスキーマがプレフィックスとして付加され、その後に返される行数を制限するフィルター式が続きます。[5]
例
テーブル名の前に列名を参照することで、テーブル間で結合を行うことができます。この例では、プログラム テーブルから学位プログラムのタイトルを、学校テーブルから学校名を要求しています。
/プログラム{学校名、タイトル}
HTSQL コマンドライン システムからのこのクエリの結果は次のようになります。
プログラム
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
学校名 | タイトル
------------------------+---------------------- ------------
芸術デザイン学部 | 美術史専攻
芸術デザイン学部 | 美術史学士
芸術デザイン学部 | スタジオアート学士
ビジネススクール | 会計学大学院証明書
...
集計式は、データベース内に多対 1 の関係がある場合に使用できます。
/school{名前、count(プログラム)、count(学部)}
結果には、各学校のプログラムと部門の数が表示されます。
学校
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
名前 | カウント(プログラム) | カウント(部門)
------------------------+--------------+---------- -----------
芸術デザイン学部 | 3 | 2
ビジネススクール | 5 | 3
教育学部 | 7 | 2
工学部 | 8 | 4
アプリケーション
HTSQLはアドホックデータベースクエリに使用できます。開発者は、非技術者にとって、HTSQLはSQLよりも簡潔で直感的であるため、エラーが発生しにくいと考えています。[5]
HTSQL は、データ アナリストや UI 開発者などの「偶然のプログラマー」にも使用できます。より読みやすい HTTP ベースのクエリに加えて、HTSQL の開発者は、偶然の結合などの一般的な SQL の間違いを回避するのに役立つと主張しています。[6]
バージョンとライセンス
HTSQLはデュアルライセンスモデルを採用しています。このソフトウェアは、 MySQLやPostgreSQLなどのオープンソースのリレーショナルデータベースで無料で使用できます。[7]ソースコードはbitbucketサイトから入手できます。[8]
OracleやMicrosoft SQL Serverなどの商用データベースと互換性のあるHTSQLの商用バージョンも利用可能です。[1]
同様の取り組み
- ポストREST
- ポストグラフィール
参考文献
- ^ ab "ホーム". htsql.org .
- ^ ヤムル
- ^ 「ハイパーテキスト構造化クエリ言語」 。 2023年5月4日閲覧。
- ^ 「Introduction — HTSQL -- HyperText Structured Query Language v1.0 ドキュメント」www.htsql.org。2010 年 7 月 11 日時点のオリジナルよりアーカイブ。
- ^ ab 「HTSQL マニュアル: HyperText Structured Query Language」。clarkevans.com 。 2011年7月8日時点のオリジナルよりアーカイブ。
- ^ 「HTSQL - 偶然のプログラマーのためのクエリ言語」。
- ^ 「HTSQL Permissive License」. htsql.org . 2023年5月4日閲覧。
- ^ "prometheus / htsql / source — bitbucket.org". bitbucket.org . 2010年9月26日時点のオリジナルよりアーカイブ。
外部リンク
- HTSQL コミュニティ ウェブサイト
