第7章
この章では、データベースページフローウィザードの使用方法について説明します。この章の節は次のとおりです。
exteNd Directorには、「データベースページフローウィザード」があり、データベースページフローを簡単に作成できます。 「データベースページフロー」で、データベース内のレコードの検索、表示、および変更ができます。
データベースページフローウィザードを使用すると、単一のデータベーステーブルにアクセスするフローを作成できます。また、多対1の関係(ルックアップ)または1対多の関係(マスタ/詳細)、あるいはその両方によって関係付けられた、他のテーブルに移動するフローも作成できます。
ウィザード使用後に、生成されたページフローをすぐに実行できます。 また、Pageflow Modelerを使用して、他のページフローと同様に、ページフローを変更できます。
データベースページフローウィザードにより、フォーム(XFormsテクノロジを採用しているXHTMLページ)のセットだけでなく、ページフロープロセスも生成されます。このプロセスにより、フォームが1つに融合され、シンプルなデータベースアプリケーションになります。 このアプリケーションは、データベーステーブルにアクセスするための、便利で使いやすいインタフェースになります。
単一テーブルにアクセスするフロー 次の例は、単一テーブルにアクセスする場合に使用される、典型的なデータベースページフローを示しています。
マスタ/詳細データベースフロー データベースページフローを作成する際、どのテーブルがプライマリテーブルになるのかを指定します。 プライマリになるテーブルをウィザードが知っている場合は、選択されたさまざまなテーブル間の関係を検査して、クエリ内にレベルがいくつあるのかを判断できます。 ルックアップ(多対1の関係)が、クエリ内の単一レベルとして扱われるのに対して、マスタ/詳細(1対多の関係)は、2つのレベルとして扱われます。
マスタ/詳細の関係を持つテーブルからのデータを結合するデータベースページフローを作成すると、ウィザードにより、複数のページフロープロセスが生成されます。これは、クエリ内の各レベルに応じたプロセスです。
プライマリテーブルのデータにアクセスするフローを、親フローといいます。 親フローには、子フローを参照するページフローアクティビティ(詳細表示)があります。 子フローは、詳細テーブルにあるデータにアクセスします。 ユーザが[表示]リンクをクリックすると、親フローはそのページフローアクティビティに影響を及ぼし、制御を子フローに渡します。 ユーザが[戻る]リンクをクリックすると、子フローはその終了アクティビティに影響を及ぼし、制御を親フローに戻します。
次に、親フローの例を示します。
次に、詳細表示アクティビティから参照される、子フローの例を示します。
データベースページフローを作成すると、次のフォーム(XHTMLファイル)が生成されます。
データベースページフローウィザードにより生成されるどのページフロープロセスにも、データベースへのアクセスに必要な情報をすべて提供するデータセットオブジェクトがあります。
データセットの詳細については、データセットの操作を参照してください。
データベースページフローウィザードにより生成されるどのページフロープロセスにも、作成された各フォームに対するフォームアクティビティがあります。 さらに、フローには次のデータベースアクティビティがあります。
変更ログの使用を指定すると、変更ログの適用アクティビティもフローに組み込まれます。
アクティビティ |
説明 |
---|---|
変更のログ適用アクティビティ |
変更内容をすべて、レコードのキャッシュからデータベースに適用します。 変更ログの適用アクティビティの詳細については、変更ログの適用アクティビティを参照してください。 |
ページフローには、次の追加的なアクティビティもあります。
接続対象データベースのプロファイルが ない場合は、[新規]ボタンをクリックして、作成します。
[新規データベースプロファイルの作成]ダイアログボックスで、次のように設定を指定します。
[テスト]をクリックして、JDBC URLで指定されているデータベースとの接続をチェックします。
このテストでは、データベースとのJDBC接続が行われます。接続が使用できない場合、または設定が正しく指定されていない場合、このテストは失敗します。
または、[データベースプロファイル]ダイアログボックスでデータベースユーザ名およびパスワードを入力し、[OK]をクリックします。
[データベースカラム]ダイアログボックスで、データベースページフローに使用する カラムを選択して、[OK]をクリックします。
プライマリテーブルに直接関係付けられたテーブルは、プライマリテーブルで定義されたカラムと一緒に、選択肢として[データベースカラム]ボックスにリストされます。
関係付けられたテーブルのカラムを選択するには、まず[データベースカラム]ボックスでテーブルを開き、次にカラムを選択します。
生成されるファイルの ベース名を指定します。 ベース名は、選択したデータベーステーブルごとに個別に指定する必要があります。
ウィザード実行後に、ページフローを変更するには、ページフローモデラーを使用します。 また、フォームデザイナを使用して、生成されたフォームを変更することもできます。
生成されたデータベースページフローを編集するにあたって、忘れてはならない点は次のとおりです。
データベースページフローでのカラムの追加、削除の場合、カラムに対応するフィールドをフォーム上で手動で追加、削除する必要があります。 データベースカラムの追加、削除の場合、データセットのプロパティシートを変更する必要があります。 いったん変更したら、通常は各フォームで、カラムを設計時のインスタンスデータに追加するだけでなく、フォームに入力または出力のコントロールを追加する必要があります。
データセットのプロパティシートを変更することの詳細については、データセットの操作を参照してください。 フォームに関連付けられたインスタンスデータまたはコントロールを変更することの詳細については、を参照してください。
データベースフローを手動で変更したくない場合は、再度データベースページフローウィザードを実行できます。 ウィザードを実行すると、古いフローとフォームを上書きするか、または新規に作成するかのいずれかを実行できます。
データセットにより、ページフローがデータベースに接続して、データの行とカラムにアクセスするために必要な情報が、すべて提供されます。 データセットを使用すると、さまざまなデータベース設定を変更できます。 多くの場合、初めてデータベースページフローウィザードを実行したときに指定した設定しか変更できません。 ただし、ウィザードでは利用できない、高度な設定を変更できる場合もあります。
各データセットには、次のデータベースアクティビティから参照される固有な名前があります。
データセットでは、データベースへのアクセスに必要な情報をすべてカプセル化するので、これらのアクティビティはその情報を指定する必要がありません。 むしろ、データセットオブジェクトをポイントするだけで十分です。
データセットのプロパティは、次のとおりです。
[プロパティインスペクタ]タブ |
プロパティ名 |
説明 |
---|---|---|
アクティビティ |
名前 |
アクティビティの名前を指定します。 |
説明 |
アクティビティの内容を説明します。 |
|
データセット |
詳細設定 |
平行性設定とキャッシング設定、およびデータベースアクセスを制御する他の詳細事項を設定できます。 詳細については、詳細設定を参照してください。 |
変更ログの有効化 |
このフローに対して変更ログが有効になるかどうかを示します。 この設定を変更しても、フロー内のアクティビティとリンクが追加されたり削除されることはありません。また、フローに関連付けられたフォームが変更されることもありません。 したがって、フォームに、変更ログの適用アクティビティまたは変更の適用リンクを追加、削除する場合は、手動で変更する必要があります。 |
|
JNDIデータソース |
データソースを示します。 有効なデータソースのタイプは、次のとおりです。 |
|
カラム |
ページフローに対するカラムの追加と削除、およびカラムのプロパティ変更ができます。 |
|
行の制限 |
取得する最大行数を指定します。 |
|
1ページの行数 |
結果表示フォームの1ページに表示される行数を指定します。 |
|
ソート順序 |
結果セットでの行のソート順序を指定できます。 詳細については、ソート順序を参照してください。 |
[詳細設定]ダイアログボックスでは、データベースページフローウィザードで利用できない設定を指定できます。
[平行性]タブで、平行性制御をチェックするカラムを選択します。
選択されたカラムは、データベースレコードが、初めて取得されて以降変更されていないことを確認するために使用されます。 変更されている場合は、レコードを変更しようとしても失敗します。
[キャッシング]タブで、次のように、キャッシュ方法を指定できます。
データベースページフローに使用するキャッシュ方法は、フロー実行時のパフォーマンスに直接影響を及ぼします。 どの方法を選択するのかは、お使いのアプリケーション要件により異なります。 メモリの利用率に最も関心がある場合は、[方法1]を選択します。データベースアクセス操作を最小限に抑えることに最も関心がある場合は、[方法3]を選択します。バランスの取れた手法を希望するなら、[方法2]を選択します。
[SQLの詳細]タブでは、実行時にページフローがデータベースにアクセスする方法をさらに制御したい方向けに、さらに高度な設定が用意されています。 デフォルトのSQLハンドラクラスを無効にしたり、識別子をSQLステートメント中で引用符で囲むかどうかを指定することもできます。
[ソート順序]ダイアログボックスで、結果セットでの行のソート順序を指定できます。 データベースページフローでは、4レベルまでのソートができます。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...