最終更新日:2026年8月14日
fe fe-technology database rdbms
まず結論
スキーマとは、データベースの構造やデータの定義を表したものです。
基本情報技術者試験では、次のように考えると判断しやすいです。
データの性質
データの形式
データ同士の関係
↓
スキーマ
また、3層スキーマアーキテクチャでは、
外部スキーマ
→ 利用者からどう見えるか
概念スキーマ
→ データベース全体の論理構造
内部スキーマ
→ 実際にどう格納するか
の3つに分けて考えます。
直感的な説明
スキーマは、データベースの「設計図」のようなものです。
例えば、顧客データベースなら、
顧客ID
氏名
住所
電話番号
のような項目があり、
顧客IDは整数
氏名は文字列
顧客IDは重複しない
注文データと顧客IDで関連付ける
といったルールや構造があります。
こうしたデータの内容や関係を定義するものがスキーマです。
定義・仕組み
RDBMSでは、データベースの構造を定義するためにスキーマという考え方を使います。
スキーマで定義するもの
例えば、
- テーブルの構造
- 列の名前
- データ型
- キー
- テーブル同士の関係
- 制約
などです。
つまり、
データをどう保存するか
データ同士をどう関連付けるか
を決める設計情報です。
3層スキーマアーキテクチャ
ANSI/X3/SPARCでは、スキーマを3層に分けて考える考え方があります。
外部スキーマ
外部スキーマは、利用者やアプリケーションから見えるデータの姿です。
利用者A
→ 顧客名と住所だけ見える
利用者B
→ 顧客IDと購入履歴が見える
のように、利用者ごとに必要な見え方を定義します。
判断キーワードは、
利用者からの見え方
利用者ごとの視点
です。
概念スキーマ
概念スキーマは、データベース全体の論理的な構造を表します。
例えば、
顧客
注文
商品
在庫
といったデータがあり、
顧客と注文はどう関係するか
注文と商品はどう関係するか
などを定義します。
判断キーワードは、
全体
論理構造
データの関係
です。
内部スキーマ
内部スキーマは、データを物理的にどのように格納するかを表します。
例えば、
どのファイルに保存するか
どの索引を使うか
どのような格納形式にするか
などです。
判断キーワードは、
物理的格納
記憶装置
ファイル構造
です。
科目Aでどう出る?
科目Aでは、スキーマの説明を、ビュー・SQL・整合性制約などと切り分ける問題が出ます。
判断表
| 説明 | 用語 |
|---|---|
| データの性質・形式・関連などの定義 | スキーマ |
| 利用者から見た仮想的な表 | ビュー |
| データの検索・追加・更新・削除 | SQL |
| データの一貫性を保つルール | 整合性制約 |
試験中の切り分け
構造・設計
→ スキーマ
見せ方
→ ビュー
操作
→ SQL
正しさを守るルール
→ 整合性制約
と考えると判断しやすくなります。
3層スキーマの判断
利用者から見える
→ 外部スキーマ
全体の論理構造
→ 概念スキーマ
物理的な格納方法
→ 内部スキーマ
どんな場面で使う?
スキーマは、データベースを設計するときに使います。
例えば、
- 新しい業務システムのデータベース設計
- テーブル構造の整理
- データ型の定義
- テーブル間の関連付け
- 利用者ごとの見え方の設計
などです。
利用者と物理構造を分離する
3層スキーマの考え方では、
利用者からの見え方
↓
データ全体の論理構造
↓
物理的な格納方法
を分けて考えます。
これにより、物理的な格納方法を変更しても、利用者側への影響を小さくしやすくなります。
よくある誤解・混同
スキーマとビューは同じ?
違います。
データベースの構造・定義
→ スキーマ
利用者から見た仮想的な表
→ ビュー
ビューは、実表を直接見せずに、必要な部分だけ見せる仕組みです。
スキーマとSQLは同じ?
違います。
構造を定義する考え方
→ スキーマ
データベースを操作する言語
→ SQL
SQLは、検索・追加・更新・削除などを行うための言語です。
スキーマと整合性制約は同じ?
違います。
データの構造全体
→ スキーマ
データの正しさを守る条件
→ 整合性制約
整合性制約は、スキーマの中で定義される要素の一つと考えると分かりやすいです。
外部スキーマとビューは関係ある?
関係があります。
外部スキーマは、利用者ごとの見え方を表す概念です。
RDBMSでは、その見え方を実現する手段としてビューが使われることがあります。
ただし、
外部スキーマ
= ビューそのもの
と完全に同じものとして覚えるのは避けます。
確認問題(基本情報技術者試験対策)
RDBMSにおけるスキーマの説明として、最も適切なものはどれか。
- ア. 実表ではなく、利用者の視点による仮想的な表である
- イ. データの性質、形式、他のデータとの関連などの定義の集合である
- ウ. データの挿入、更新、削除、検索などの操作を行う言語である
- エ. データベースの一貫性を保つための制約条件そのものである
▶ クリックして答えと解説を見る(ここを開く)
正解:イ
スキーマは、データの性質・形式・関連など、データベースの構造を定義するものです。
- ア:ビュー
- ウ:SQL
- エ:整合性制約
です。
まとめ(試験直前用)
- スキーマは、データベースの構造やデータの定義
- データの性質・形式・関連などを表す
- 外部スキーマは利用者からの見え方
- 概念スキーマはデータベース全体の論理構造
- 内部スキーマは物理的な格納方法
- ビューは仮想的な表
- SQLはデータベース操作言語
- 整合性制約はデータの正しさを守るルール
- 構造 → スキーマ、見せ方 → ビュー、操作 → SQL、制約 → 整合性制約