Gemini の支援機能を使用して SQL を記述する

このドキュメントでは、Google Cloudの AI を活用したコラボレーターである Gemini を使用して、AlloyDB for PostgreSQL で次のことを行う方法について説明します。

Google Cloud の Gemini がデータを使用する方法とタイミングについての説明をご確認ください

このドキュメントは、AlloyDB に精通しており、SQL とデータ分析にもある程度精通しているデータベース管理者とデータ エンジニアを対象としています。AlloyDB を初めて使用する場合は、AlloyDB の概要をご覧ください。

始める前に

省略可: このドキュメントの例に沿って操作する場合は、次のスキーマを使用して Singers テーブルを作成します。

```sql
CREATE TABLE Singers (
  BirthDate  TIMESTAMPTZ,
  SingerId   BIGINT PRIMARY KEY,
  FirstName  VARCHAR(1024),
  LastName   VARCHAR(1024),
  SingerInfo BYTEA
);
```
After you create the `Singers` table, click
<span class="material-symbols-outlined">refresh</span>**Refresh** to
update your database schema.

AlloyDB で Gemini の機能を無効にするには、この手順を繰り返して、無効にする Gemini 機能の選択を解除します。

必要なロールと権限

AlloyDB で Gemini を使用するには、次の権限が必要です。

  • alloydb.clusters.get
  • alloydb.databases.list
  • alloydb.instances.executeSql
  • alloydb.instances.list
  • alloydb.users.list

この権限は、roles/alloydb.admin ロールを介して取得できます。このロールを付与されていない場合は、組織管理者に連絡してアクセス権をリクエストしてください。必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

また、認証に使用しているデータベースに対して、データベース レベルの権限があることを確認します。

自然言語プロンプトを使用して SQL クエリを生成する

Gemini の自然言語コメント(またはプロンプト)を使用すると、スキーマに基づいてクエリを生成できます。たとえば、Gemini へのプロンプトを次のように指定すると、その応答として SQL が生成されます。

  • 「顧客満足度調査の結果を追跡する表を作成します。」
  • 「Singers テーブルに誕生日という日付列を追加します。」
  • 「90 年代に生まれた歌手は何人ですか?」

スキーマが変化する(たとえば新しいテーブルや列の追加)場合は、Gemini を使用する前に、refresh [更新] をクリックしてスキーマを更新する必要があります。

