DBMSにおけるインスタンスとスキーマ

このガイドでは、DBMSにおけるインスタンスとスキーマについて学びます。

DBMSスキーマ

スキーマの定義:データベースのデザインをスキーマと呼びます。例えば、データベースには以下の属性を持つ従業員テーブルが存在します。

EMP_NAME  EMP_ID   EMP_ADDRESS  EMP_CONTACT
--------  ------   -----------  -----------

これが従業員テーブルのスキーマです。スキーマはデータベース内のテーブルの属性を定義します。スキーマには物理スキーマ、論理スキーマ、ビュースキーマの3つのタイプがあります。

  • スキーマはデータベースの論理的なビューを表します。どのデータがどこに入るかを理解するのに役立ちます。
  • スキーマは以下のようなダイアグラムで表すことができます。
  • スキーマはデータベースユーザーがデータ間の関係を理解するのに役立ちます。これはデータベースに対する挿入、更新、削除、検索などの操作を効率的に行うのに役立ちます。

次の図では、三つのテーブル(Course、Student、Section)の関係を示すスキーマがあります。この図ではデータが表に存在するのではなく、データベースのデザインだけが表示されています。スキーマは、以下の図に示すようにデータベースの構造的なビュー(デザイン)だけです。

物理レベルでのデータベースのデザインは物理スキーマと呼ばれ、データがストレージブロックにどのように格納されるかがこのレベルで説明されます。

論理レベルでのデータベースのデザインは論理スキーマと呼ばれ、プログラマーやデータベース管理者はこのレベルで作業します。このレベルでは、データがデータ構造に格納される様子が特定のデータ型のデータレコードとして説明されますが、データ構造の実装などの内部の詳細は隠されています(物理レベルでは利用可能)。

ビューレベルでのデータベースのデザインはビュースキーマと呼ばれます。これは一般的にエンドユーザーがデータベースシステムとやり取りする方法を説明します。

これらのスキーマについてもっと学ぶには、3つのレベルのデータ抽象化アーキテクチャを参照してください

DBMSインスタンス

インスタンスの定義:特定の瞬間にデータベースに格納されているデータをデータベースのインスタンスと呼びます。データベーススキーマは特定のデータベースに属するテーブルの属性を定義します。これらの属性の値はそのデータベースのその瞬間のインスタンスと呼ばれます。

例えば、上記で「従業員」というテーブルのスキーマを見てきました。では、そのテーブルのデータを見てみましょう。この瞬間、テーブルには2つの行(レコード)が含まれています。これが「従業員」というテーブルの現在のインスタンスです。なぜなら、これはこの特定の瞬間にこのテーブルに格納されているデータだからです。

EMP_NAME   EMP_ID  EMP_ADDRESS  EMP_CONTACT
-------    ------  -----------  -----------
Chaitanya  101     Noida        95********
Ajeet      102     Delhi        99********

別の例を挙げてみましょう。データベースに単一の「学生」テーブルがあるとします。今日、そのテーブルには100のレコードがあります。したがって、今日のデータベースのインスタンスには100のレコードが含まれます。明日、このテーブルにさらに100のレコードを追加することになると、明日のデータベースのインスタンスにはテーブルに200のレコードが含まれることになります。要するに、特定の瞬間にデータベースに格納されているデータをインスタンスと呼び、これはデータベースにデータを追加、削除、更新するたびに変化します。

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です