三層スキーマ構造がイメージしづらい

boitumelo-0DJHJcpwN9Q-unsplash.jpg

質問

三層スキーマ構造がイメージしづらいので、何かいい例を挙げてください。


解答

三層スキーマ構造(3層スキーマアーキテクチャ)は、データベース設計の考え方を「ユーザーの視点」「プログラムやシステムの視点」「実際のデータの保存方法」の3段階に分けて整理したモデルです。
これをわかりやすくするために、図書館の貸出システムを例にして説明します。


■ 三層スキーマ構造とは?

内容例(図書館)
外部スキーマ(External Schema)ユーザーごとの見え方「利用者が検索できる本のタイトルや著者情報だけ」
概念スキーマ(Conceptual Schema)データの全体設計「本・著者・貸出履歴・会員などの構造全体」
内部スキーマ(Internal Schema)実際の物理的な保存方法「データベースファイルの構造や保存場所、インデックスの配置」


■ 図書館を使ったイメージ

1. 外部スキーマ(利用者の視点)

* 利用者は、画面で「本のタイトル・著者・貸出可否」など必要な情報だけを見ます。
* 職員用の画面では「会員の住所・返却遅延履歴」など、別の情報も表示されます。
* → ユーザーごとに見える情報が違う。


2. 概念スキーマ(図書館全体の論理設計)

* 本、著者、貸出履歴、会員、棚の位置、などの全体の構成や関係性が記述されます。
* 「本と著者は1対多」「本と貸出履歴は1対多」などの論理的な設計がここ。
* → システム全体の統一ルールや構造。


3. 内部スキーマ(データの物理的保存方法)

* 実際には「本テーブル」はハードディスクのどこかに保存されており、効率的にアクセスするためのインデックスもあります。
* 「タイトルで検索すると早く出るようにインデックスを使う」など、性能面の設計が中心。
* → 人には見えない物理的なデータの格納方法。


■ まとめ

視点誰が使うか例えると
外部スキーマエンドユーザーや職員図書館の利用者・司書が見る画面
概念スキーマシステム設計者図書館全体の設計図
内部スキーマDB管理者本がしまってある倉庫の中や棚の並び順
このように、三層スキーマ構造は「誰がどのレベルでデータを扱うか」を分離して考えることで、変更に強い柔軟なシステム設計を可能にしています。





データベース速攻入門 〜モデリングからSQLの書き方まで [ 堀内 康夫 ]

価格:2420円
(2025/6/11 12:16時点)
感想(0件)


BigQueryではじめるSQLデータ分析 GA4 & Search Console & Googleフォーム対応 [ 木田 和廣 ]

価格:3080円
(2025/6/6 10:26時点)
感想(0件)


 



この記事へのコメント