Gemini の支援機能を使用して AlloyDB で SQL を生成する手順は次のとおりです。

  1. Google Cloud コンソールで、[AlloyDB] ページを開きます。

    AlloyDB に移動する

  2. リストからクラスタを選択します。

  3. ナビゲーション メニューで [AlloyDB] をクリックします。

  4. データベースとユーザーを選択し、ユーザーのパスワードを入力します。

  5. [認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  6. データベースにクエリを実行するには、 [新しい SQL エディタ] タブをクリックします。SQL の生成が有効になっていることを確認します。

  7. SQL を生成するには、-- で始まり 単一行コメントが続くコメントを Query Editor に入力してから、Returnを押します。

    たとえば、プロンプト -- add a row to table singers を入力して Return を押すと、Gemini によって次のような SQL が生成されます。

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    

    Singers テーブルを使用して例を続行するために、プロンプト -- show all singers born in the 70s を入力すると、Gemini によって次のような SQL が生成されます。

    SELECT *
    FROM Singers
    WHERE Singers.BirthDate
    BETWEEN '1970-01-01' AND '1979-12-31'
    
  8. SQL の提案を確認し、次のいずれかの操作を行います。

    • Gemini によって生成された SQL を受け入れるためのオプションを表示するには、クエリの上にポインタを置きます。次のオプションが表示されます。
      • 同意: 提案されたクエリを受け入れるには、Tab キーを押してから [実行] をクリックします。
      • 単語を採用: 提案されたクエリを部分的に受け入れるには、Control+Right arrow(macOS では Command+Right arrow)キーを押してから [実行] をクリックします。
    • 元の SQL を編集するには、Tab キーを押し、SQL を編集してから、[実行] をクリックします。
    • 提案を受け入れない場合は、Esc キーを押すか、キーボードからの入力を続けます。

コーディングのサポートツール

コーディング サポートツールを使用するには、次の手順を行います。

  1. Google Cloud コンソールで、[AlloyDB] ページを開きます。

    AlloyDB に移動する

  2. リストからクラスタを選択します。

  3. ナビゲーション メニューで [AlloyDB] をクリックします。

  4. データベースとユーザーを選択し、ユーザーのパスワードを入力します。

  5. [認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  6. データベースにクエリを実行するには、 [新しいタブ] をクリックします。

  7. クエリエディタの横にある pen_spark [コーディング サポート] をクリックします。

  8. [コーディング サポート] ウィンドウで、プロンプトを入力します。たとえば、add a row to table singers を入力して [生成] をクリックします。

    Gemini によって次のような SQL が生成されます。

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    
  9. 生成された SQL を確認して次のいずれかの操作を行います。

    • Gemini によって生成された SQL を受け入れるには、[挿入] をクリックしてそのステートメントをクエリエディタに挿入します。次に [実行] をクリックして、推奨される SQL を実行します。
    • 新しいクエリを生成するよう Gemini にリクエストするには、[編集] をクリックします。プロンプトを編集したら、[更新] をクリックします。その後、生成された新しいステートメントを受け入れるか、提案を閉じるを決定できます。
    • 提案を受け入れない場合は、[コーディングをサポート] ウィンドウを閉じます。

クエリエディタで SQL ステートメントを完成させる

SQL コードの記述に役立つように、AlloyDB の Gemini には、AI が支援するコード補完の提案が提供されています。Gemini が有効になっている場合、AlloyDB のクエリエディタにテキストを入力すると、Gemini が SQL コードを予測して自動入力します。

インライン コードの提案を使用するには、次の手順に従います。

  1. Google Cloud コンソールで、[AlloyDB] ページを開きます。

    AlloyDB に移動する

  2. リストからクラスタを選択します。

  3. ナビゲーション メニューで [AlloyDB] をクリックします。

  4. データベースとユーザーを選択し、ユーザーのパスワードを入力します。

  5. [認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  6. データベースにクエリを実行するには、 [新しい SQL エディタ] タブをクリックします。SQL 完成が有効になっていることを確認します。

  7. 行の末尾にクエリと、スペースまたは改行を入力します。テキストを入力すると、Gemini が、選択したデータベースのスキーマでサポートされているオブジェクトに基づいた推奨される SQL を表示します。

    たとえば、Singers テーブルに行を追加するには、INSERT INTO Singers という SQL の記述を開始します。

    Gemini は、次のような SQL を提案します。

    INSERT INTO Singers
    (SingerId, FirstName, LastName, BirthDate)
    VALUES
      (1, 'Marc', 'Singer', '1970-03-24')
    
  8. SQL の提案を確認し、次のいずれかの操作を行います。

    • Gemini によって生成された SQL を受け入れるには、タブを押してから、実行をクリックして、推奨される SQL を実行します。
    • Gemini によって生成された SQL を編集するには、Tab キーを押し、SQL を編集してから、[実行] をクリックします。
    • 提案を拒否するには、Esc を押すか、入力を続けます。

クエリエディタで SQL ステートメントの説明を取得する

AlloyDB で Gemini を使用すると、SQL クエリの説明を自然言語で取得できます。この説明は、クエリが複雑な場合や長い場合に構文、基礎となるスキーマ、ビジネス コンテキストを理解するのに役立ちます。

  1. Google Cloud コンソールで、[AlloyDB] ページを開きます。

    AlloyDB に移動する

  2. リストからクラスタを選択します。

  3. ナビゲーション メニューで [AlloyDB] をクリックします。

  4. データベースとユーザーを選択し、ユーザーのパスワードを入力します。

  5. [認証] をクリックします。[エクスプローラ] ペインに、データベースにあるオブジェクトのリストが表示されます。

  6. データベースにクエリを実行するには、 [新しいタブ] をクリックします。

  7. クエリエディタで、クエリを貼り付けます。

  8. Gemini に説明させるクエリをハイライト表示してから、pen_spark [このクエリを説明する] をクリックします。

    SQL の説明が Gemini の [チャット] ウィンドウに表示されます。

次のステップ