LESSON 25分

ストーリー

あなた
先輩、リレーショナルデータベースって何ですか?
先輩
データを表(テーブル)で管理するタイプのデータベースだよ。Excelの表みたいなイメージかな
あなた
NoSQLっていうのも聞いたんですけど…
先輩
それはまた別の種類。まずはリレーショナルデータベースをしっかり理解しよう

データベースの種類

データベースにはいくつかの種類がありますが、大きく分けると2つです。

1. リレーショナルデータベース(RDB)

データを「表(テーブル)」で管理するデータベース

idnamedeptsalary
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つの種類のデータを管理します。

idnameemailage
1田中太郎tanaka@example.com28
2佐藤花子sato@example.com32

カラム(Column / 列)

テーブルの「縦方向」。データの種類を定義する

上の例では idnameemailage がカラムです。

  • カラムにはデータ型(数値、文字列など)を指定する
  • 「フィールド(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

主要なリレーショナルデータベース

比較表

項目MySQLPostgreSQLSQLite
種類サーバー型サーバー型ファイル型
料金無料無料無料
開発元Oracle社コミュニティD. Richard Hipp
特徴シンプル、高速高機能、拡張性軽量、設定不要
用途Webアプリ全般大規模システム学習、モバイルアプリ
利用企業Facebook, TwitterApple, InstagramAndroid, 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つのデータ項目

覚えておくこと

  1. リレーショナルDB = データを表で管理するデータベース
  2. SQL = リレーショナルDBを操作する言語
  3. SQLite = 学習に最適な軽量データベース

次のステップへ

データベースの種類と基本用語は理解できましたか?

次のセクションでは、実際にSQLiteをインストールしてみましょう。インストールは簡単です。すぐに使い始められます。


推定読了時間: 25分