|
このレッスンでは、テーブル定義のインデックス設定と一致しないインデックス設定を持つ Btrieve ファイルがあります。
このレッスンの目的は、DDF Builder でファイルを開き、DDF Builder によってこの定義になんらかの変更が行われるかどうかを確認することです。DDF Builder が実施する変更を調べ、インデックスの不一致を修正するために必要な変更について検討します。
ヒント
DDF Builder はインデックスの不一致を修正するための解決法を提示し、それらの変更を保存できるようにします。
このレッスンでは、INDEX_INC.MKD というファイルを使用します。このファイルは Tutorial2 フォルダー内にあります。デフォルトのインストール先にインストールしている場合、このフォルダーは次の場所にあります。
このフォルダーは Tutorial2 データベースの一部です。
メモ
このチュートリアルのデータにアクセスするためには、このデータベースを指し示す DSN(データ ソース名)が必要です。まだ DSN を作成していない場合は、データ ソース名(DSN)の作成を参照してください。
すぐ前のレッスンから引き続き作業していれば DDF Builder は起動しているはずです。終了していた場合は、DDF Builder を起動してください。
テーブル定義エディターでは、次のメッセージが表示されます。
このメッセージは、DDF Builder で既存のテーブル定義を分析したら、その定義に問題があったということを知らせています。この結果、DDF Builder で既存のテーブル定義を開いて表示するために、いくつか修正を行う必要がありました。
ヒント
発生する可能性がある定義エラーの詳細については、テーブル定義エラーを参照してください。
まずは DDF Builder インターフェイスで検出された不一致を確認します。これは、グリッド データ ビューと元の定義を比較すればすぐにわかります。
このレッスンの場合、DDF Builder は注目すべき列について視覚的なインジケーターを何も示しません。フィールドが変更されていることを示す不明な列インジケーターはありません。
大変興味深いことに、これらの 2 つのテーブル定義を比較しても違いが見つかりません。DDF Builder では変更を行っていますが、DDF Builder が修正した問題はインデックスに関するものなので、テーブル定義上に表れません。
インデックス情報についてより詳しく見る前に、定義エラー ビューに挙げられている問題を調査しましょう。定義エラー ビューでは DDF Builder によって検出および変更された問題を表示します。
メモ
DDF Builder が行った変更は自動的に保存されません。DDF Builder による修正は保存する必要があります。
定義エラー ビューでは以下のことを通知します。
ヒント
DDF Builder では Btrieve ファイルを変更できません。変更は Btrieve ファイルではなくテーブル定義に対して行われます。
定義エラーでは次の 2 つの問題を挙げています。
1 番目のエラーは、Btrieve ファイルに存在しないインデックスが既存のテーブル定義に含まれていることを示します。DDF Builder はテーブル定義を変更するだけで Btrieve ファイル自体を変更することはできないため、このインデックスは無視されます。これは、存在しないインデックスを使用しないようにするためにも知っておくことが重要です。
2 番目のエラーはこの逆の状況です。 既存のテーブル定義に、Btrieve ファイルで定義されているインデックスがありません。 DDF Builder は Btrieve ファイルのインデックスを表すために、これまで定義されていなかった SQL インデックスを追加します。
DDF Builder が作成したインデックスに名前を割り当て、そのテーブル定義のインデックスに対する変更を受け入れます。
メモ
DDF Builder によって作成されたインデックスがあり、それがもう必要でない場合は、ファイルおよびテーブル定義からそのインデックスを削除することができます。同様に、DDF Builder がテーブル定義を変更したときに、これまで定義されていなかったインデックスを追加する必要があることに気付くことができます。どちらの場合でも、『Pervasive PSQL Programmer's Guide』でインデックスの追加と削除に関する説明を参照してください。
メモ
Btrieve ファイルに定義されたインデックスを見るには、[統計情報]タブをクリックします。
DDF Builder によってテーブル定義に追加されたインデックスを検証したので、この作業を保存して変更を有効にしてください。作業を保存する前に、もう一度テーブル定義を見直してください。
Btrieve 型はすべて定義され、不明なフィールドも無く、またすべてのバイトが明確に割り当てられています。これでテーブル定義を保存できます。
おめでとうございます。これでテーブル定義の保存が成功しました。このレッスンでは、DDF Builder が認識したインデックスの不一致についてご紹介しました。また、DDF Builder が行った変更と更新されたテーブル定義の保存方法についても説明しました。
|