ChatGPTとは?
この記事では、ChatGPT(AI)を使ってPower Appsアプリのデータベース設計を考えてもらう方法を紹介します。
- Power Appsのデータベース設計を考える手順
- ChatGPTを使ってデータベース設計を考えてもらう方法
- SharePointリストを使う場合の注意点
YouTube動画で見たいかたは、こちらからどうぞ!
ChatGPTの概要
ChatGPTとは、OpenAIが開発した大規模な自然言語処理の人工知能です。
AIチャットボットをイメージすると、分かりやすいと思います。
- チャットボットや、翻訳、文章生成等に応用される
- 例えば、質問応答、文章生成、要約生成、翻訳等ができる
- 公開5日で、100万ユーザーを超えた
- Microsoftは2019年に、OpenAIに10億ドルを投資し、さらに追加で数十億ドルの投資を決定した
ChatGPTを使ってみる!
1.ChatGPTを開きます。
※ChatGPTの登録方法などは簡単なので省略します。
2.試しに、今回YouTubeで投稿した動画の企画案についてどう思うか、ChatGPTに聞いてみます。
3.質問文を入力し、Enterキーをクリックすると、ChatGPTが回答してくれます。
ChatGPTを利用してデータベース設計を考える方法は、視聴者にとって非常に価値ある情報になると意見を言った上で、最後は非常に魅力的な内容になると思います、と回答してくれました。
Power Appsでデータベース設計を考える手順
次に、データベース設計の簡単な流れを説明します。
ChatGPTを使う場合も、使わない場合も、基本的には以下のようにデータベース設計を考えていけば良いです。
必要な機能を洗い出す
まずは、アプリに必要な機能を洗い出しましょう。
機能の洗い出し作業は、その後のデータベース設計に関わる重要な部分なので、必要な機能を漏れなく洗い出しておく必要があります。
登録に必要なデータ(列)を洗い出す
必要な機能を洗い出したら、それをもとに登録で必要なデータを洗い出します。
ここで洗い出されたデータが、実際のアプリで使うデータベースの列にそのままなるイメージです。
データ全体をみて、どのようにテーブルを分けるか考える
洗い出したデータは、そのままデータベースの列になるので、次に必要なデータ全体を見て、どのようにテーブルを分けるか考えます。
ここでは例えば、申請件名など1件の登録データに対して、対応者など複数件数の登録データがあるものについてはテーブルを分けます。
各テーブル間のリレーションシップを考える
最後に各テーブル間のリレーションシップを考えます。
多くの場合、1件の登録データに対して、複数件数の登録データがある、一対多のリレーションシップになります。
この時リレーションシップのキー列も明確にしておきます。
通常はこのような手順で、Power Appsのデータベース設計を考えていきます。
今回はこの中で、一番上の必要な機能の洗い出しのみ人が考え、それ以降をChatGPTに考えてもらうことにします。
一番上の機能一覧をインプットとして、その先のデータベース設計をChatGPTに回答してもらうということです。
申請管理アプリのデータベース設計を、ChatGPTに考えてもらう!
アプリの機能一覧をインプットする
1.まずはChatGPTへのインプット情報として、今回作る申請アプリの機能を入力します。
今回はこんな感じで、機能一覧を考えました。
申請情報を登録し、受付担当がステータスを 変更したり、対応担当が申請対応にかかった工数を入力したりできます。
さらに、各申請のカテゴリーや、月ごとの申請件数、対応工数等が可視化できると良いと思いました。
ChatGPTが、このようなテーブル設計案を提案してくれました。
テーブルは、社員テーブル、申請テーブル、申請対応履歴テーブルの全部で3つです。
提案されたテーブル設計を見て、追加で質問する
このように、以前の会話の内容を踏まえて、続けて質問した内容について回答してくれました。
ChatGPTからこのように、3つのテーブルのデータベース設計案の回答がありました。
必要な列の案についても、中々良さそうです。
さらにリレーションシップについても聞いてみる
どちらも一対多のリレーションシップか、念のためChatGPTに聞いてみます。
どちらも一対多のリレーションシップで良さそうなので、これでデータベース設計に必要な情報は揃いました。
あとはこれを、そのままデータベース設計として資料化しておけばOKですね。
ChatGPTの提案内容をレビューするためには、例えばSharePointリストなど、利用するデータベースの特性等の知識も持っている必要があるよ。
SharePointリストをデータソースにする際の注意点
Power AppsでSharePointリストをデータソースとして使う場合の主な注意点が4点あるので、これも押さえておきましょう。
リレーションシップを作成できない
SharePointリストはデータベース側でリレーションシップを作成できません。
アプリ側で工夫をして実装する必要があり、複雑なリレーショナルデータベースとなる場合は実装側が大変になります。
最初は英語でリスト名、列名を入力する
最初に登録したリスト名、列名が実装でも使う内部名になり、これは英語で登録する必要があります。
列名等は、英語の列名も考えておきましょう。
ID列は別のリストに移行できない
SharePointリストが既存で持っているID列は、別のリストに移行することができません。
リストを移行する可能性があり、リレーションシップのキー列にするID列が必要な場合、既存のID列とは別に自分でID列を用意するのがおススメです。
多対多のリレーションシップの場合は、参照列が便利
多対多リレーションシップを作成する場合は、参照列が便利です。
今回の場合、例えば1つの申請に複数のカテゴリーが選択できるようにするときは、申請テーブルのリクエストカテゴリーID列を、参照列として作り、カテゴリーテーブルのカテゴリーID列を参照できるようにしています。
ChatGPTの回答が適切なデータベース設計かどうか判断をするには、このようにSharePointリストの特徴等の知識を理解していることが重要です。
ChatGPTを使ってみた感想
私がチャットGPTを使ってみた感想です。
- アプリ開発のデータベース設計、実装支援等、色々な場面で役立ちそう
- 必ずしも正しいことを答えるとは限らない
- インプット情報を適切に入力する等、コツをつかむ必要はある
- 将来的には、アプリ開発自体もChatGPTがしてくれるかも…
最後に
本日はChatGPTを活用して、Power Appsのデータベース設計を考えてもらう方法を紹介しました。
ChatGPTを活用することでPower Appsのデータベース設計以外にも、様々な仕事に役立てられそうです。
先日Microsoftのイベントで聞いた話では、ChatGPTで使われている言語モデルGPT3.5は、今後MicrosoftのTeamsや、Azure、Power Platform等あらゆるマイクロソフトのサービスに組み込まれていくそうです。