AI

【ChatGPT活用】Power Appsのデータベース設計をAIに考えてもらう!

ChatGPTとは?

ミムチ
ミムチ
Power Appsでアプリ開発をするとき、データベース設計をどのようにすればよいか、いつも悩みますぞ…

パワ実
パワ実
ChatGPT(AIチャットボット)を使って、Power Appsのデータベース設計や、開発の支援をしてもらうことも可能だよ!

この記事では、ChatGPT(AI)を使ってPower Appsアプリのデータベース設計を考えてもらう方法を紹介します。

この記事でわかること

  1. Power Appsのデータベース設計を考える手順
  2. ChatGPTを使ってデータベース設計を考えてもらう方法
  3. SharePointリストを使う場合の注意点

YouTube動画で見たいかたは、こちらからどうぞ!

ChatGPTの概要

ChatGPTとは、OpenAIが開発した大規模な自然言語処理の人工知能です。

AIチャットボットをイメージすると、分かりやすいと思います。

  • チャットボットや、翻訳、文章生成等に応用される
  • 例えば、質問応答、文章生成、要約生成、翻訳等ができる
  • 公開5日で、100万ユーザーを超えた
  • Microsoftは2019年に、OpenAIに10億ドルを投資し、さらに追加で数十億ドルの投資を決定した

ChatGPTを使ってみる!

パワ実
パワ実
実際に見た方が早いと思いますので、まずはChatGPTを使ってみましょう!

1.ChatGPTを開きます。

※ChatGPTの登録方法などは簡単なので省略します。

2.試しに、今回YouTubeで投稿した動画の企画案についてどう思うか、ChatGPTに聞いてみます。

3.質問文を入力し、Enterキーをクリックすると、ChatGPTが回答してくれます。

ChatGPTを利用してデータベース設計を考える方法は、視聴者にとって非常に価値ある情報になると意見を言った上で、最後は非常に魅力的な内容になると思います、と回答してくれました。

ミムチ
ミムチ
まるで人と会話しているような、すごく自然な回答ですぞ!

パワ実
パワ実
Web上のあらゆる情報を集め、いい感じの回答をしてくれることが多いから、最近私はよく相談相手として、ChatGPTを使っているよ。

Power Appsでデータベース設計を考える手順

次に、データベース設計の簡単な流れを説明します。

ChatGPTを使う場合も、使わない場合も、基本的には以下のようにデータベース設計を考えていけば良いです。

必要な機能を洗い出す

まずは、アプリに必要な機能を洗い出しましょう。

機能の洗い出し作業は、その後のデータベース設計に関わる重要な部分なので、必要な機能を漏れなく洗い出しておく必要があります。

パワ実
パワ実
私はよくメンバーとTeams会議でブレストをしながら、OneNote等を使って箇条書きで必要な機能を書いていっています。

登録に必要なデータ(列)を洗い出す

必要な機能を洗い出したら、それをもとに登録で必要なデータを洗い出します。

ここで洗い出されたデータが、実際のアプリで使うデータベースの列にそのままなるイメージです。

データ全体をみて、どのようにテーブルを分けるか考える

洗い出したデータは、そのままデータベースの列になるので、次に必要なデータ全体を見て、どのようにテーブルを分けるか考えます。

ここでは例えば、申請件名など1件の登録データに対して、対応者など複数件数の登録データがあるものについてはテーブルを分けます。

パワ実
パワ実
ここでは、次のステップに書いてあるリレーションシップも検討しながら、テーブルの分け方を考えます。

各テーブル間のリレーションシップを考える

最後に各テーブル間のリレーションシップを考えます。

多くの場合、1件の登録データに対して、複数件数の登録データがある、一対多のリレーションシップになります。

この時リレーションシップのキー列も明確にしておきます。

ミムチ
ミムチ
前のステップで、テーブルの分け方を考えるときに、大体リレーションシップも決まっているのですな。

通常はこのような手順で、Power Appsのデータベース設計を考えていきます。

今回はこの中で、一番上の必要な機能の洗い出しのみ人が考え、それ以降をChatGPTに考えてもらうことにします。

一番上の機能一覧をインプットとして、その先のデータベース設計をChatGPTに回答してもらうということです。

申請管理アプリのデータベース設計を、ChatGPTに考えてもらう!

パワ実
パワ実
 では実際に、申請管理アプリを例に、ChatGPTにデータベース設計を考えてもらいましょう!

アプリの機能一覧をインプットする

1.まずはChatGPTへのインプット情報として、今回作る申請アプリの機能を入力します。

今回はこんな感じで、機能一覧を考えました。

申請情報を登録し、受付担当がステータスを 変更したり、対応担当が申請対応にかかった工数を入力したりできます。

さらに、各申請のカテゴリーや、月ごとの申請件数、対応工数等が可視化できると良いと思いました。

パワ実
パワ実
この機能一覧をもとに、ChatGPTにデータベース設計案を提案してもらいます。

