データベースって何?
アプリがデータをずっと保存しておく場所
⏱ 想定 ~5 分
01 · 読む
あなたが使うアプリは、どれもどこかにデータを保存しています。アカウントを作る、写真を投稿する、ドキュメントを保存する —— こうした情報は永続的な場所に置く必要があります。明日もう一度開いたときに、そこに残っているように。
それが データベース の仕事です。データを保存・取り出すための、組織化された仕組みです。データベースがなければ、アプリは閉じた瞬間にすべてを忘れてしまいます。
💡 想像してみてくださいデータベースは、きちんとラベル付けされた棚のあるパントリーのようなものです。食材を適当に戸棚に投げ込んだりはしません。缶詰は一段目、スパイスは二段目、穀物は三段目、と分けて置きます。何かを探すときは、どこに行けばいいか分かっています。データベースもデータに対して同じことをします —— すべてを整理して、アプリがすぐに見つけられるようにします。
ポイントまとめ
- データベースはデータを永続的に保存します —— 再起動、クラッシュ、停電があっても残ります
- データは構造のあるコレクション(行と列のあるテーブルのような)に整理されます
- ユーザーが操作している間、アプリは絶えずデータベースからデータを読み書きしています
- ほとんどのアプリは、裏側に少なくともひとつのデータベースを持っています
02 · コード例
下は、典型的なデータベースのデータの見た目です。これは users テーブルで、各行(レコード)が一人のユーザー、各列(カラム)がそのユーザーの情報の項目を表しています。
users テーブル
| id | name | email | created_at |
|----|------------|--------------------|---------------------|
| 1 | Sara Chen | sara@email.com | 2024-01-15 09:30:00 |
| 2 | Alex Kim | alex@email.com | 2024-02-20 14:45:00 |
| 3 | Jamie Diaz | jamie@email.com | 2024-03-01 11:00:00 |
ユーザーごとに 1 行を使います。カラム( id 、 name 、 email 、 created_at )はすべての人で同じです。この構造を スキーマ といいます。表計算ソフトのように、各行が同じフォーマットになっています。
03 · 読む
すべてのデータベースが同じ動き方をするわけではありません。大きく分けて 2 つのファミリーがあります。SQL データベース ( PostgreSQL 、 MySQL など)は、データを厳密なテーブルに、行と列で保存します。各行は同じ構造に従い、これを スキーマ といいます。表計算ソフトのように、各行が完全に同じカラムを持っているとイメージしてください。データが予測しやすく、構造が決まっている場合に SQL データベースは強力です。
NoSQL データベース ( MongoDB など)はもっと柔軟です。固定のテーブルではなく、ドキュメントとしてデータを保存します —— JSON ファイルのようなものと考えてください。ドキュメントごとに違うフィールドを持てるので、最初から構造を決め切らなくて済みます。データが多様で、頻繁に変化する場合に NoSQL は向いています。
ポイントまとめ
- SQL データベースは、厳密なテーブルと固定のスキーマを使います(各行が同じカラムを持つ)
- NoSQL データベースは柔軟なドキュメントを使い、それぞれが違うフィールドを持てます
- PostgreSQL は人気の SQL データベース、 MongoDB は人気の NoSQL データベース
- どちらが「優れている」ということはありません —— それぞれ違う場面のために設計されています
04 · ドラッグ分類
これらの説明を、正しいデータベースの種類に分類してみましょう。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
05 · クイズ
アプリにデータベースが必要なのはなぜですか?
- アプリを閉じてもデータが消えないように、永続的に保存するため
- アプリの見た目を良くするため
- インターネットに接続するため
- プログラムを速くするため
⚠ 全機能のインタラクティブ体験には JavaScript が必要です。JavaScript を有効にして再読み込みしてください。
※ このサイトは独立した教育プロジェクトで、Anthropic の公式製品ではありません。Claude™ は Anthropic, PBC の商標です。