格納された項目属性は、データベース内の物理テーブルにフィールドとして属する項目属性です。
グローバル式として定義された項目属性は、格納された項目属性ではありません。
推論された項目属性も格納された項目属性ではありませんが、それは推論された項目属性の取得元のコンテキストに限られます。推論された項目属性は特定のテーブル内に格納され、そのテーブル以外ではコンテキストで推論されます。
次に示すトランザクションセットの例では、InvoiceId 項目属性、InvoiceDate 項目属性、および CustomerId 項目属性が、請求書トランザクションの最初のレベルに関連付けられた物理テーブル内にある、格納された項目属性の例です。
Invoice Customer Product
{ { {
InvoiceId* CustomerId* ProductId*
InvoiceDate CustomerName ProductName
CustomerId CustomerPhone ProductPrice
CustomerName } }
InvoiceTotal -> f(x): Sum(InvoiceDetailAmmount)
Detail
{
ProductId*
ProductName
ProductPrice
InvoiceDetailQuantity
InvoiceDetailAmount -> f(x): ProductPrice * InvoiceDetailAmount
}
}
一方、InvoiceTotal は格納された項目属性ではありません (仮想項目属性です)。同様に InvoiceDetailAmount 項目属性も、格納された項目属性ではありません。これら 2 つはグローバル式として定義されているためです。
CustomerName、ProductName、ProductPrice は、請求書トランザクション内では推論された項目属性です。つまり、これらは請求書トランザクションと関連付けられたベーステーブルには格納されません。これらの項目属性は別のテーブル内に格納され、請求書トランザクション内で推論されます。
|