Lecture 12技術理解 — 第 3

Lecture 12データベースとは?

ユーザー情報や投稿などの構造化データを保存するデータベースを理解します。

読了の目安 約 6 分図解 準備中難易度

データベース は、アプリの情報を 整理して保管しておく場所 です。 身近なものに例えると、スプレッドシート(Excel / Googleスプレッドシート)の表 がいちばん近いです。 行と列で整った表を、いくつも並べて持っているイメージから始めましょう。

このレクチャーでは、データベースに何が入るのか、何を入れるべきで何を入れないべきか、 そしてAIに依頼するときのコツまでを、できるだけ 表のイメージ から離れずに説明します。

1データベース=整理された保管場所

ユーザー、商品、注文、予約、投稿、メッセージ。 普段使うアプリには あとから検索したくなる情報 がたくさんあります。 こうした情報を、ばらばらのメモではなく、整った表 として保管するのがデータベースです。

イメージは図書館の蔵書管理が近いです。本を物理的に置く本棚(=後で出てくるストレージ)と、 「どの本がどの棚にあるか」を整理して書いた台帳(=データベース)は、別の場所にあります。

2スプレッドシートをイメージする

一番分かりやすい入口は スプレッドシートの表 です。 1つの表は、ひとつの種類の情報をまとめたものになります。例えば「ユーザー」の表ならこんな具合です。

  • 列(カラム):項目の名前。idnameemailcreatedAt など。
  • 行(レコード):1件分のデータ。1行=ユーザー1人分。
  • 表(テーブル):列と行の集まり。「ユーザー表」「投稿表」のように種類ごとに分けて持つ。

実際のデータベースは、検索の速さや権限の管理など、もう少し厳密です。 ただ 入口のイメージはこれで十分。最初は「スプレッドシートが何枚かある」と思ってOKです。

Figure 12.1スプレッドシートの1行 = 画面の1件
図解 準備中(生成プロンプトは下記)
生成後は public/lectures/lecture-12-database/table-to-card.png に差し替え予定
image · 1400 × 800 (7:4)

3保存するもの・しないもの

AIに「全部DBに入れて」と頼むと、本当に全部入ってしまうことがあります。 何を入れるかは 人間の判断 です。次の3つを意識します。

  • 必要最低限だけ入れる:使わない情報を持つほど、管理が大変になります。
  • 個人情報は慎重に:本名、住所、電話番号、決済情報などは「本当に必要か?」を毎回問う。
  • 派生で出せる値は持たない:合計金額や年齢など、他のデータから計算できるものは保存しなくてよい場合が多い。
Note

少なすぎても困る、多すぎても困る

必要な情報が足りないと機能を作れません。逆に、なんとなく取っているだけの情報は、 事故のときに 被害を大きくする原因 になります。 「この情報がないと、どの画面が成立しなくなるか?」を物差しにすると判断しやすいです。

4AIに依頼するときの言い方

テーブル設計(どんな表をいくつ作るか)は、AIに任せつつ 人間がレビュー するのが安全です。 こんな依頼の仕方が効きます。

  • userspostscomments の3テーブルを設計してください。各列の意味も初心者向けに教えてください」
  • 「個人情報は最小限にしたいので、必須でない列は省いて提案してください」
  • 「テーブル同士の関係(誰の投稿、誰のコメント)も図にしてください」
やってみよう · Exercise

自分のアプリの「表」を3枚書き出してみる

いきなり完璧な設計を狙わなくて大丈夫です。3枚の表の名前と、思いつく列名 を並べてみるところから始めます。

  1. 自分が作りたいアプリで、保存が必要そうな情報を3種類書き出す(例:ユーザー、投稿、コメント)。
  2. 各表に入れたい列を、思いつくまま3〜5個並べる(例:nameemailcreatedAt)。
  3. その内容をCodexに渡し、「初心者向けに整理し直して、足りない列があれば理由付きで提案してください」と依頼する。
進捗にチェックをつける

5理解確認チェックリスト

  • データベースは「整理された情報の保管場所」だと説明できる。
  • 表=テーブル、行=1件、列=項目、の関係をイメージできる。
  • 何を保存して何を保存しないかは人間が判断すると理解している。
End of Lecture 12