Text to SQL (TTS)とは?
ユーザーの自然言語による問い合わせをSQLクエリステートメントに変換する機能です。
使い方
1.
トップメニューバーから、 SQL ▾ → SQL Lab をクリックします。
2.
左側のメニューから照会するデータベースとスキーマを選択します。
3.
右側の問い合わせの入力欄に問い合わせを入力した後、 クエリを生成 ボタンをクリックします。
4.
画面にクエリが生成された後、実行 ボタンをクリックして結果を確認します。
5.
そのクエリが作成された説明と生成されたクエリが実行可能かどうかを確認します。
結果の利用方法
1.
結果ウィンドウの上部にあるボタンをクリックして、結果のデータからグラフを作成したり、CSV形式でダウンロードしたり、クリップボードにコピーすることができます。
a.
グラフを作成: グラフを保存すると、そのクエリで構成された仮想テーブルも一緒に保存されます。
b.
CSVでダウンロード: クエリ生成結果に対応するデータをCSV形式でダウンロードします。
c.
クリップボードにコピー: クエリ生成結果に対応するデータをシステムのクリップボードにコピーします。
2.
そのクエリについて、HEARTCOUNT ABI にクエリまたは仮想テーブルとして保存するには、[保存] ボタンまたはその右にある矢印ボタンをクリックします。
a.
保存: 作成されたクエリが HEARTCOUNT ABI に保存されます。保存されたクエリは、トップメニューバーの [SQL] - [保存済みクエリ] から確認することができます。
b.
データセットを保存: 作成されたクエリによって構成された仮想テーブルが HEARTCOUNT ABI に保存されます。保存されたテーブルは、トップメニューバーの [データセット] から確認することができます。
3.
データセットをデータベースに物理テーブルもしくはビューとして保存するには、[実行] ボタンの右にある矢印ボタンをクリックしてください。
a.
テーブルを作成: クエリの結果が入力した名前の物理テーブルとしてデータベースに保存されます。保存されたテーブルは、トップメニューバーの [データセット] から確認することができます。
b.
ビューを作成: クエリの結果が入力した名前のビューとしてデータベースに保存されます。
c.
保存されるパスについて、SQLエディタで選択されたスキーマまたはデータベースにデフォルトで設定されているスキーマに保存されます。
作成されたテーブル・ビューを保存するスキーマを指定する画面 ([設定] - [データベース接続] - [編集] - [詳細設定] - [SQL Lab] - CTAS&CVASスキーマ)
注意事項
1.
メタテーブルの必要性 管理者機能
•
TTSはGPT-4ベースのLLM(大規模言語モデル)を使用しているため、データの内容、構造、ビジネスロジックに関する詳細情報を自ら把握することができません。
•
したがって、TTS機能を正確に使用するためには、管理者がメタテーブルを通じてLLMにビジネス情報とデータ構造を知らせる必要があります。
•
メタテーブルとは?
◦
メタテーブルは、データベース内のビジネス情報とコードで構成される列の内容、そしてデータ構造に関する情報を含むテーブルです。
◦
業務に使用されるコードデータとビジネスロジックの詳細情報を入力する必要があります。
◦
また、テーブル間の連携(join)情報や重複値処理ロジックなど、データベーススキーマに登録されていない構造に関する追加情報も含める必要があります。
◦
メタテーブルに登録されているテーブルのみがTTSで使用可能です。
•
TTSメタテーブルの入力例
列名 | 説明 | 例 |
db_name | メタ情報を保存するデータベース名を入力します(大文字と小文字を区別します)。 | postgresql |
schema_name | メタ情報を保存するスキーマ名(上記の db_name に入力したデータベースで使用するスキーマ名)を入力します(小文字で入力します)。 | adventureworks |
table_name | テーブル名を入力します(小文字で入力します)。 | adventureworks_customers |
comment | テーブルの説明を入力します。 | 顧客情報テーブル
adventureworks_salesと顧客IDで結合することができます。 |
column_list | テーブルに格納されている列名を入力します(重要な列またはよく使う列の列名は必須)。 | 顧客ID、氏名、生年月日など |
remark | 列の説明やビジネスロジック、データ構造に関する参考情報を入力します。 | 生年月日:
文字列形式、例)'MM/DD/YYYY'
年収情報:
文字列形式、例) '$80,000'
クエリに使用する場合は、数字のみを抽出した後、数値型に変換して使用する必要があります。 |
2.
トークン超過時の考慮事項
•
メタテーブルを通じて Text-to-SQL で使用するテーブルのリストを減らします。
•
テーブルと列のコメントを短く要約します。
•
テーブル名や列名は内容を推測できるように修正し、コメントを削除してトークン数を減らします。
•
サポートされるトークン数が多いモデルに変更したい場合は お問い合わせ ください。