実表と導出表(base table / derived table (view))

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

実表はデータを実際に保存している表。導出表は問合せの結果として作られる表で、中身を持たない。ビューがこれにあたる。

もう少し詳しい説明

関係データベース(データを表の形でためておく仕組み)に出てくる表は、2種類に分かれます。

中身を持つか何か
実表(基底表)持つディスクに実際に保存されている表
導出表持たない問合せの結果として、そのとき作られる表

ビューは、導出表に名前を付けて使えるようにしたものです。

ビューは「問合せに付けた名前」

ビューの正体は、保存されたデータではありません。SELECT文そのものです。

CREATE VIEW 営業部員 AS
  SELECT 社員番号, 氏名 FROM 社員 WHERE 部署コード = 'S01'

これで作られたのは、行の集まりではなく、「営業部員と書かれたら、このSELECT文を実行する」という取り決めです。

そのつど問い合わせる営業部員ビュー:中身を持たない社員表実表:中身を持つ
ビューの正体は、保存された行の集まりではなく、SELECT文そのものです。参照されるたびに元の実表へ問い合わせが行われます。ビューの箱の中が空になっていることを見てください。

あとから SELECT * FROM 営業部員 と書くと、その場で元の社員表に問い合わせが行われます。

元の表が変われば、ビューを通して見える内容もその場で変わります。 作った時点の中身が焼き付くわけではありません。ここが「複製して保存したもの」との違いです。

何のために使うのか

主な理由は2つです。

1つめは、見せる範囲を絞ること。 社員表には給与の列があるとします。給与を見せたくない相手には、給与の列を含まないビューを作り、そのビューだけを使わせます。実表そのものへの権限は与えません。

2つめは、複雑な問合せを隠すこと。 3つの表を結合して条件を付ける問合せを、毎回書くのは大変です。1度ビューにしておけば、以後は表1つを読むように書けます。

更新できるビューと、できないビュー

ビューに対しても、INSERTやUPDATEを書けることがあります。ただしいつでもできるわけではありません。

理由は単純で、ビューへの変更を、元の表のどこへ書き戻せばよいか決まらない場合があるからです。

ビューの作り更新理由
1つの表から、列を絞っただけできる書き戻す先が1行に決まる
1つの表から、行を絞っただけできる同上
集計している(SUM、GROUP BY)できない合計を1つ変えても、元のどの行を変えるか決まらない
複数の表を結合している多くの場合できないどちらの表を変えるか決まらない
DISTINCT で重複を消しているできないまとめた1行が、元のどの行かを特定できない

「元の1行に戻せるか」が判断の軸です。合計を7から8に変えたいと言われても、どの明細を1増やすのかは決められません。

実体化ビューとの違い

名前の似た仕組みに実体化ビュー(マテリアライズドビュー)があります。こちらは問合せの結果を実際に保存します。

ビュー(導出表)実体化ビュー
中身を持つか持たない持つ
読むときの速さ元の表に問い合わせる保存済みを読むので速い
元の表を変えたときその場で反映される更新するまで古いまま

速さと引きかえに、古い内容が見えることがあります。 試験では「ビュー」とだけ書かれていれば、中身を持たないほうを指します。

試験ではこう出る

科目A(旧・午前)では、ビューが実体を持たないという点がそのまま問われます。「問合せに名前を付けたもの」「実体は元の表にある」と書いてある選択肢が正解です。

更新できないビューも出ます。集計を含むビュー、結合したビューが典型で、「元の1行に戻せない」が理由です。

実表(基底表)という言い方でも出ます。導出表と対になる語なので、両方そろえて覚えてください。

応用情報では、ビューを使った権限の絞り込みが、機密保護の文脈で出ます。「給与の列を除いたビューを作り、実表への権限は与えない」という形です。

関連する用語

関係データベース
どちらも表の形。保存しているか、作られるかが違う
SQLの句
ビューはSELECT文に名前を付けたもの
主キー
ビューを更新できるかどうかは、主キーが残っているかにも関わる

ミニクイズ

関係データベースにおけるビュー(導出表)の説明として、適切なものはどれか。

正解は 3番:問合せに名前を付けたもので、データの実体は元の表にある

ビューは、SELECT文に名前を付けたものです。ビューを参照すると、その場で元の表に問い合わせが行われます。データの実体は元の実表にあり、ビュー自身は中身を持ちません。元の表が変われば、ビューを通して見える内容もその場で変わります。問合せの結果を複製して保存するのは、実体化ビュー(マテリアライズドビュー)と呼ばれる別の仕組みです。検索を速くするために値を並べ替えて持つのはインデックス(索引。目的の行を速く見つけるために別に作っておく一覧)、行を入れていない表は中身が空の実表で、どれもビューとは違います。

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

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

最終更新:2026-10-20