情報処理試験を勉強していると、「内部スキーマって概念スキーマや外部スキーマとどう違うの?」と混乱しがちです。この記事では、ANSI/SPARC 3層スキーマの最下層にあたる内部スキーマに絞って、定義・役割・試験での出題ポイントを整理します。
対象試験と出題頻度
内部スキーマは、基本情報技術者・応用情報技術者で出題されるテーマです。
ANSI/SPARC 3層スキーマの区別を問う定番問題として繰り返し登場しており、概念スキーマ・外部スキーマとの役割の違いを正確に答えられるかがカギになります。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
内部スキーマ(Internal Schema)とは、一言で言うと
「データを記憶装置上にどのような形式で格納するかを定義したもの」
のことです。
イメージとしては、「図書館の書庫の配置図」です。
図書館の利用者は「ジャンル別に並んだ本棚」を見て本を探します(外部スキーマ)。
司書は「どの本がどのジャンルに属するか」という分類体系を管理しています(概念スキーマ)。
しかし実際の書庫では「どの棚の何段目にどの本を詰めるか」「背の高い本は別の棚に回す」といった物理的な配置ルールがあります。この物理配置のルールが内部スキーマに相当します。
📊 内部スキーマの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Internal Schema |
| 所属モデル | ANSI/SPARC 3層スキーマアーキテクチャ |
| 層の位置 | 最下層(物理層) |
| 具体例 | ファイル編成、インデックス定義、データ圧縮方式、ブロックサイズ |
解説
データベースは「利用者が見るデータの形」と「ディスク上に実際に記録するデータの形」が必ずしも一致しません。
利用者が見ている表は論理的な構造であり、物理ディスク上ではブロック単位でデータが分散格納されています。
この「論理」と「物理」のギャップを管理する仕組みとして、ANSI/SPARCは3つの層にスキーマを分離するアーキテクチャを提唱しました。
3層スキーマの全体像
3層スキーマの全体構造を図で確認します。内部スキーマがどの位置にあるかを把握することが理解の出発点です。
ANSI/SPARC 3層スキーマ構造
外部スキーマ(External Schema)
利用者ごとの見方(ビューなど)
概念スキーマ(Conceptual Schema)
論理的なデータ構造(表定義・正規化・E-R図)
▶ 内部スキーマ(Internal Schema)
物理的な格納方式(ファイル編成・インデックス・ブロックサイズ)
3層スキーマの比較
各スキーマの役割と具体例を一覧で整理します。ここだけは確実に押さえてください。
| スキーマ | 何を定義するか | 具体例 |
|---|---|---|
| 外部スキーマ | 利用者やアプリケーションから見たデータの見え方 | SQLのビュー、サブスキーマ |
| 概念スキーマ | データベース全体の論理的構造 | E-R図、表定義(CREATE TABLE)、正規化 |
| 内部スキーマ | 記憶装置上への物理的な格納方式 | ファイル編成、インデックス定義、ブロックサイズ、データ圧縮 |
データ独立性との関係
3層に分ける最大の目的は「データ独立性の確保」です。内部スキーマを変更しても概念スキーマに影響しないことを物理的データ独立性と呼びます。
逆に、概念スキーマを変更しても外部スキーマに影響しないことを論理的データ独立性と呼びます。
たとえば、検索速度を上げるためにインデックスを追加しても(内部スキーマの変更)、表の列構成やアプリケーションのSQLには一切影響しません。
この「層をまたいだ影響を遮断する仕組み」こそが3層スキーマアーキテクチャを採用する理由です。
データ独立性の関係図
↕ 論理的データ独立性
↕ 物理的データ独立性
※ 各層の間に独立性が存在し、片方を変更しても隣の層に影響しない
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 内部スキーマの核心を3行で
・ANSI/SPARC 3層スキーマの最下層で、物理的な格納方式を定義する
・ファイル編成・インデックス定義・ブロックサイズなどが該当する
・内部スキーマの変更が概念スキーマに影響しないことを「物理的データ独立性」と呼ぶ
試験ではこう出る!
内部スキーマは、FE・APの科目A(旧午前)でANSI/SPARC 3層スキーマの識別問題として繰り返し出題されています。
出題パターンは大きく2つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R4春 問27 |
内部スキーマの設計に含まれるものを選ぶ問題。 | ・正解は「インデックスの定義」 ・E-R図・制約・正規化は概念スキーマ |
| AP H31春 問26 |
「データベースを記録媒体にどのように格納するかを記述したもの」を選ぶ問題。 | ・正解は「内部スキーマ」 ・FE H18秋 問58と同一問題(流用) |
| AP H28秋 問26 |
3層スキーマ構造の記述として適切なものを選ぶ問題。 | ・正解は「外部スキーマは利用者からの見方」 ・「物理スキーマ」は存在しない名称 |
| FE H27春 問26 |
3層スキーマアーキテクチャを採用する目的を選ぶ問題。 | ・正解は「物理的格納構造の変更がアプリに影響しない」 ・データ独立性の理解が必須 |
📝 IPA試験での出題パターン
パターン1:「〇〇を記述したものはどれか」
「記録媒体への格納方法を記述したもの」のような説明文を提示し、該当するスキーマ名を選ばせる形式。概念スキーマ・外部スキーマ・サブスキーマがひっかけとして並ぶ。「物理」「格納」「ファイル編成」が内部スキーマを指すキーワード。
パターン2:「内部スキーマの設計に含まれるものはどれか」
AP R4春のように、具体的な設計作業を提示して内部スキーマに該当するものを選ばせる形式。インデックス定義が正解の定番。E-R図の作成・正規化・制約設定は概念スキーマなので除外する。
試験ではここまででOKです。ファイル編成の種類(順編成・直接編成など)の詳細まで問われることはないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. ANSI/SPARC 3層スキーマモデルにおける内部スキーマの設計に含まれるものとして、最も適切なものはどれでしょうか?
- A. エンティティ間の関連を明示するE-R図の作成
- B. データの冗長性を排除するための正規化
- C. SQL問合せ応答時間の向上を目的としたインデックスの定義
正解と解説を見る
正解:C
解説:
内部スキーマは、記憶装置上にデータをどのような形式で格納するかを定義する層です。インデックスの定義はディスクアクセスの効率を左右する物理設計に該当するため、内部スキーマの設計に含まれます。
選択肢AのE-R図の作成は、エンティティとリレーションシップを論理的に整理する概念スキーマ設計の作業です。選択肢Bの正規化も、データの冗長性を排除して論理構造を整える概念スキーマ設計の作業であり、物理的な格納方式とは無関係です。
よくある質問(FAQ)
Q. 内部スキーマと物理スキーマは同じ意味ですか?
ANSI/SPARC 3層スキーマアーキテクチャに「物理スキーマ」という正式名称は存在しません。AP H28秋 問26では、選択肢に「物理スキーマ」が登場しましたが、不正解として処理されています。ただし、現場や教科書によっては内部スキーマを「物理スキーマ」と呼ぶケースがあります。試験では「内部スキーマ」という名称で統一して覚えてください。
Q. 「サブスキーマ」と「外部スキーマ」はどう違いますか?
サブスキーマは外部スキーマの別称です。ネットワーク型データベース(CODASYL)の文脈でサブスキーマと呼んでいたものが、ANSI/SPARCモデルでは外部スキーマに対応します。FE H18秋 問58では選択肢にサブスキーマが含まれており、外部スキーマと同義であることを知っていれば即座に除外できます。
Q. 実務でのチューニング作業は内部スキーマに関係しますか?
関係します。データベースのパフォーマンスチューニングで行うインデックスの追加・削除、テーブルスペースの配置変更、パーティショニングの設定などは、すべて内部スキーマ層の操作にあたります。概念スキーマ(テーブルの列定義やリレーション)を変えずに性能改善できるのは、物理的データ独立性が確保されているからです。
Q. ロック(排他制御)の設定は内部スキーマに含まれますか?
排他制御の仕組み自体はDBMSの同時実行制御機能であり、3層スキーマの分類とは別の領域です。ロックの粒度(行ロック・ページロック・テーブルロック)の選択は物理的な実装に近い話ですが、IPA試験で内部スキーマの設計要素として問われるのは「インデックス定義」「ファイル編成」に限定されています。排他制御まで内部スキーマに含めて考える必要はありません。