2026年1月20日 Tech

1-2 リレーショナルデータベースの基本

リレーショナルデータベースの基本

データを「表」で管理し、表同士を関連付ける。それがリレーショナルデータベース(RDB)の考え方である。


なぜこれを学ぶのか

Webサービスの多くはRDBを使っている。RDBの基本を理解すれば、データがどのように整理・管理されているかが分かる。これはSQL学習の土台となる知識である。


テーブル・行・列

RDBではデータを「テーブル(表)」で管理する。Excelのシートと同じイメージである。

usersテーブルの例

id name email age
1 田中太郎 tanaka@example.com 28
2 山田花子 yamada@example.com 35
3 佐藤一郎 sato@example.com 42

用語の整理

用語 別名 説明
テーブル データを格納する入れ物
行(Row) レコード 1件分のデータ。上の例では「田中太郎さんの情報」が1行
列(Column) カラム、フィールド データの種類。上の例では「id」「name」「email」「age」

主キー(Primary Key)

主キーとは、各行を一意に識別するための列である。

身近な例

主キーに相当するもの
学校 学生番号
会社 社員番号
日本国民 マイナンバー

主キーには2つのルールがある。

  1. 一意であること - 同じ値が存在してはいけない
  2. NULLでないこと - 空っぽは許されない

上のusersテーブルでは id が主キーである。「id = 1」と言えば、必ず「田中太郎さん」を特定できる。


外部キー(Foreign Key)

外部キーとは、他のテーブルの主キーを参照する列である。これによりテーブル同士を関連付けられる。

例:ユーザーと注文の関係

usersテーブル

id name
1 田中太郎
2 山田花子

ordersテーブル

id user_id product price
1 1 ノートPC 150000
2 1 マウス 3000
3 2 キーボード 8000

ordersテーブルの user_id が外部キーである。これはusersテーブルの id を参照している。

  • 注文ID 1, 2 は user_id = 1 → 田中太郎さんの注文
  • 注文ID 3 は user_id = 2 → 山田花子さんの注文

リレーション(関連)の種類

テーブル同士の関係には3つのパターンがある。

1対1(One-to-One)

1つのデータに対して、1つのデータが対応する。

例:ユーザーとユーザー詳細(1人に1つの詳細情報)

1対多(One-to-Many)

1つのデータに対して、複数のデータが対応する。最もよく使われるパターンである。

例:ユーザーと注文(1人が複数の注文をする)

多対多(Many-to-Many)

複数のデータ同士が相互に関連する。

例:学生と授業(1人の学生が複数の授業を受け、1つの授業に複数の学生がいる)


ER図の読み方

ER図(Entity-Relationship Diagram)は、テーブル同士の関係を視覚化した図である。

erDiagram users ||--o{ orders : "1対多" users { int id PK string name string email } orders { int id PK int user_id FK string product int price }

記号の意味

記号 意味
|| 1(必ず1つ)
o{ 多(0以上)
PK Primary Key(主キー)
FK Foreign Key(外部キー)

上の図は「1人のユーザーが0件以上の注文を持つ」という関係を表している。

Mermeid記法による書き方はMermaid記法 完全ガイド - 図解でわかるダイアグラム作成を参照


まとめ

  • RDBはデータを「テーブル(表)」で管理する
  • テーブルは「行(レコード)」と「列(カラム)」で構成される
  • 主キー(PK)は各行を一意に識別する
  • 外部キー(FK)は他のテーブルを参照し、関連を作る
  • リレーションには1対1、1対多、多対多の3種類がある

用語

用語 説明
RDB Relational Database。テーブル形式でデータを管理するデータベース
テーブル データを格納する表。行と列で構成される
行(レコード) テーブル内の1件分のデータ
列(カラム) データの種類・属性を表す
主キー(PK) 各行を一意に識別するための列
外部キー(FK) 他のテーブルの主キーを参照する列
リレーション テーブル間の関連付け
ER図 テーブルとその関係を視覚化した図

次の記事

SQLの基礎を学びたい方はこちら。

1-3 SQL入門 - データを操作する言語

目次