PSQL Programmer's Guide (v11)

トランザクショナル インターフェイスの概要

Btrieve API は、トランザクショナル データベース エンジンの低レベル インターフェイスで、データベース設計の機能面を具現するものですが、SQL、Java、ODBC などの高レベル インターフェイスには透過的です。たとえば、SQL インターフェイスはデータが物理的にどのように格納されるかに関係なく動作します。しかし、トランザクショナル インターフェイスの開発者はページ サイズ、物理および論理カレンシー、型検査、妥当性検査などの低レベルの側面を考慮する必要があります。これらの低レベルの側面を考慮しても、Btrieve API には優れた柔軟性とデータに対する制御性があります。

トランザクショナル データベース エンジンは情報をファイルに格納します。このファイルのサイズは Pervasive PSQL バージョン 9.5 以降では最大 256 GB です(バージョン 9.5 までの 9.x は 128 GB で、それ以前のバージョンでは 64 GB です)。各データ ファイル内には、データ バイトを収容するレコードがあります。1 つのファイルに最大 40 億個のレコードを収容できます。

レコード内のデータは、社員の名前、ID、住所、電話番号、賃率などを表します。しかし、トランザクショナル データベース エンジンはレコードを単なるバイトの集合として解釈します。つまり、レコード内で論理的に区別されている情報を認識しません。トランザクショナル データベース エンジンにおいては、ラスト ネーム、ファースト ネーム、社員 ID などはレコード内に存在しません。

トランザクショナル インターフェイスがレコード内で認識できる唯一の区別されている情報の部分は、キーです。キーは、レコードに対する高速な直接アクセスと、キー値によるレコードのソート手段を提供します。トランザクショナル インターフェイスには各ファイル内のレコードの構造を理解する方法がないため、以下の項目を識別することによって各キーを定義します。

キーはいつでも作成または削除することができます。トランザクショナル インターフェイスは、データ ファイルで定義されたキーごとにインデックスを作成します。インデックスは、データ ファイル自体の内部に格納されます。インデックスは、ファイル内の各キー値を実際のデータ内のオフセットへマップします。通常は、トランザクショナル インターフェイスがデータのアクセスまたはソートを行う場合、ファイル内のすべてのレコードを検索しません。その代わり、インデックスを検索し、その後要求に合うレコードだけを処理します。

インデックスは、データ ファイルの作成時、またはそれ以降いつでも作成できます。データ ファイルを作成するときは、トランザクショナル インターフェイスがインデックスの作成に使用するキーを 1 つまたは複数定義できます。

ファイルを作成した後に、外部インデックスを定義することもできます。外部インデックス ファイルは、指定するキーでソートされたレコードを含む標準データ ファイルです。各レコードは、以下の項目から成ります。

いつインデックスを作成するかに関係なく、ポジショニングの規則(どのレコードが現在のレコードで、どのレコードが次レコードかなどを管理するガイドライン)は同じです。

ファイルを作成すると同時にインデックスを作成する場合、トランザクショナル インターフェイスはレコードがファイルに挿入された年代順に重複キー値を格納します。既に存在するファイルのインデックスを作成する場合、トランザクショナル インターフェイスは、インデックス作成時の対応するレコードの物理順で重複キー値を格納します。トランザクショナル インターフェイスがインデックスに重複キー値を格納する方法は、キーがリンク重複か繰り返し重複かによっても異なります。詳細については、重複可能性を参照してください。


メモ

レコードの年代順は、レコードを更新してそのキー値を変更する場合、インデックスを削除して作成し直す場合、またはファイルを作成し直す場合に変化する可能性があります。したがって、ファイル内のレコードの順序がレコードの挿入された順序を常に反映するとは考えないでください。レコード挿入順序をトラッキングする場合は、AUTOINCREMENT キーを使用してください。


アプリケーションでインデックスが不要になれば、インデックスを削除できます。データ ページやその他のインデックス ページに対して、インデックスがファイル内で使用した領域が解放されます。(ただし、この空き領域はファイルに割り当てられたままになります。インデックスを削除した後に物理的なファイル サイズは減少しません。)

キーの定義に関する具体的な情報については、第 5「データベースの設計」を参照してください。

トランザクショナル インターフェイス環境

エンド ユーザーがトランザクショナル インターフェイス アプリケーションを実行する前に、エンド ユーザーのコンピューターでトランザクショナル データベース エンジンのバージョンを使用できるようにする必要があります。アプリケーションに不可欠なトランザクショナル インターフェイス ソフトウェア バージョンと環境設定に関する情報をエンド ユーザーに提供する必要があります。

設定に関する注記

エンド ユーザーは、トランザクショナル インターフェイス アプリケーションについて以下の情報を知っておく必要があります。この情報をトランザクショナル インターフェイス アプリケーションに添付するドキュメントに記載してください。

設定オプションの説明については、『Advanced Operations Guide』を参照してください。


トランザクショナル インターフェイスの基礎

ページ (トランザクショナル インターフェイス)