2024年9月4日水曜日

生成AIを活用してOracle APEXのアプリケーションを作成する

Oracle APEXは、リレーショナル・データベースに定義されたスキーマをもとにアプリケーションを作成するシステムなので、アプリケーションを作成するにあたって作成済みのスキーマは必要です。JavaScriptやPL/SQLを書けば大抵のことはできますが、それらはAPEXが提供している機能というよりは、ブラウザやデータベースの機能です。

アプリケーションを作成するにあたって、データ・モデリングから初めて、それが完了するまでアプリケーションを作れないとなると、経験値が高くないと作業を始めるハードルが上がってしまいます。

そこで、生成AIを使ってスキーマを作成し、それをもとに叩き台となるAPEXのアプリケーションを作成してみます。

今回の作業ではGoogleのGemini Advancedを使ってみます。コード生成能力の高い生成AI(OpenAI GPT-4o、Anthropic Claude 3.5 Sonnetなど)であれば、同様の作業はできるでしょう。

まず、Geminiに以下のプロンプトを与えて、個人旅行管理アプリのスキーマを作成してもらいます。

個人旅行に必要な情報を管理するためのリレーショナル・データベースのスキーマを設計してください。
表やビューを作成するDDLは、オラクル・データベースで実行可能なスクリプトを生成してください。
表やビューの名前の接頭辞としてXXTRIP_を付加してください。
表の作成時にエラーが発生しないように、制約のない表が先に作成されるようにしてください。
表の名前や列の名前はすべて英語にしてください。
すべての表にサロゲート・キーを付与し、自動採番にしてください。


あまり具体的な指示、例えば作成する表を指示したり列を指示したりすると、生成AIはそれらの指示通りの表や列を含んだDDLを生成するようです。設計内容に自信がある場合は別ですが、それほどでもない場合は、最初はあまり細かい指定をせずに生成AIにまかせた方が、アイデア出しという面では良いように思います。

生成されたコードをコピーします。


SQLワークショップSQLスクリプトを開きます。


作成をクリックします。


スクリプト・エディタが開きます。

スクリプト名としてTrip_Managerを設定し、内容に生成されたDDLをペーストします。


続けて生成AIにテスト・データの生成を指示します。
表にテスト・データを投入するINSERT文を生成してください。オラクル・データベースで実行できるINSERT文を生成してください。

生成されたINSERT文を、SQLスクリプトに追記します。

スクリプトを実行します。


スクリプトを即時実行します。


スクリプトの実行結果を確認します。


継続してアプリケーションの作成をクリックします。


確認画面が開くので、再度アプリケーションの作成をクリックします。


アプリケーション作成ウィザードが開きます。

デフォルトで作成されるのは、それぞれの表をソースとしたフォーム付き対話モード・レポートのページです。

デフォルトのまま、アプリケーションの作成をクリックします。


アプリケーションが作成されます。


アプリケーションを実行すると、データ操作を行うことができる、簡素なアプリケーションを使うことができます。


生成されたDDLを見直してみたり、アプリケーションを使ってみて今ひとつと感じたら、プロンプトの指示を変えてDDLから生成しなおしてみます。

生成するオブジェクトの接頭辞としてXXTRIP_付けるように指示しているため、以下のスクリプトを実行することで、関連オブジェクトをすべて削除できます。


作成されたアプリケーションも削除し、再度、最初から作業を繰り返します。

今回の記事は以上になります。

Oracle APEXのアプリケーション作成で、生成AIを活用する参考になれば幸いです。