3 層スキーマ

1.スキーマとは

 データベースにおけるスキーマ
   データベースの構造を表現する設計図
   三層スキーマアーキテクチャと呼ばれる

   抽象的な概念であるため、通常のユーザーや管理者が意識することはない

2.3層スキーマアーキテクチャ

外部スキーマ
(External Schema):
概念スキーマ
(Conceptual Schema):
内部スキーマ
 (Internal Schema):
ビューも定義
 実際にユーザーに見える部分
論理的なデータの定義
 データベース管理者によって管理される部分
物理的配置の定義
 データベースのハードウェア部分
定義: 外部スキーマは、終端ユーザーや特定のアプリケーションのためのデータベースのビューを提供します定義: 概念スキーマは、データベースの全体的な論理的構造を示しています。定義: 内部スキーマは、データが物理的にストレージ上にどのように格納されるかを示しています。
特徴: この層は、システムの複数のユーザーが求める異なるデータの表示やアクセス方法を定義します。一つのデータベースには、多くの外部スキーマが存在することができます。特徴: この層は、データベース内のすべてのエンティティ、関連、制約などの論理的な構造と関係を定義します。物理的な詳細や特定のユーザーのビューは無視されます。特徴: この層は、物理的なデータの配置、インデックスの使用、アクセスパス、データの物理的な表現などの実際のデータの格納方法を定義します。
目的: 終端ユーザーやアプリケーションが必要とするデータの形式や表示方法をカスタマイズして提供します。目的: データの論理的構造と組織を中立的な視点で表現し、データの整合性と意味を維持します。目的: データの効率的な格納とアクセスを実現するための物理的な詳細を管理します。

3.3層の利点

 ・独立性の確保
   物理的・論理的独立性
     データの物理的な格納方法の変更が
     アプリケーションやユーザービューに影響を与えることなく行える
       独立性は、データベースの物理的な変更や最適化を容易にし、
       アプリケーションの変更を最小限に抑える
   外部・概念的独立性
     ユーザーやアプリケーションが必要とするビューを、データベースの全体的な構造から独立して定義できます。

柔軟性: 組織の要件や状況が変わるにつれて、データの物理的な格納方法や特定のユーザービューを変更する必要が生じることがあります。3層スキーマは、これらの変更を柔軟に対応できるようにしています。

抽象化: 3層スキーマは、データベースの複雑さを異なるレベルの抽象化で管理します。これにより、異なる利害関係者(例: DBA、アプリケーション開発者、エンドユーザー)が、それぞれの関心事に焦点を当てて作業を進めることができます。

セキュリティ: 外部スキーマを使用することで、ユーザーやアプリケーションがアクセスできるデータの部分を制限することができます。これにより、不要なデータへのアクセスを防ぐことができ、セキュリティを向上させることができます。

整合性: 概念スキーマでは、データベース全体の論理的構造を定義します。これにより、データの整合性、関連性、および制約を一貫して管理することができます。3層スキーマに分ける理由は、データベース