Lecture 12データベースとは?
ユーザー情報や投稿などの構造化データを保存するデータベースを理解します。
データベース は、アプリの情報を 整理して保管しておく場所 です。 身近なものに例えると、スプレッドシート(Excel / Googleスプレッドシート)の表 がいちばん近いです。 行と列で整った表を、いくつも並べて持っているイメージから始めましょう。
このレクチャーでは、データベースに何が入るのか、何を入れるべきで何を入れないべきか、 そしてAIに依頼するときのコツまでを、できるだけ 表のイメージ から離れずに説明します。
1データベース=整理された保管場所
ユーザー、商品、注文、予約、投稿、メッセージ。 普段使うアプリには あとから検索したくなる情報 がたくさんあります。 こうした情報を、ばらばらのメモではなく、整った表 として保管するのがデータベースです。
イメージは図書館の蔵書管理が近いです。本を物理的に置く本棚(=後で出てくるストレージ)と、 「どの本がどの棚にあるか」を整理して書いた台帳(=データベース)は、別の場所にあります。
2スプレッドシートをイメージする
一番分かりやすい入口は スプレッドシートの表 です。 1つの表は、ひとつの種類の情報をまとめたものになります。例えば「ユーザー」の表ならこんな具合です。
- 列(カラム):項目の名前。
id、name、email、createdAtなど。 - 行(レコード):1件分のデータ。1行=ユーザー1人分。
- 表(テーブル):列と行の集まり。「ユーザー表」「投稿表」のように種類ごとに分けて持つ。
実際のデータベースは、検索の速さや権限の管理など、もう少し厳密です。 ただ 入口のイメージはこれで十分。最初は「スプレッドシートが何枚かある」と思ってOKです。
3保存するもの・しないもの
AIに「全部DBに入れて」と頼むと、本当に全部入ってしまうことがあります。 何を入れるかは 人間の判断 です。次の3つを意識します。
- 必要最低限だけ入れる:使わない情報を持つほど、管理が大変になります。
- 個人情報は慎重に:本名、住所、電話番号、決済情報などは「本当に必要か?」を毎回問う。
- 派生で出せる値は持たない:合計金額や年齢など、他のデータから計算できるものは保存しなくてよい場合が多い。
少なすぎても困る、多すぎても困る
必要な情報が足りないと機能を作れません。逆に、なんとなく取っているだけの情報は、 事故のときに 被害を大きくする原因 になります。 「この情報がないと、どの画面が成立しなくなるか?」を物差しにすると判断しやすいです。
4AIに依頼するときの言い方
テーブル設計(どんな表をいくつ作るか)は、AIに任せつつ 人間がレビュー するのが安全です。 こんな依頼の仕方が効きます。
- 「
users、posts、commentsの3テーブルを設計してください。各列の意味も初心者向けに教えてください」 - 「個人情報は最小限にしたいので、必須でない列は省いて提案してください」
- 「テーブル同士の関係(誰の投稿、誰のコメント)も図にしてください」
自分のアプリの「表」を3枚書き出してみる
いきなり完璧な設計を狙わなくて大丈夫です。3枚の表の名前と、思いつく列名 を並べてみるところから始めます。
- 自分が作りたいアプリで、保存が必要そうな情報を3種類書き出す(例:ユーザー、投稿、コメント)。
- 各表に入れたい列を、思いつくまま3〜5個並べる(例:
name、email、createdAt)。 - その内容をCodexに渡し、「初心者向けに整理し直して、足りない列があれば理由付きで提案してください」と依頼する。
5理解確認チェックリスト
- データベースは「整理された情報の保管場所」だと説明できる。
- 表=テーブル、行=1件、列=項目、の関係をイメージできる。
- 何を保存して何を保存しないかは人間が判断すると理解している。