TERM 033
RDB
表と関係で、整合したデータを管理する
RDB(リレーショナルデータベース)は、行と列で構成されるテーブルにデータを格納し、キーを使ってテーブル同士の関連付けを表現するデータベースです。SQLを用いて検索や更新を行い、トランザクション機能によって一連の処理の整合性を厳密に保証します。
表と表の関係を使って構造化データを管理する仕組みの全体像。
CONTENTSこの記事の目次+
01 — DEFINITION
RDBとは
何か
RDB(リレーショナルデータベース)は、行と列で構成されるテーブルにデータを格納し、キーを使ってテーブル同士の関連付けを表現するデータベースです。SQLを用いて検索や更新を行い、トランザクション機能によって一連の処理の整合性を厳密に保証します。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
表と関係を定義
型、主キー、外部キー、制約を設計する。
→SQLで操作
条件指定、テーブル結合、集計処理を行って必要なデータを取得・操作する。
→整合して確定
トランザクション内の一連の変更を、すべて確定(コミット)するかすべて取り消す(ロールバック)か制御する。
RDBを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
行の識別子
各行を重複なく特定する安定した値です。
表の関係
参照先が存在することを制約として保証します。
操作のまとまり
複数変更を途中状態のまま確定しないよう制御します。
04 — REAL WORLD EXAMPLE
注文と注文明細を保存する
一つの注文には複数商品が含まれ、存在する顧客へ結び付きます。
- 01
customersテーブルとordersテーブルを外部キーで関連付ける
- 02
order_itemsテーブルへ注文商品と数量を記録する
- 03
すべてのデータ変更をひとつのトランザクション内でコミットする
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
必要な制約をアプリだけに置かない
NOT NULLやUNIQUE、外部キーでデータベースにもルールを持たせます。
インデックスを安易に増やしすぎない
インデックスを追加すると検索は高速化されますが、データの書き込み負荷やストレージ使用量が増加するため、実行頻度の高いクエリを見極めて設定します。
IN ONE SENTENCE
RDBとは?
表と表の関係を使って構造化データを管理する仕組み。