ChatGPTが、このようなテーブル設計案を提案してくれました。

テーブルは、社員テーブル、申請テーブル、申請対応履歴テーブルの全部で3つです。

提案されたテーブル設計を見て、追加で質問する

パワ実
パワ実
SharePointリストを使う場合、アプリ申請者のアカウント情報等は自動で登録されるから、社員テーブルは不要かもしれないね。

ミムチ
ミムチ
カテゴリーで分類したい場合は、カテゴリーテーブルも必要ではないですかな?

パワ実
パワ実
これもChatGPTに聞いてみよう!

このように、以前の会話の内容を踏まえて、続けて質問した内容について回答してくれました。

パワ実
パワ実
この回答から、今回は3つのテーブルで良さそうだから、再度3つのテーブルでデータベース設計を提案してもらうよ。

ChatGPTからこのように、3つのテーブルのデータベース設計案の回答がありました

必要な列の案についても、中々良さそうです。

ミムチ
ミムチ
テーブル間のリレーションシップについても回答してくれましたぞ!

パワ実
パワ実
申請テーブルとカテゴリーテーブル、申請テーブルと申請対応履歴テーブルが、リレーションシップを持つということだね。

さらにリレーションシップについても聞いてみる

どちらも一対多のリレーションシップか、念のためChatGPTに聞いてみます。

どちらも一対多のリレーションシップで良さそうなので、これでデータベース設計に必要な情報は揃いました。

あとはこれを、そのままデータベース設計として資料化しておけばOKですね。

パワ実
パワ実
こんな感じで、ChatGPTを使うと簡単にデータベース設計を考えてもらうことができるよ!

ミムチ
ミムチ
しかしこのデータベース設計案が適切かどうかは、データベースの基本的な知識なども必要になりますな…

パワ実
パワ実
 その通りだね!

ChatGPTの提案内容をレビューするためには、例えばSharePointリストなど、利用するデータベースの特性等の知識も持っている必要があるよ。

SharePointリストをデータソースにする際の注意点

Power AppsでSharePointリストをデータソースとして使う場合の主な注意点が4点あるので、これも押さえておきましょう。

リレーションシップを作成できない

SharePointリストはデータベース側でリレーションシップを作成できません。

アプリ側で工夫をして実装する必要があり、複雑なリレーショナルデータベースとなる場合は実装側が大変になります。

最初は英語でリスト名、列名を入力する

最初に登録したリスト名、列名が実装でも使う内部名になり、これは英語で登録する必要があります。

列名等は、英語の列名も考えておきましょう。

ID列は別のリストに移行できない

SharePointリストが既存で持っているID列は、別のリストに移行することができません。

リストを移行する可能性があり、リレーションシップのキー列にするID列が必要な場合、既存のID列とは別に自分でID列を用意するのがおススメです。

多対多のリレーションシップの場合は、参照列が便利

多対多リレーションシップを作成する場合は、参照列が便利です。

今回の場合、例えば1つの申請に複数のカテゴリーが選択できるようにするときは、申請テーブルのリクエストカテゴリーID列を、参照列として作り、カテゴリーテーブルのカテゴリーID列を参照できるようにしています。

ChatGPTの回答が適切なデータベース設計かどうか判断をするには、このようにSharePointリストの特徴等の知識を理解していることが重要です。

ChatGPTを使ってみた感想

私がチャットGPTを使ってみた感想です。

  • アプリ開発のデータベース設計、実装支援等、色々な場面で役立ちそう
  • 必ずしも正しいことを答えるとは限らない
  • インプット情報を適切に入力する等、コツをつかむ必要はある
  • 将来的には、アプリ開発自体もChatGPTがしてくれるかも…

ミムチ
ミムチ
ChatGPTを使いこなすには、こちら側も基礎的な知識や、適切に情報をインプットする等のスキルが必要ですな。

最後に

本日はChatGPTを活用して、Power Appsのデータベース設計を考えてもらう方法を紹介しました。

ChatGPTを活用することでPower Appsのデータベース設計以外にも、様々な仕事に役立てられそうです。

先日Microsoftのイベントで聞いた話では、ChatGPTで使われている言語モデルGPT3.5は、今後MicrosoftのTeamsや、Azure、Power Platform等あらゆるマイクロソフトのサービスに組み込まれていくそうです。

ミムチ
ミムチ
今後のAI技術の動向にも注意していく必要がありそうですな。

パワ実
パワ実
今後もPower Platform等でAIが活用できそうなケースがあれば、紹介していくよ!

ABOUT ME
パワ実
DX推進担当(IT部門) 2021年からPower Platform(Power BI、Power Apps、Power Automate)を勉強中。 Power Platformを使っていく中で、知りえた情報を発信している。 Youtube、Twitterでの情報発信もしています!

Power Platformのご依頼・ご相談について

Power Platformについてのご相談、お仕事のご依頼については、
こちらのお問い合わせページをご確認ください。