DBMS におけるデータの独立性: 物理的および論理的な例とその独立性

⚡ スマートサマリー

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

  • 🧩 コアアイデア: あるスキーマレベルでの変更はマップに吸収されますpingそのため、上位レベルやアプリケーションプログラムは影響を受けません。
  • 💾 身体的自立: ストレージデバイス、ファイル構成、インデックスは、概念スキーマに影響を与えることなく変更できる。
  • 🗂️ 論理的独立性: エンティティや属性は、外部ビューやプログラムを書き換えることなく追加または変更できます。
  • 🏛️ 3つのレベル: 物理的、概念的、そして外部的なスキーマは、独立性によって分離される層を提供する。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ 相対的な難易度: 物理的な独立性は容易に達成できるが、論理的な独立性はより困難である。なぜなら、プログラムは論理構造に依存しているからである。
  • 🔗 地図pings: 概念内部マップと概念外部マップpingそれらは、あらゆる種類の自立を可能にするものです。
  • ✅ 利点: メンテナンスコストの削減、セキュリティの向上、そして開発者がストレージよりもデザインに注力できるようになった。

DBMS におけるデータの独立性

DBMSにおけるデータ独立性とは何ですか?

データ独立性とは、データベース管理システム(DBMS)の特性の一つで、データベースシステムの特定のレベルのスキーマを変更しても、上位レベルのスキーマを変更する必要がないというものです。データ独立性によって、データを使用するすべてのプログラムからデータを分離することができます。

この保存されたデータは、計算やプレゼンテーションに利用できます。多くのシステムにおいて、データの独立性はシステム構成要素にとって不可欠な機能です。

データの独立性の種類

In DBMS データ独立性には2種類あります。

  1. 物理的なデータ独立性。
  2. 論理データの独立性。

どちらのタイプもデータベースの階層構造に基づいているため、まずはその階層構造を確認することが役立ちます。

データベースのレベル

データ独立性について学ぶ前に、データベースのレベルについて復習しておくことが重要です。データベースは、以下の図に示すように、3つのレベルで構成されています。

  1. 物理的/内部
  2. 概念的
  3. 外部
DBMSアーキテクチャ図のレベル
DBMSのレベル Archi構造図

これらは、以下で詳しく説明されているものと同じ層です。 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)
物理スキーマ
  • リレーションは順序付けされていないファイルとして保存されます。
  • Student の最初の列のインデックス。

物理データの独立性

物理データ独立性とは、概念レベルと内部レベル(物理レベル)を分離するのに役立ちます。これにより、物理構造を指定することなく、データベースの論理的な記述を提供できます。論理独立性と比較すると、物理データ独立性は容易に実現できます。

物理的な独立性により、概念スキーマに影響を与えることなく、物理的なストレージ構造やデバイスを変更できます。行われた変更はすべてマップに反映されます。ping 概念レベルと内部レベルの間には、物理​​的なデータ独立性が存在します。これは、データベースの内部レベルの存在と、概念レベルから内部レベルへの変換によって実現されます。

物理データ独立性に基づく変更例

物理的な独立性があるため、以下の変更は概念層には影響を与えません。

  • ハードディスクドライブや磁気テープなどの新しい記憶装置を使用する。
  • データベースにおけるファイル編成方法を変更する。
  • 異なるデータ構造への切り替え。
  • アクセス方法を変更します。
  • インデックスを変更します。
  • 圧縮技術の変更または ハッシュアルゴリズム.
  • データベースの場所を変更する。例えば、CドライブからDドライブへ。

論理データの独立性

論理データ独立性とは、概念スキーマを変更しても以下の点を変更せずに済む能力のことです。

  1. 外観。
  2. 外部APIまたはプログラム。

変更内容はすべて地図に反映されますping 外部レベルと概念レベルの間には、物理​​的なデータ独立性に比べて、論理的なデータ独立性を実現することは困難である。

論理データ独立性に基づく変更例

論理的な独立性により、以下の変更はいずれも外部層には影響を与えません。

  1. 既存のアプリケーションプログラムを書き換えることなく、新しい属性、エンティティ、または関係を追加、変更、または削除することが可能です。
  2. 2つのレコードを1つに統合します。
  3. 既存のレコードを2つ以上のレコードに分割する。

物理データ独立性と論理データ独立性の違い

論理データの独立性 物理データの独立性
主に構造やデータ定義の変更に関するものです。 主にデータの保存に関するものです。
データ取得は主に論理構造に依存するため、困難である。 簡単に取り出せます。
身体的な自立に比べれば、達成するのは難しい。 論理的独立性に比べれば、達成するのは容易である。
新しいフィールドが追加または削除された場合は、アプリケーションプログラムに変更を加える必要があります。 物理的なレベルでの変更は、通常、アプリケーションプログラムレベルでの変更を必要としません。
データベースの論理構造が変更される場合、論理レベルでの変更は非常に重要です。 パフォーマンスを向上させるためには、内部レベルでの変更が必要な場合もあれば、そうでない場合もある。
概念図式に関係する。 内部スキーマに関係する。
例:新しい属性を追加、変更、または削除する。 例:圧縮技術、ハッシュアルゴリズム、ストレージデバイスなどの変更

データの独立性の重要性

  • データ品質の向上に役立ちます。
  • データベースシステムの保守費用を削減できます。
  • 標準規格を遵守させ、データベースのセキュリティを向上させる。
  • アプリケーションプログラムのデータ構造を変更する必要はありません。
  • 開発者は、データベースの内部実装ではなく、データベースの一般的な構造に集中できるようになります。
  • データベースの不整合を大幅に軽減します。
  • システムのパフォーマンスを向上させるために、物理的なレベルで変更を加えることができます。

よくあるご質問

アプリケーションプログラムやビューは論理構造に依存しているため、エンティティや属性の変更はそれらに波及する可能性があります。物理ストレージは概念スキーマの下位に位置するため、その変更は隠蔽されます。

地図pingレベル間のつながり。身体的な自立は、概念的な内部地図に依存している。ping論理的独立性は外部概念マップに依存するpingそのため、それぞれの変化は伝播されるのではなく、吸収される。

いいえ。追加または削除ping インデックスは、物理的なデータ独立性によって吸収される物理的な変更です。クエリは同じ結果を返しますが、処理速度が速くなったり遅くなったりするだけであり、アプリケーションコードを変更する必要はありません。

ストレージは自由に変更できるため、AIチューニングツールは、アプリケーションが既に使用しているクエリを変更することなく、データをカラム型ストレージに移行したり、インデックスを追加してモデルのトレーニングを高速化したりすることができます。

物理的独立性。ファイルをあるドライブから別のドライブに移動しても、変更されるのは内部レベルのみです。物理的なデータ独立性のおかげで、概念スキーマとすべてのアプリケーションビューは影響を受けません。