DBMS におけるデータの独立性: 物理的および論理的な例とその独立性
⚡ スマートサマリー
データ独立性とは、DBMSの特性の一つで、あるレベルのスキーマを変更しても、上位レベルのスキーマには影響を与えないというものです。データ独立性には物理的独立性と論理的独立性の2種類があり、データとそれを使用するプログラムとの分離を維持します。

DBMSにおけるデータ独立性とは何ですか?
データ独立性とは、データベース管理システム(DBMS)の特性の一つで、データベースシステムの特定のレベルのスキーマを変更しても、上位レベルのスキーマを変更する必要がないというものです。データ独立性によって、データを使用するすべてのプログラムからデータを分離することができます。
この保存されたデータは、計算やプレゼンテーションに利用できます。多くのシステムにおいて、データの独立性はシステム構成要素にとって不可欠な機能です。
データの独立性の種類
In DBMS データ独立性には2種類あります。
- 物理的なデータ独立性。
- 論理データの独立性。
どちらのタイプもデータベースの階層構造に基づいているため、まずはその階層構造を確認することが役立ちます。
データベースのレベル
データ独立性について学ぶ前に、データベースのレベルについて復習しておくことが重要です。データベースは、以下の図に示すように、3つのレベルで構成されています。
- 物理的/内部
- 概念的
- 外部

これらは、以下で詳しく説明されているものと同じ層です。 DBMSスキーマ大学のデータベースを例に考えてみましょう。各レベルでの実装は次のようになります。
| スキーマのタイプ | 製品の導入 |
|---|---|
| 外部スキーマ |
1度ビュー: コース情報(cid:整数、cname:文字列) 2度ビュー: student_info(id:int, name:string) |
| 概念図式 |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| 物理スキーマ |
|
物理データの独立性
物理データ独立性とは、概念レベルと内部レベル(物理レベル)を分離するのに役立ちます。これにより、物理構造を指定することなく、データベースの論理的な記述を提供できます。論理独立性と比較すると、物理データ独立性は容易に実現できます。
物理的な独立性により、概念スキーマに影響を与えることなく、物理的なストレージ構造やデバイスを変更できます。行われた変更はすべてマップに反映されます。ping 概念レベルと内部レベルの間には、物理的なデータ独立性が存在します。これは、データベースの内部レベルの存在と、概念レベルから内部レベルへの変換によって実現されます。
物理データ独立性に基づく変更例
物理的な独立性があるため、以下の変更は概念層には影響を与えません。
- ハードディスクドライブや磁気テープなどの新しい記憶装置を使用する。
- データベースにおけるファイル編成方法を変更する。
- 異なるデータ構造への切り替え。
- アクセス方法を変更します。
- インデックスを変更します。
- 圧縮技術の変更または ハッシュアルゴリズム.
- データベースの場所を変更する。例えば、CドライブからDドライブへ。
論理データの独立性
論理データ独立性とは、概念スキーマを変更しても以下の点を変更せずに済む能力のことです。
- 外観。
- 外部APIまたはプログラム。
変更内容はすべて地図に反映されますping 外部レベルと概念レベルの間には、物理的なデータ独立性に比べて、論理的なデータ独立性を実現することは困難である。
論理データ独立性に基づく変更例
論理的な独立性により、以下の変更はいずれも外部層には影響を与えません。
- 既存のアプリケーションプログラムを書き換えることなく、新しい属性、エンティティ、または関係を追加、変更、または削除することが可能です。
- 2つのレコードを1つに統合します。
- 既存のレコードを2つ以上のレコードに分割する。
物理データ独立性と論理データ独立性の違い
| 論理データの独立性 | 物理データの独立性 |
|---|---|
| 主に構造やデータ定義の変更に関するものです。 | 主にデータの保存に関するものです。 |
| データ取得は主に論理構造に依存するため、困難である。 | 簡単に取り出せます。 |
| 身体的な自立に比べれば、達成するのは難しい。 | 論理的独立性に比べれば、達成するのは容易である。 |
| 新しいフィールドが追加または削除された場合は、アプリケーションプログラムに変更を加える必要があります。 | 物理的なレベルでの変更は、通常、アプリケーションプログラムレベルでの変更を必要としません。 |
| データベースの論理構造が変更される場合、論理レベルでの変更は非常に重要です。 | パフォーマンスを向上させるためには、内部レベルでの変更が必要な場合もあれば、そうでない場合もある。 |
| 概念図式に関係する。 | 内部スキーマに関係する。 |
| 例:新しい属性を追加、変更、または削除する。 | 例:圧縮技術、ハッシュアルゴリズム、ストレージデバイスなどの変更 |
データの独立性の重要性
- データ品質の向上に役立ちます。
- データベースシステムの保守費用を削減できます。
- 標準規格を遵守させ、データベースのセキュリティを向上させる。
- アプリケーションプログラムのデータ構造を変更する必要はありません。
- 開発者は、データベースの内部実装ではなく、データベースの一般的な構造に集中できるようになります。
- データベースの不整合を大幅に軽減します。
- システムのパフォーマンスを向上させるために、物理的なレベルで変更を加えることができます。
