【データベース】SQL操作の土台!「基底表(ベーステーブル)」|情報処理問題1000本ノック
データベースには、実際にデータが格納されている「実体のある表」と、利便性のために作られた「仮想的な表」があります。全ての操作の根源となる「基底表」を攻略しましょう。
1. 問題:表の結合と元となる表
【 問題 】 SQLのSELECT文やビュー(VIEW)を定義する際、その元となる、実際にディスク上にデータが格納されている表のことを何と呼ぶでしょうか?
ア、結合表 イ、スキーマ表 ウ、基底表 エ、導出表
2. 正解:データベースの構造に関する正解
正解: ウ、基底表
3. 解説:データの「実体」と「見かけ」
リレーショナルデータベース(RDB)において、表(テーブル)は大きく「基底表」と「導出表(仮想表)」の2つに分類されます。
【図解:基底表とビューの関係】
■ 基底表(Base Table)
・CREATE TABLE文で定義され、実際にハードディスクなどの記憶装置にデータが書き込まれている表。
■ ビュー(View)/ 導出表
・1つ以上の基底表から、特定の列や行を抽出・結合して作られた仮想的な表。
・ビュー自体にはデータの実体はなく、参照されるたびに基底表からデータを取り出します。
■ 基底表(Base Table)
・CREATE TABLE文で定義され、実際にハードディスクなどの記憶装置にデータが書き込まれている表。
■ ビュー(View)/ 導出表
・1つ以上の基底表から、特定の列や行を抽出・結合して作られた仮想的な表。
・ビュー自体にはデータの実体はなく、参照されるたびに基底表からデータを取り出します。
[ 運用のポイント ]
★ 更新の制限:ビューに対してUPDATEやINSERTを行う場合、その操作が「どの基底表のどの行か」を一意に特定できる必要があります(結合されたビューなどは更新できない場合が多い)。
★ 正規化:基底表を適切に正規化(第3正規形など)し、冗長性を排除することがDB設計の基本です。
★ 更新の制限:ビューに対してUPDATEやINSERTを行う場合、その操作が「どの基底表のどの行か」を一意に特定できる必要があります(結合されたビューなどは更新できない場合が多い)。
★ 正規化:基底表を適切に正規化(第3正規形など)し、冗長性を排除することがDB設計の基本です。
1. 理解のコツ: 「基底表は本物の書類」で、「ビューはその書類の必要な部分だけをコピーしたり、複数の書類を重ねて見せている透過シート」のようなものです。透過シート上の文字を書き換えるには、元の書類(基底表)が特定できなければなりません。
2. 試験対策の視点: 「元となる表」というキーワードが出たら基底表を指します。また、ビューの定義を削除しても基底表のデータは消えない、といった「実体か仮想か」という区別を問う問題も頻出です。
4. まとめ
「SQLやビューの定義の元になる、実体を持った表」。これが基底表です。データベースのパフォーマンスや整合性を支えるのは、この基底表の設計(物理設計・論理設計)そのものであることを押さえておきましょう。
PR