ChatGPTを利用し、実験的なことを行うのは非常に楽しいのですが、やはり仕事に役立つような使い方をして、楽したいですよね!
生成する業務内容としては、画面から入力した値を元にデータベースを検索、結果を表示させる!というものです。

このブログは「技術的な知識がない状態で、ChatGPTの助けを借り、業務システム構築に必要なものを生成する」ための活用例になります。どのような技術でも同じような考え方で応用できるはずなので、試してみてください。

あと、GPT-4は最新の情報が取得できませんので、GPT-3.5を利用してください。

下記条件で生成します。

・OSはWindows11(Pro以上 / HomeはNG)とし、環境を汚したくないのでDockerを利用する
・データベースは無償のPostgreSQLを利用する
・今後の拡張としてAIもシステムに組み込みたいので画面側はPythonを利用する

とりあえず、今回はデータベースの構築のみとします。

「Dockerって聞いたことるけど、どうやって使うのか分からん!」って人もいるかと思います。
そこからChatGPTに聞いてしまいましょう!

GPT_1.png 94.95 KB
どうやら「Docker Desktop for Windows」というものが良いらしいです。
どこからダウンロードするか?お金がかかるものなのか?が気になりますので、追加で下記のように質問してみます。
GPT_2.png 96.01 KBURLが返ってきたので、導入できそうです。あと、商用でない場合は無償のようですね。

とりあえず、上記の結果を得るためのプロンプトをコピペ用に貼り付けておきますね。

【入力】

Docker Desktop for WindowsがダウンロードできるサイトのURLと、商用ではない利用、もしくは商用利用の場合、個人利用と会社利用に分け、すべてのプランの費用(2023年3月時点)を日本円に換算して教えてください。

以降は実際に皆さんがChatGPTに入力出来るように入力部分のみテキストで記述したいと思います。

さて、手順通り作業を行えばDockerが導入されているはずです。次にPostgreSQLを導入しましょう。

【入力】

Docker Desktop for Windowsに最新のPostgreSQLを導入する手順を教えてください。PostgreSQLの管理者パスワードはtestとします。
ポートを公開して外部から接続できるようにし、sampledbという新しいデータベースの作成と、そのデータベースにログインするための管理者権限のユーザーsampleをユーザー名と同じパスワードで作成するSQLコマンドを提示してください。


【出力】

GPT_6.png 345.65 KB出力されたコマンドを実行していくと、sampledbという名前のデータベースとsampleというユーザーが作成されました。

スキーマーの作成を忘れていましたので、sampleというスキーマも作成し、権限を与えるSQLを生成します。

【入力】

sampledb(データベース上)にsampleスキーマーを作成してsampleユーザーがテーブルの作成も含む全ての事が行えるようにアクセスできるように権限を追加するSQLを生成してください。


【出力】
GPT_7.png 99.42 KB
ここまで出来たら、便利に使えるようにA5:SQL Mk-2 などのツールを使ってしまいましょう。下記ページからダウンロードして使ってみてください。


下記のように接続設定を行えば接続可能になります。
SQL.png 25.01 KB
このツールを利用して、テーブルの作成とサンプルデータの生成も行ってしまいましょう。

【入力】

PostgreSQLで日本で利用するログインユーザー管理テーブルを作成したいと考えております。SQLを生成してください。項目は[ユーザーID(ユニークキー、半角英大文字と数字),名前,住所(番地やマンションまで),会社名,役職,性格(10文字以上)]
ユニークキーはユーザーIDで、サンプルデータとして5件程度の適当なデータを挿入するinsert分もSQLで生成してください。


【出力】
GPT_8.png 86.59 KBA5:SQL Mk-2より上記SQLを実行してしまいましょう。データベース関連の管理はコマンドラインではなくツールを使った方が圧倒的に楽ですね!

どうしてもサンプルデータの人名や会社名は当たり障りのない名前しか生成できないように仕組まれているようです。
ChatGPTで物語を生成する場合は、架空の固有名詞系は自分で考えた方がよさそうです。

ここまで生成したら、次はGUI(画面インターフェース)でよね。こちらについては、次回にいたしましょう!

それではまた!