すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

生成AIを使ってデータベースを作成しよう

この記事で出来るようになること

データベース設計とは

データベース設計とは、アプリケーションで扱う情報(データ)をどのように整理・構造化するかを決める作業です。アプリの土台となるこの作業は、適切に行うことで以下のようなメリットがあります。

  • 情報の重複を避け、無駄なデータを減らせる
  • データの整合性を保てる(例:ユーザーがいないのに注文だけがある、などの矛盾を防げる)
  • アプリ開発のスピードが向上する(明確な設計により迷わず開発できる)

たとえば、「レシピ投稿アプリ」を作る場合、「ユーザー」「レシピ」「材料」などのテーブルが必要になります。それぞれのテーブルに、どんな情報(カラム)を持たせるか、どのテーブルと関係があるのか(リレーション)を決めるのが、データベース設計の目的です。

データベースを作成しよう

データベースを設計するには、まずどのような情報が必要かを明確にした仕様書が必要です。
前回のカリキュラムで作成した仕様書がその土台となります。

この仕様書をもとに、生成AIに「どんなテーブルが必要か」「それぞれのカラム名やデータ型はどうすべきか」といった設計を依頼することで、人間では時間がかかるデータベース設計を数秒で作成することができます。

プロンプトを作成しよう

それでは、以下のようなプロンプトを使って、AIにデータベース設計を依頼してみましょう。

#命令書:
あなたはデータベース設計に精通したシステムアーキテクトです。
以下の制約条件と仕様書をもとに、各テーブルを作成してください。

#制約条件:
・カラム名、データ型、主キー、外部キー、制約(NOT NULLなど)を含める
・表で出力してください

#入力文:
--- 仕様書ここから ---
(ここにAIが作成した仕様書をそのまま貼り付けます)
--- 仕様書ここまで ---

このプロンプトを使うことで、仕様に沿った適切なテーブル構成を提案してくれます。

以下は、RemoteBuddy のシステムに基づいたデータベース設計です。主要なエンティティに対して、カラム名・データ型・主キー・外部キー・制約を含めた構成表を提示します。

AIからの回答例を見る

wikiに保存しよう

AIによって作成されたデータベース設計は、チームで共有・管理できるようGitHubのwikiに保存しておきましょう。
マークダウン形式で出力されなかったら、マークダウン形式に修正してもらいましょう。

データベース設計

まとめ

これで、生成AIを活用してアプリの要件定義書から仕様書、さらにデータベース設計までを効率的に作成することができました。それぞれの内容をチェックし、不足や誤りがあれば適宜修正を加えることで、より実践的で信頼性の高い設計資料が完成します。

このように、生成AIを活用することで、

  • ドキュメント作成のスピード向上
  • 作業の属人化防止
  • チーム内での共通理解の促進

といった多くのメリットが得られます。

今後は、これらのドキュメントをもとに実際のアプリ開発を進めていきましょう。生成AIはあくまでアシスタントですが、使い方次第で非常に強力なパートナーになります。ぜひ、日々の開発に積極的に取り入れてみてください。