関係データベース(relational database)

分類
テクノロジ系 データベース
出る試験
ITパスポート基本情報応用情報
重要度
★★★★★

データを行と列からなる表の形で持ち、表どうしを値でつなげるデータベース。いま最も広く使われている形式。

もう少し詳しい説明

関係データベースは、データを行と列からなる表の形で持つデータベースです。リレーショナルデータベースとも呼び、RDBと略します。

いま業務で使われているデータベースの大半がこの形です。

用語が2組ある

同じものに、理論上の言い方と、実務上の言い方があります。試験ではどちらも出ます。

理論上の言い方実務上の言い方中身
関係(リレーション)表(テーブル)全体
組(タプル)行(レコード)横1本
属性(アトリビュート)列(カラム、フィールド)縦1本
定義域(ドメイン)—その列に入れてよい値の範囲
次数—列の数
基数—行の数

「次数は列、基数は行」は、そのまま出題されます。

つなぎ方が、値である

ここが関係データベースの、いちばん大事なところです。

表どうしを結び付けているのは、共通する列に同じ値が入っていることだけです。あらかじめ「この行とこの行をつなぐ」という線を張っているわけではありません。

社員表社員番号氏名部署コード1001佐藤D011002鈴木D021003田中D01部署表部署コード部署名D01営業部D02開発部
2つの表をつないでいるのは、部署コードの列に同じ値が入っていることだけです。佐藤と田中の D01 は、部署表の D01(営業部)の行とつながります。鈴木の D02 は開発部です。表のあいだに線は引かれていません。

社員表の「部署コード」と、部署表の「部署コード」に同じ値が入っていれば、その2行はつながります。外部キーが指しているのは、この値です。

値でつなぐことの意味は、関係データベースより前に主流だった2つの方式と比べると見えます。1960年代から80年代にかけて使われていた、階層型データベースと網型データベースです。

方式つなぎ方組合せを変えたいとき
階層型親から子へ、木の形構造を作り直す
網型(ネットワーク型)ポインタ(そのデータが置いてある場所を指し示す印)を張っておくポインタを張り直す
関係型共通する列の値問合せを書き換えるだけ

階層型や網型では、取り出し方を先に決めてからデータを入れます。あとで別のつなぎ方をしたくなると、構造ごと作り直すことになります。

関係型は、値さえそろっていればあとからどんな組合せでもつなげます。何に使うかを先に決めなくてよい、という点が、業務で広く使われている理由です。

表に入れるときの決まり

関係データベースの表には、守る決まりがあります。

1つのマスに1つの値へ直す

4つ目の決まりだけは、守られていない表を先に見かけることが多いところです。たとえば、1回の注文を1行にまとめて書いた表です。

注文番号注文者商品名
1佐藤鉛筆、消しゴム、定規

「商品名」の欄に3つ並んでいます。この形では、「消しゴムを買った人を探す」ことも、「鉛筆が何本売れたかを数える」こともできません。欄の中身が1つの文字列なので、機械から見れば「鉛筆、消しゴム、定規」という1つの値です。

そこで、1つのマスに1つの値になるように、行を分けます。

注文番号注文者商品名
1佐藤鉛筆
1佐藤消しゴム
1佐藤定規

行は増えますが、どのマスにも値が1つずつ入りました。この直し方が正規化の第1段階で、こうなった表を第1正規形と呼びます。

「行に順番はない」は見落とされやすいところです。画面に並んで見えるのは、取り出すときに並べ替えているからで、表そのものに順番はありません。並び順がほしければ、SQLで明示します。

DBMSが引き受けていること

関係データベースを動かす仕掛けをDBMS(データベース管理システム)と呼びます。

表の形でデータを持つだけなら、ファイルでもできます。DBMSが引き受けているのは、そこから先です。

引き受けていることなければ起きること
排他制御2人が同時に書き換えて、片方が消える
トランザクション途中で止まって、中途半端な状態が残る
障害回復壊れたら戻せない
機密保護誰でも全部見られる
インデックス件数が増えるほど遅くなる

試験では、データの持ち方(関係モデル)と、DBMSが提供する機能が別の問題として出ます。混ざらないようにしてください。

試験ではこう出る

科目A(旧・午前)では、用語の言いかえがよく出ます。「組」「属性」「次数」「基数」が、行・列・列の数・行の数のどれにあたるかです。

階層型・網型との違いも出ます。「ポインタで関係を表す」と書いてあれば網型、「木構造(1つの根から枝が分かれていくデータの持ち方)でたどる」なら階層型、「共通の項目の値で関係を表す」なら関係型です。

「行に順番がない」を突いた選択肢も出ます。「先頭の行から順に処理する」といった記述は誤りになります。

応用情報では、関係モデルそのものより、正規化・SQL・トランザクションの形で問われます。このページは、その土台にあたります。

関連する用語

主キー
表の中の行を1つに決めるための列。関係データベースの土台
外部キー
別の表の主キーを指す列。表どうしをつなぐのはこの値
正規化
表の持ち方を整える手順。重複と矛盾をなくす
実表と導出表
本体として保存している表と、問合せの結果として作られる表
SQLの句
関係データベースを操作する言語。表から表を作る

ミニクイズ

関係データベースの特徴として、最も適切なものはどれか。

正解は 2番:表どうしのつながりを、共通する列の値によって表す

関係データベースでは、表どうしを結び付けるのは「共通する列に同じ値が入っていること」です。あらかじめ経路を作っておくのではないので、必要になったときに好きな組合せでつなげます。ポインタでつなぐのは網型(ネットワーク型)、親から子へ木の形にたどるのは階層型で、どちらも関係データベースより前に使われていた方式です。鍵と値の組だけで持つのはキーバリュー型と呼ばれるNoSQLの一種で、表の構造を持ちません。

間違えた用語の復習リストを見る →

この分野をまとめて解く → データベースのミニテスト(全35問)

最終更新:2026-10-20