データの独立性は、集中型DBMSにとって重要なデータの透明性の一種です 。[1]これは、データの定義と構成の変更に対するユーザーアプリケーションの耐性を指します。理想的には、アプリケーション プログラムはデータの表現とストレージの詳細にさらされるべきではありません。DBMS は、そのような詳細を隠すデータの抽象ビューを提供します。[2]
データ独立性には、物理的データ独立性と論理的データ独立性の 2 種類があります。
データの独立性と操作の独立性は、データ抽象化の特徴を与えます。データの独立性には2つのレベルがあります。[3]
論理データの独立性
データの論理構造は「スキーマ定義」と呼ばれます。一般に、ユーザー アプリケーションがリレーションの属性のサブセットを操作する場合、後で同じリレーションに新しい属性が追加されても、そのアプリケーションは影響を受けません。論理データの独立性は、既存のスキーマに影響を与えずに概念スキーマを変更できることを示します。
物理的なデータの独立性
データの物理構造は「物理データ記述」と呼ばれます。物理データ独立性は、ストレージ構造の詳細をユーザー アプリケーションから隠すことを扱います。概念的には、データに対して実行される操作に違いがないため、アプリケーションはこれらの問題に関与する必要はありません。データ独立性には 3 つのタイプがあります。
- 論理データ独立性: 外部スキーマ (ユーザー ビュー) を変更せずに論理 (概念) スキーマを変更できることを、論理データ独立性と呼びます。たとえば、概念スキーマに新しいエンティティ、属性、または関係を追加または削除したり、既存のアプリケーション プログラムを書き直したりする必要がある場合などです。
- 物理データ独立性: 論理スキーマを変更せずに物理スキーマを変更できることを、物理データ独立性と呼びます。たとえば、異なるファイル編成やストレージ構造、ストレージ デバイス、インデックス作成戦略の使用など、内部スキーマを変更する場合、概念スキーマや外部スキーマを変更せずに変更できる必要があります。
- ビュー レベルのデータの独立性: ビュー レベルより上のレベルが存在しないため、常に独立しており、効果はありません。
データの独立性
データの独立性は次のように説明できます。データ アーキテクチャの各上位レベルは、アーキテクチャの次の下位レベルの変更の影響を受けません。
最適化や再編成の理由で一部のデータのストレージ スペースやタイプが変更されても、論理スキームは変更されません。この場合、外部スキーマは変更されません。この場合、一部の物理スキーマが再編成されたため、内部スキーマの変更が必要になることがあります。ほとんどのデータベースとファイル環境では、エンコーディングのハードウェア ストレージ、ディスク上のデータの正確な場所、レコードのマージなどがユーザーから隠されています。
データ独立性タイプ
あるレベルのスキーマ定義を変更しても、次の上位レベルの定義のスキーマには影響を与えない機能は、データ独立性と呼ばれます。データ独立性には、物理データ独立性と論理データ独立性の 2 つのレベルがあります。
- 物理データの独立性とは、アプリケーション プログラムを書き換えることなく物理スキーマを変更できる機能です。パフォーマンスを向上させるには、物理レベルでの変更が必要になる場合があります。つまり、データの概念的または外部的なビューに影響を与えずに、物理ストレージ/レベルを変更するということです。新しい変更は、マッピング技術によって吸収されます。
- 論理データ独立性とは、アプリケーション プログラムを書き直すことなく論理スキーマを変更できる機能です。論理レベルでの変更は、データベースの論理構造が変更されるたびに必要です (たとえば、マネー マーケット アカウントが銀行システムに追加される場合)。論理データ独立性とは、テーブルに新しい列を追加したり、テーブルから列を削除したりしても、ユーザー ビューとプログラムが変更されないことを意味します。たとえば、2 人のユーザー A と B を考えます。どちらもフィールド "EmployeeNumber" と "EmployeeName" を選択しています。ユーザー B がテーブルに新しい列 (たとえば、給与) を追加した場合、データベースの内部スキーマはユーザー A と B の両方で変更されますが、ユーザー A の外部ビューには影響しません。
アプリケーション プログラムはアクセスするデータの論理構造に大きく依存するため、論理データの独立性を実現するのは物理データの独立性を実現するよりも困難です。
参照
参考文献
- ^ 「DBMS におけるデータ独立性とは?」GeeksforGeeks 2024 年 5 月 14 日2024 年 8 月 18 日閲覧。
- ^ チーム、Great Learning (2021-10-28)。「DBMS におけるデータの独立性」。Great Learning ブログ: キャリア形成に役立つ無料リソース。2024-08-18に取得。
- ^ 「(解決済み) - 1. データの独立性とは何ですか、そしてなぜファイルにそれが欠けているのですか...(1つの回答)| Transtutors」。www.transtutors.com。2021年7月16日。 2024年8月18日閲覧。
