0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベースの3層スキーマ

Last updated at Posted at 2025-08-07

データベースの3層スキーマ

⭐️データベース学習を始めるとまず最初に目にする"3層スキーマ"について

現在はリレーショナルデータベースと呼ばれるデータ管理システムが主流。
その設計には3層スキーマという考え方が存在する。
これは『データベースの設計図を3つの視点に分けて見てみよう』という考え方のこと。

データベースを3つの視点で見る
・外部スキーマ:
アプリ、サイトのユーザー視点

・概念スキーマ:
データの構造、設計

・内部スキーマ:
データをどう保存するか、物理的な保存方法

家づくりに例えると・・・
・外部スキーマ(住人からの眺め):
完成した家を、それぞれの立場から必要な部分だけ見るための窓【利用者ごとの見え方】

・概念スキーマ(設計図):
どんな部屋があって、どう繋がっているかを決める【論理的な設計】

・内部スキーマ(工事仕様書):
その設計図を、どんな材料と工法で建てるかを決める【物理的な保存方法】

これら三つに分けて設計考えないと、
アプリの見た目を変更したいのに、データベースの根本設定まで変更してしまった。といった事態が起こってしまう。

⭐️各スキーマの解説

・外部スキーマ
役割:アプリや利用者のための「窓口」。
内容:
データベースの中から、必要なデータだけを抜き出した部分的に見せる。
例:「人事アプリ用」「経理システム用」など、用途に合わせた見せ方。
目的:
利便性向上:利用者にとって必要な情報だけを見せるので使いやすい。
セキュリティ:経理担当者以外には給与情報を見せないなど、権限に応じて情報制限可能。

・概念スキーマ
役割:データベース全体の論理的な設計図。
内容:
データベースにどんなデータ(テーブル、項目)があり、それらがどう関連しているかを定義。
データの一貫性を保つためのルール(制約)も含む。

・内部スキーマ
役割:データを物理的にどう保存するかの定義。
内容:ファイル形式、保存場所、インデックスの作成など、コンピュータ寄りの設定。
目的:
パフォーマンス向上:どうすれば最速でデータを取り出せるかを追求する。
効率化:どうすれば最小の容量でデータを保存できるかを考える。

この「3層スキーマ」という考え方のおかげで、データベースは変更に強く、安全で、使いやすいシステムになっている。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?