データベースシステムは複雑なデータ構造から成り立っています。開発者はユーザーがデータベースとやり取りする際に、内部の関係のない詳細を隠します。このユーザーに対する無関係な詳細を隠すプロセスをデータ抽象化と呼びます。ここでの「無関係」という用語はユーザーに対して使われており、それはデータが全体のデータベースに関連していないことを意味しません。単にユーザーがそのデータに興味を持っていないということです。
例えば、列車のチケットを予約するとき、ユーザーは「チケット予約」をクリックしたときに裏でデータがどのように処理されているか、オンラインで支払いを行う際に何のプロセスが起こっているかを気にしません。ユーザーは単にチケットが正常に予約されたときに表示されるメッセージに興味を持っています。これは裏で起こっているプロセスが無関係であるという意味ではなく、ユーザーがデータベース内で何が起こっているかに興味を持っていないということです。
3つの抽象化のレベル
物理レベル:これはデータ抽象の最も低いレベルです。データが実際にデータベースにどのように格納されているかを説明します。このレベルでは、複雑なデータ構造の詳細を得ることができます。
論理レベル:これは3つのデータ抽象アーキテクチャの中間レベルです。データベースに何が格納されているかを説明します。
ビューレベル:これはデータ抽象の最も高いレベルです。このレベルでは、ユーザーがデータベースシステムとやり取りする方法が説明されます。
例えば、顧客情報を顧客テーブルに保存しているとしましょう。物理レベルでは、これらのレコードはメモリ内のストレージブロック(バイト、ギガバイト、テラバイトなど)として説明できます。これらの詳細は一般的にプログラマーからは隠されています。
論理レベルでは、これらのレコードはフィールドと属性とそのデータ型との関係といった論理的に実装されることがあります。プログラマーは通常、データベースシステムに関するこうした情報に気づいているため、このレベルで作業します。
ビューレベルでは、ユーザーはGUIのヘルプを得てシステムと対話し、画面に詳細を入力します。ユーザーはデータがどのように格納され、どのデータが格納されているかについて気にする必要はありません。これらの詳細は彼らに隠されています。
コメントを残す