基礎

RDB が黙って守ってくれている 5 つの根本価値 (総括)

定義

リレーショナルデータベース管理システム (RDBMS) とは、リレーショナルモデルに基づいてデータを表形式で管理し、トランザクションによる ACID 特性 (原子性・一貫性・分離性・永続性) と一意性・参照整合性などの宣言的制約を通じて、複数ユーザー環境でのデータ整合性を構造的に保証するデータ管理システムである。

5 つの事故から見えた 5 つの根本価値

本シリーズで見てきた事故を並べ直すと、Excel には無く RDB には有る 5 つの根本価値が浮かび上がる。

#事故欠けていたものRDB での名前ACID 対応
1注文だけ記録され在庫が減らない途中で止まらない保証原子性 (atomicity)A
22 人が同時に書いて修正が消えた誰が最後に勝つかのルール同時実行制御 (isolation)I
3「山田太郎」の重複登録を弾けない「重複禁止」の宣言一意性制約 (UNIQUE)C の材料
4顧客を消したら宛先不明参照が壊れないことの保証参照整合性 (FK)C の材料
5停電で 8 時間分消失一度確定したら消えない保証永続性 (durability)D

ACID の 4 文字とその他の制約の関係

ACID はトランザクションが守るべき 4 特性の頭字語:

  • A — Atomicity (原子性): トランザクション内の変更は「全部確定」か「全部戻す」のいずれか。 → 表 #1 で解説
  • C — Consistency (一貫性): トランザクション実行の前後で 「宣言された制約 (UNIQUE / FK / CHECK など) がすべて満たされている」状態が保たれる。C 自体はメカニズムではなく「他 3 特性 + 制約群が正しく動いた結果として達成される状態」。 具体的な制約 (表 #3#4 など) を宣言することで実現される
  • I — Isolation (独立性 / 分離性): 複数のトランザクションが同時に走っても、 結果は「1 つずつ順番に実行した場合」と同等になる。 → 表 #2 で解説
  • D — Durability (永続性): コミット済みの変更は、システム障害後も失われずに残る。 → 表 #5 で解説

よくある混乱: 「ACID の C は制約の話に見えるが、なぜ一意性 (UNIQUE) や参照整合性 (FK) は別扱いなのか?」。C は抽象的な「制約が守られる契約」で、UNIQUE / FK / CHECK は「具体的に何を守るか」の道具。 階層が違うので独立して扱える。

Excel での「頑張って回避」はなぜ限界か

承認フロー、ダブルチェック、頻繁な手動保存、締め時間まで他人を触らせない運用 — これらは全て「宣言的でない」= 人間の運用に依存する 手段。

  • 運用が完璧に守られる前提でしか機能しない
  • 人が増えれば増えるほど破綻確率が上がる
  • 誰かが 1 回でも間違えたら壊れる

RDB は「壊れないよう宣言すれば DBMS が構造的に守る」= 運用不要。これが Excel との根本的な差

だから RDB を選ぶ

「本気で運用するデータ = RDB」が第一選択。以下いずれかに該当するなら RDB を検討する:

  • 複数ユーザーが同時に更新する
  • 消えては困る取引・在庫・請求データを扱う
  • 参照関係が複数テーブルにまたがる
  • 「絶対に重複禁止」「絶対に空欄禁止」のルールを機械的に強制したい

逆に RDB が向かない場面 (ログ収集の高頻度書き込み、ドキュメント指向のデータ、 分析専用の massive scan) は NoSQL / DWH / スプレッドシートの適用範囲。 「RDB を選ばない判断」の線引きは別記事で扱う予定。

次に学ぶこと

「なぜ RDB か」を掴んだら、次は 2 面:

よくある疑問

Q.RDB は「なぜ」使うのか、一言で言うと?
A.複数ユーザーが更新する運用データを、宣言的な制約と ACID トランザクションで「構造的に」守れるからです。運用ルールに頼らず、DBMS が壊れないよう保証してくれるのが本質的価値です。
Q.NoSQL や表計算ではダメ?
A.ケース次第です。ログ収集 / ドキュメントストレージ / 分析用のワイドテーブルには NoSQL / DWH が向きます。ただし「本気で運用する業務データ」の第一選択は RDB を起点に検討すべきです。
Q.ACID と「一意性」「参照整合性」の関係は?
A.ACID は「トランザクションの実行モデル」の話で、一意性 / 参照整合性は「テーブル構造上の制約」の話です。両者は独立して機能し、組み合わせて RDB のデータ整合性を担保します。
Q.RDB を選んだあと、次に学ぶべきことは?
A.「どう動くか (性能)」と「どう設計するか (スキーマ)」の 2 面です。本サイトでは RDBインデックス図解 (性能) と データモデリング体系 (設計) の 2 セクションで扱っています。
Q.変なER図と同じサイトなのに、なぜ別セクション?
A.「なぜ RDB か」「どう設計するか」「どう動くか」の 3 領域は目的が違うため。「なぜ」はデータマネジメントの意思決定、「設計」は表構造の作り方、「性能」は物理層のチューニングです。

もっと学びたい方へ(おすすめ書籍)

おすすめ
達人に学ぶDB設計徹底指南書 第2版
ミック

テーブル設計と正規化、パフォーマンス考慮のインデックス設計まで実務レベルで学べる定番書。第2版ではクラウド対応も強化。

Amazon で見る →
SQLアンチパターン 第2版
Bill Karwin

実務でやりがちなSQL・DB設計のアンチパターンとその回避策を体系的に学べる。

Amazon で見る →
情報処理教科書 データベーススペシャリスト 2025年版
三好康之

IPAデータベーススペシャリスト試験の総合対策書。インデックス関連は本サイトと合わせて学ぶと理解が深まる。

Amazon で見る →
理論から学ぶデータベース実践入門
奥野幹也

リレーショナルモデルの理論から、インデックス設計を含む実務で使えるSQLまで解説。

Amazon で見る →
おすすめ
楽々ERDレッスン (CodeZine BOOKS)
羽生章洋

ER 図をどう「使える設計」に落とすか、実務の判断まで踏み込んだ入門書。エンティティの切り出しから多対多の扱いまで具体例が豊富。

Amazon で見る →
達人に学ぶSQL徹底指南書 第2版
ミック

SQLの本質的な使い方と、インデックスが効くクエリの書き方を学べる。ウィンドウ関数など現代SQLも網羅。

Amazon で見る →
[改訂3版]内部構造から学ぶPostgreSQL
勝俣智成 ほか

PostgreSQLの内部構造・ストレージ・インデックス機構を丁寧に解説。設計と運用計画の鉄則が学べる。

Amazon で見る →

本セクションはAmazonアソシエイトのリンクを含みます。

オンライン個別指導

もっと深くDBを学びたい方へ。

たいてっくが、SQL・データベース設計・パフォーマンスチューニング・ IPAデータベーススペシャリスト対策まで、1対1で学習をサポートします。まずは無料相談から。

無料相談を予約する →
  • 教え方も上手で、お人柄も良いメンターです。DB周りの知識はもちろん、何より、しっかり教えてあげようという姿勢がとてもありがたかったです。データベース、SQLの学習を考えている方にはおススメです。
    H 様DB・SQL コース受講
  • 体系的に知識を教えてくださり、実際の業務でも大変役立っております。特に短い時間で効率よく知識の習得や、練習をできているのは期待以上でした。
    M 様DB・SQL コース受講
  • 大変充実したコンテンツでわかりやすいご説明をありがとうございました。基本的な質問にも丁寧にご説明いただき、また業務のご相談にも乗って頂き大変有意義な時間でした。
    K 様DB・SQL コース受講