logo

データの抽象化とデータの独立性

データベース システムは複雑なデータ構造で構成されています。データの取得という点でシステムを効率化し、ユーザーの使いやすさという点で複雑さを軽減するために、開発者は抽象化を使用します。つまり、無関係な詳細をユーザーから隠します。このアプローチにより、データベース設計が簡素化されます。 

DBMS の抽象化レベル

データ抽象化には主に 3 つのレベルがあります。 



  • 物理レベルまたは内部レベル
  • 論理レベルまたは概念的レベル
  • ビューまたは外部レベル

物理レベルまたは内部レベル

これはデータ抽象化の最低レベルです。これは、データが実際にメモリにどのように保存されるかを示します。シーケンシャル アクセスやランダム アクセスなどのアクセス方法と、B+ ツリーやハッシュなどのファイル編成方法が同じために使用されます。メモリの使用可能サイズとレコードの回数は、データベースを設計する際に知っておく必要がある要素です。 
従業員の詳細を保存する必要があるとします。これらの目的で使用されるストレージのブロックとメモリの量は、ユーザーには隠蔽されます。 

論理レベルまたは概念的レベル

このレベルは、実際にデータベースにテーブル形式で保存される情報で構成されます。また、データ エンティティ間の関係も比較的単純な構造で保存されます。このレベルでは、ビュー レベルでユーザーが利用できる情報は不明です。 
従業員のさまざまな属性や関係を保存できます。マネージャーと一緒に保存することもできます。 

したがって、論理レベルは、少数の比較的単純な構造の観点からデータベース全体を記述します。論理レベルでの単純な構造の実装には複雑な物理レベルの構造が含まれる場合がありますが、論理レベルのユーザーはこの複雑さを意識する必要はありません。これは、物理データの独立性と呼ばれます。データベースにどの情報を保持するかを決定する必要があるデータベース管理者は、論理レベルの抽象化を使用します。



ビューまたは外部レベル

これは最高レベルの抽象化です。ユーザーが閲覧できるのは実際のデータベースの一部だけです。このレベルは、個々のユーザーによるデータベースへのアクセスを容易にするために存在します。ユーザーはデータを行と列の形式で表示します。テーブルとリレーションはデータを保存するために使用されます。同じデータベースの複数のビューが存在する場合があります。ユーザーはデータを表示し、データベース ストレージを操作するだけでよく、実装の詳細はユーザーには表示されません。 論理レベルではより単純な構造が使用されていますが、大規模なデータベースにはさまざまな情報が保存されているため、複雑さは依然として残ります。データベース システムの多くのユーザーは、これらの情報をすべて必要とするわけではありません。代わりに、データベースの一部にのみアクセスする必要があります。抽象化のビュー レベルは、システムとの対話を簡素化するために存在します。

例: 顧客データを保管する場合

Javaのバイナリツリー
  • 身体レベル - ストレージのブロック (bytesGBTBetc) が含まれます
  • 論理レベル -  これには、データのフィールドと属性が含まれます。
  • ビューレベル - で動作します CLI または GUI データベースへのアクセス




データの抽象化' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=データの抽象化

データ抽象化の主な目的は、データベースの修正または変更に必要な時間とコストを節約するためにデータの独立性を実現することです。 

データの独立性

データの独立性 は主に DBMS のプロパティとして定義されており、次のレベルのスキーマを変更することなく、システムのあるレベルでデータベース スキーマを変更できるようにします。これは、データをそれを利用するすべてのプログラムから分離しておくのに役立ちます。
つまり、これらの抽象化レベルから生じる 2 つのレベルのデータ独立性があります。 

  • 物理学 校正レベルのデータの独立性
  • 論理レベルのデータの独立性
データの抽象化とデータの独立性' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=データの独立性

物理レベルのデータの独立性

これは、最適化の目的で行われる概念的または論理スキーマを変更することなく、物理スキーマを変更できる特性を指します。の概念構造 データベース データベース システム サーバーのストレージ サイズの変更による影響は受けません。シーケンシャル アクセス ファイルからランダム アクセス ファイルへの変更は、その一例です。物理的構造に対するこれらの変更または修正には、次のものが含まれる場合があります。 

  • 新しいストレージデバイスの利用。
  • ストレージに使用されるデータ構造を変更する。
  • インデックスを変更したり、別のファイル構成手法を使用したりするなど。

論理レベルのデータの独立性

外部スキーマやアプリケーションプログラムに影響を与えることなく、論理スキーマを変更できる特性を指します。データのユーザー ビューは、データの概念ビューの変更による影響を受けません。これらの変更には、テーブル構造エンティティや論理スキーマとの関係を変更する属性の挿入または削除が含まれる場合があります。