ストーリー
データベースの種類
データベースにはいくつかの種類がありますが、大きく分けると2つです。
1. リレーショナルデータベース(RDB)
データを「表(テーブル)」で管理するデータベース
| id | name | dept | salary |
|---|---|---|---|
| 1 | 田中太郎 | 開発部 | 350000 |
| 2 | 佐藤花子 | 営業部 | 320000 |
| 3 | 鈴木一郎 | 開発部 | 400000 |
- 特徴: データを行と列で管理する。SQLという言語でデータを操作する
- 代表例: MySQL、PostgreSQL、SQLite、Oracle、SQL Server
- 利用率: Webアプリケーションの大多数がRDBを採用
2. NoSQL
テーブル以外の方法でデータを管理するデータベース
{
"id": 1,
"name": "田中太郎",
"dept": "開発部",
"salary": 350000,
"skills": ["Python", "JavaScript"]
}
- 特徴: JSON形式やキーバリュー形式でデータを管理する
- 代表例: MongoDB、Redis、DynamoDB、Firebase
- 用途: 大量データの高速処理、柔軟な構造が必要な場合
このコースではリレーショナルDBを学ぶ
なぜリレーショナルDBから始めるのか
| 理由 | 説明 |
|---|---|
| 最も普及 | 企業の業務システムの大半がRDBを使用 |
| 基礎になる | RDBを理解していればNoSQLの学習も容易 |
| SQLが共通 | MySQL、PostgreSQL、SQLiteでSQLはほぼ共通 |
| 求人が多い | RDB/SQLスキルは最も需要が高い |
まずはリレーショナルデータベースとSQLをしっかり身につけましょう。NoSQLはその後に学ぶのがおすすめです。
基本用語を覚えよう
データベース(Database)
テーブルの集まり。1つのアプリケーションに1つ以上のデータベースがある
graph TD
DB["🗄️ データベース「shop_db」"] --> T1["users"]
DB --> T2["products"]
DB --> T3["orders"]
DB --> T4["reviews"]
style DB fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style T1 fill:#d1fae5,stroke:#059669,color:#065f46
style T2 fill:#d1fae5,stroke:#059669,color:#065f46
style T3 fill:#d1fae5,stroke:#059669,color:#065f46
style T4 fill:#d1fae5,stroke:#059669,color:#065f46
例え話: 「会社」のようなもの。会社の中に複数の「部署(テーブル)」がある。
テーブル(Table)
データを行と列で管理する「表」。Excelのシートに相当
1つのテーブルは1つの種類のデータを管理します。
| id | name | age | |
|---|---|---|---|
| 1 | 田中太郎 | tanaka@example.com | 28 |
| 2 | 佐藤花子 | sato@example.com | 32 |
カラム(Column / 列)
テーブルの「縦方向」。データの種類を定義する
上の例では id、name、email、age がカラムです。
- カラムにはデータ型(数値、文字列など)を指定する
- 「フィールド(Field)」とも呼ばれる
ロウ(Row / 行)
テーブルの「横方向」。1件分のデータ
上の例では「田中太郎のデータ一式」が1つのロウです。
- 「レコード(Record)」とも呼ばれる
- 1行 = 1件のデータ
ExcelとデータベースのテーブルQ比較
似ているところ
| Excel | データベース |
|---|---|
| ワークブック | データベース |
| シート | テーブル |
| 列(A列、B列…) | カラム(id、name…) |
| 行(1行目、2行目…) | ロウ / レコード |
| セル | フィールド(1つのデータ) |
違うところ
| 項目 | Excel | データベース |
|---|---|---|
| データ量 | 数万行が限界 | 数億行でも対応可能 |
| 同時アクセス | 1人が基本 | 数千人が同時に使える |
| データの型 | 自由(数字も文字も混在可) | 厳密に指定する |
| 検索速度 | 大量データでは遅い | インデックスで高速 |
| データの整合性 | 自己責任 | データベースが保証する |
図で比較
graph LR
subgraph Excel["📊 Excel"]
E1["Sheet1"]
E2["A:名前 B:年齢 C:部署"]
E3["1: 田中 28 開発"]
E4["2: 佐藤 32 営業"]
E1 --> E2 --> E3 --> E4
end
subgraph DB["🗄️ データベース"]
D1["Table: users"]
D2["id / name / age"]
D3["1: 田中 28"]
D4["2: 佐藤 32"]
D1 --> D2 --> D3 --> D4
end
Excel -.->|"見た目は似ている!\nでもDBのほうが高機能"| DB
style Excel fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style DB fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style E1 fill:#fef9c3,stroke:#ca8a04,color:#713f12
style E2 fill:#fef9c3,stroke:#ca8a04,color:#713f12
style E3 fill:#fef9c3,stroke:#ca8a04,color:#713f12
style E4 fill:#fef9c3,stroke:#ca8a04,color:#713f12
style D1 fill:#dbeafe,stroke:#3b82f6,color:#1e40af
style D2 fill:#dbeafe,stroke:#3b82f6,color:#1e40af
style D3 fill:#dbeafe,stroke:#3b82f6,color:#1e40af
style D4 fill:#dbeafe,stroke:#3b82f6,color:#1e40af
主要なリレーショナルデータベース
比較表
| 項目 | MySQL | PostgreSQL | SQLite |
|---|---|---|---|
| 種類 | サーバー型 | サーバー型 | ファイル型 |
| 料金 | 無料 | 無料 | 無料 |
| 開発元 | Oracle社 | コミュニティ | D. Richard Hipp |
| 特徴 | シンプル、高速 | 高機能、拡張性 | 軽量、設定不要 |
| 用途 | Webアプリ全般 | 大規模システム | 学習、モバイルアプリ |
| 利用企業 | Facebook, Twitter | Apple, Instagram | Android, iOS |
| 難易度 | 初級〜 | 中級〜 | 入門〜 |
このコースではSQLiteを使います
SQLiteを選ぶ理由:
- インストールが簡単(ファイル1つで動く)
- サーバーの設定が不要
- SQLの基本はMySQL、PostgreSQLと同じ
- 学習に最適
SQLiteで基礎を身につければ、MySQL やPostgreSQLへの移行は簡単です。
用語の全体像
graph TD
subgraph Database["🗄️ データベース(Database)"]
subgraph Table1["📋 テーブル(Table)"]
Header["カラム → id / name / email / age"]
Row1["ロウ → 1 / 田中 / t@... / 28"]
Row2["ロウ → 2 / 佐藤 / s@... / 32"]
Header --- Row1 --- Row2
end
Table2["📋 別のテーブル..."]
end
style Database fill:#f8fafc,stroke:#475569,stroke-width:2px,color:#1e293b
style Table1 fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style Header fill:#fef3c7,stroke:#d97706,color:#92400e
style Row1 fill:#d1fae5,stroke:#059669,color:#065f46
style Row2 fill:#d1fae5,stroke:#059669,color:#065f46
style Table2 fill:#f3f4f6,stroke:#9ca3af,color:#6b7280
まとめ
| 用語 | 意味 | 例え |
|---|---|---|
| データベース | テーブルの集まり | 会社 |
| テーブル | データを行と列で管理する表 | Excelのシート |
| カラム(列) | データの種類 | Excelの列(A列、B列) |
| ロウ(行) | 1件分のデータ | Excelの行(1行目、2行目) |
| レコード | ロウと同じ意味 | 1件のデータ |
| フィールド | カラムと同じ意味 / 1つのセル | 1つのデータ項目 |
覚えておくこと
- リレーショナルDB = データを表で管理するデータベース
- SQL = リレーショナルDBを操作する言語
- SQLite = 学習に最適な軽量データベース
次のステップへ
データベースの種類と基本用語は理解できましたか?
次のセクションでは、実際にSQLiteをインストールしてみましょう。インストールは簡単です。すぐに使い始められます。
推定読了時間: 25分