一覧へ

データベースとは

データベースがなぜ必要なのか、ファイルと何が違うのか、CRUDとSQL/NoSQLの違いを5分で理解しましょう。

入門
|
5
|
検証済み (2026-07)
進捗0/55 (0%)

データベースとは

このトピックを修了すると

データベースがなぜ必要なのかを説明できるようになり、CRUDの意味とSQL/NoSQLの違いを理解できるようになります。


ファイルでは不十分な理由

プログラムがデータを保存する必要がある場合、最も単純な方法はファイルです。JSONファイルにユーザーリストを保存するようなものです。

json
[
  {"id": 1, "name": "キム・フン", "email": "hoon@example.com"},
  {"id": 2, "name": "イ・ス", "email": "su@example.com"}
]

この方法は最初は問題ありませんが、すぐに問題が発生します。

  • ユーザーが1万人に達すると、検索が遅くなる—ファイル全体を読み込む必要があるため
  • 2人が同時に修正すると、データが上書きされる
  • 「メールアドレスが'naver.com'のユーザーだけを探して」のような複雑な質問には、自分でコードを書く必要がある

データベース(DB)は、これらの問題を解決するために作られた専門的なデータ保存・検索システムです。


CRUD — データの4つの操作

データベースで行うことは、結局のところ4つです。

操作意味SQLキーワード
Create新しいデータを作成INSERT
Readデータを読み取る/検索するSELECT
Update既存のデータを修正UPDATE
Deleteデータを削除DELETE

Webアプリケーションのほぼすべての機能は、CRUDの組み合わせです。会員登録(C)、掲示板のリスト(R)、プロフィールの修正(U)、アカウントの削除(D)。


関係データベース — 表(Table)で整理

最も古く、広く使われている方法は関係データベース(RDBMS)です。データをの形式で保存します。

text
usersテーブル:
+----+--------+---------------------+
| id | name   | email               |
+----+--------+---------------------+
|  1 | キム・フン   | hoon@example.com    |
|  2 | イ・ス   | su@example.com      |
+----+--------+---------------------+

各行(row)が1つのデータ、各列(column)が属性です。この表に対して質問する言語がSQLです。

sql
-- メールアドレスがnaver.comのユーザーを検索
SELECT name, email FROM users WHERE email LIKE '%@naver.com';

代表的なRDBMS:MySQL、PostgreSQL、SQLite、Oracle。


NoSQL — 表形式ではないデータベース

すべてのデータがきれいな表に収まるわけではありません。ユーザーごとに異なる属性を持っていたり、データ構造が頻繁に変化する場合は、NoSQLを使用します。

json
// MongoDBドキュメントの例
{
  "_id": "abc123",
  "name": "キム・フン",
  "skills": ["Python", "JavaScript"],
  "address": {
    "city": "ソウル",
    "district": "江南"
  }
}

SQLなしで、JSONのような構造で保存します。柔軟ですが、複雑な関係(JOIN)は不便です。

代表的なNoSQL:MongoDB、Redis、Firebase、Supabase(PostgreSQLベースですがBaaS)。


何を学ぶべきか

状況推奨
Web開発の基礎MySQLまたはPostgreSQL(SQL必須)
迅速なプロトタイプSupabase、Firebase(設定を最小限に)
大規模な非構造化データMongoDB

最初はSQLを先に学ぶのが良いでしょう。SQLは、どのようなデータベースを使用しても基礎となり、データを扱う思考力を訓練してくれます。


→プロフィールに適用:DevBench — データベース基礎

💬 質問・コメント

0件のコメント

ログインせずに投稿できます。ゲスト投稿は投稿者自身で編集・削除できません。

0/2000

読み込み中...