最近のアクセス:
[Redundant] プロパティ - 項目属性

冗長項目属性を使用することで、必要になるたびに毎回計算するのではなく、データベーステーブルに値を格納しておくことができます。データ更新の性能は犠牲になりますが、データ検索の性能が向上します。

冗長項目属性の定義

グローバル式の項目属性および推論された項目属性は、トランザクションエディターの [ 冗長 ] の列を選択することにより冗長として定義できます。
イメージ:5964.jpg
[ 冗長 ] の列は既定では非表示となっています。 [ 表示列の選択 ] を使用してトランザクションエディターに含めることができます:
イメージ:5963.jpg                 
[ 表示列の選択 ] を開くには、トランザクションエディターで列のヘッダーの行を右クリックし、コンテキストメニューから [ 表示列の選択 ] を選択してから、 [ 冗長 ] オプションを選択します。
[ 冗長 ] の列がトランザクションエディターに表示されると、 [ 冗長 ] チェックボックスは冗長と定義できる項目属性についてのみ有効になります。

データベース作成/再編成

項目属性を冗長として定義すると、この項目属性は次回のデータベース再編成で対応するテーブルに追加され、値が取り込まれます。

冗長な値の最新状態の維持

データベースに変更が行われた場合、GeneXus は冗長項目属性を最新状態に維持します。

例と制約

一般的な式の定義は次のとおりです。解説については、下記を参照してください。
Customer
{
   CustomerID*
   CustomerTotal = sum(InvoiceTotal)
   CustomerLinesTotal = sum(InvoiceLineTotal)
}

Invoice
{
   InvoiceId*
   CustomerId
   InvoiceTotal = sum(InvoiceLineTotal)
   InvoiceLines
   {
      ItemID*
      ItemPrice
      InvoiceLineQty
      InvoiceLineTota = ItemPrice * InvoiceLineQty
   }
}
項目属性 初期値 更新された値 解説
InvoiceTotal Yes Yes  
CustomerTotal Yes Yes  
CustomerLinesTotal Yes No 複数レベルの非冗長式を集計する式は正しく維持されません。
ナビゲーションダイアグラムに警告メッセージが表示されます: spc0043: CustomerLinesTotal is not instantiated in grid ...

参考情報








サブページ
Created: 14/09/18 03:19 by Admin Last update: 21/05/20 06:20 by Admin
カテゴリ
Powered by GXwiki 3.0