派生属性、導出属性の実装方法

業務システムモデリング」では、「派生属性」と「導出属性」という高度なデータモデリングのテクニックが登場する。正規化を崩すことになるのであるが、これによってデータベースが単なるデータをホストする場所から、有益な情報も保持するデータベースとなる。たとえば、在庫テーブルに商品の現在在庫を持つことができる。現在在庫は棚卸日以降の受払明細データの受払数量のサマリーであるから計算が必要である。その現在在庫が常にテーブル上にあれば、取り出しやすいしプログラムのソースコードも単純になって都合が良い。

派生属性、導出属性の実装方法は次の方法があると考える。
  1. 計算列を使う

  2. 発注明細データの単価×数量のように1つのレコード内のフィールドで導出できる項目については、データベースの計算列の機能を使うのがよい。
  3. トリガーを使う

  4. リアルタイムに派生・導出属性に値を格納するケースではトリガーがベスト。
    たとえば、上記の現在在庫を計算するようなケースである。
  5. アプリケーションで実装する

  6. 日次売上や月次売上のサマリーなどリアルタイムでなくてもよいような派生・導出属性は、アプリケーションでバッチ的に計算し値を格納するのがよい。


トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/340

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.