忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】変更に強い設計の極意!3層スキーマ構造の正体|情報処理問題1000本ノック

データベース設計の基本でありながら、最高の知恵が詰まった「3層スキーマ構造」。なぜわざわざ3つに分けるのか。それは、一部を変更しても他に影響を与えない「データ独立性」を確保するためです。

1. 問題:管理対象を定義するスキーマ

【 問題 】 データベースの3層スキーマ構造において、データの論理的な構造(管理対象の全体像)を定義し、開発者や管理者の視点からデータの本質を表現するスキーマはどれでしょうか?

① 外部スキーマ   ② 概念スキーマ   ③ 内部スキーマ   ④ 物理スキーマ

2. 正解:スキーマの役割に関する正解

正解: ② 概念スキーマ

3. 解説:保守性を高める「3つの境界線」

役割ごとに境界線を引くことで、ある層の変更が他の層へ波及するのを防ぎます。これを「データ独立性」と呼び、システムの保守性を劇的に高めます。

[ 3層スキーマの役割 ]
外部スキーマ(見せ方):ユーザーやアプリが見る窓口。実務では「ビュー(VIEW)」に相当。
概念スキーマ(論理):データの全体像。実務では「テーブル定義(CREATE TABLE)」やER図に相当。
内部スキーマ(持ち方):物理的な保存方法。実務ではインデックスやファイル配置に相当。

[ データ独立性のメリット ]
物理的データ独立性:ストレージの変更やインデックスの追加(内部)を行っても、テーブル定義(概念)やプログラムを直す必要がない。
論理的データ独立性:テーブルを分割(概念)しても、ビュー(外部)を調整すれば、アプリ側のプログラムを一切修正せずに済む。

1. 理解のコツ: 概念スキーマが「本質」であり、それをどう見せるかが「外部」、どう保存するかが「内部」です。真ん中の概念スキーマがしっかりしているからこそ、両サイドの変化を吸収できるのです。
2. 試験対策の視点: 試験では「ビュー=外部スキーマ」「テーブル=概念スキーマ」という対応関係がよく問われます。また、ANSI/X3/SPARC(アンシ・スパーク)という用語と一緒に登場することもあるので、セットで覚えておきましょう。


4. まとめ

「ある層の変更を、その層だけで完結させる」。これが3層スキーマ構造の最大の価値です。この構造を理解しておくことで、保守性が高く、変化に強いデータベース設計の基礎をマスターできます!


PR