DBMS におけるデータの独立性: 物理的および論理的な例とその独立性
DBMS のデータ独立性とは何ですか?
データの独立性は、データベース システムの XNUMX つのレベルでデータベース スキーマを、次の上位レベルのスキーマを変更することなく変更できるようにする DBMS のプロパティとして定義されます。 データの独立性により、データをそれを使用するすべてのプログラムから分離しておくことができます。
この保存されたデータは、コンピューティングやプレゼンテーションに使用できます。 多くのシステムでは、データの独立性はシステムのコンポーネントにとって不可欠な機能です。
データの独立性の種類
In DBMS データの独立性には XNUMX つのタイプがあります
- 物理データの独立性
- 論理データの独立性。
データベースのレベル
データの独立性を学ぶ前に、データベース レベルについて復習することが重要です。 データベースは下図に示すように 3 つのレベルに分かれています。
- 物理的/内部的
- 概念的
- 外部
大学データベースの例を考えてみましょう。 さまざまなレベルでの実装は次のようになります。
スキーマのタイプ | 製品の導入 |
---|---|
外部スキーマ |
ビュー1: コース情報(cid:int,cname:string) ビュー2: 学生情報(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) |
物理スキーマ |
|
物理データの独立性
物理データの独立性は、概念的レベルを内部/物理レベルから分離するのに役立ちます。 これにより、物理構造を指定せずにデータベースの論理的な説明を提供できます。 論理的な独立性と比較して、物理的なデータの独立性を実現するのは簡単です。
物理的な独立性により、概念的なスキーマに影響を与える物理的なストレージ構造やデバイスを簡単に変更できます。 行われた変更はすべて、概念的レベルと内部レベルの間のマッピングによって吸収されます。 物理データの独立性は、データベースの内部レベルの存在と、データベースの概念レベルから内部レベルへの変換によって実現されます。
物理データの独立性における変更の例
物理的に独立しているため、以下の変更は概念レイヤーには影響しません。
- ハードドライブや磁気テープなどの新しいストレージデバイスの使用
- データベース内のファイル構成手法を変更する
- 異なるデータ構造への切り替え。
- アクセス方法を変更します。
- インデックスを変更します。
- 圧縮技術またはハッシュ アルゴリズムの変更。
- データベースの場所をCドライブからDドライブに変更
論理データの独立性
論理データの独立性とは、概念スキームを変更せずに変更できる機能です。
- 外観
- 外部APIまたはプログラム
行われた変更はすべて、外部レベルと概念レベルの間のマッピングによって吸収されます。
物理データの独立性と比較すると、論理データの独立性を実現することは困難です。
論理データの独立性における変更の例
論理的に独立しているため、以下の変更は外部層には影響しません。
- 既存のアプリケーションプログラムを書き換えることなく、新しい属性、エンティティ、または関係の追加/変更/削除が可能
- XNUMX つのレコードを XNUMX つに結合する
- 既存のレコードを XNUMX つ以上のレコードに分割する
物理データと論理データの独立性の違い
ロジカデータの独立性 | 物理データの独立性 |
---|---|
論理データの独立性は、主に構造またはデータ定義の変更に関係します。 | 主にデータの保存に関するものです。 |
データの取得は主にデータの論理構造に依存するため、困難です。 | 取り出しも簡単です。 |
ロジックの物理的な独立性と比較すると、論理的なデータの独立性を実現することは困難です。 | 論理的な独立性と比較して、物理的なデータの独立性を実現するのは簡単です。 |
新しいフィールドをデータベースに追加したり、データベースから削除したりする場合は、アプリケーション プログラムを変更する必要があります。 | 通常、物理レベルの変更はアプリケーション プログラム レベルでの変更を必要としません。 |
データベースの論理構造が変更されるたびに、論理レベルでの変更が重要になります。 | 内部レベルで行われた変更は、構造のパフォーマンスを向上させるために必要な場合もあれば、必要でない場合もあります。 |
概念的なスキーマに関心がある | 内部スキーマに関する問題 |
例: 新しい属性の追加/変更/削除 | 例: 圧縮技術、ハッシュアルゴリズム、ストレージデバイスなどの変更 |
データの独立性の重要性
- データの品質向上に役立ちます
- データベースシステムの保守を低コストで実現
- 標準の施行とデータベースセキュリティの向上
- アプリケーションプログラムのデータ構造を変更する必要はありません
- 開発者が内部実装について心配するのではなく、データベースの一般的な構造に集中できるようにします。
- 損傷や分割されていない状態を改善することができます。
- データベースの不整合は大幅に減少します。
- システムのパフォーマンスを向上させるには、物理レベルでの変更を簡単に行うことが必要です。
まとめ
- データの独立性は、DBMS のプロパティを変更するのに役立ちます。 データベーススキーマ データベース システムの XNUMX つのレベルで、次の上位レベルのスキーマを変更する必要はありません。
- データの独立性の 1 つのレベルは、2) 物理的および XNUMX) 論理的です。
- 物理データの独立性により、概念的レベルを内部/物理レベルから分離することができます。
- 論理データの独立性とは、概念スキームを変更せずに変更できる機能です。
- 物理データの独立性と比較すると、論理データの独立性を実現するのは困難です
- データの独立性 データの品質の向上に役立ちます