« リソース数がビジネスの可能性に関係する理由 | トップページ | ITの地殻変動はどこで起きているのか?~チケット駆動開発が進むべき道 »

2011/01/01

連関エンティティと関連クラス

データモデリングの連関エンティティとUMLのクラス図の関連クラスの関係がようやく分かったのでメモ。
ラフなメモ書き。

【元ネタ】
「関連クラス」をデータモデルで解き明かす(前編): 設計者の発言

「関連クラス」をデータモデルで解き明かす(後編): 設計者の発言

@IT:オブジェクト指向の世界(13)

@IT:オブジェクト指向の世界 (4)

Oracleのデータ整合性

UMLによるオブジェクト指向モデリングでは、関連クラスが分かりにくい。
普通の多対多の関係とどう違うのかが分かりにくいからだ。

渡辺さんのBlogによれば、データモデリングで実装すれば一目瞭然。
OOAの関連クラスは、DOAの連関エンティティ(対照表)と同等。
つまり、連関エンティティの場合、複合キーを持つ。

OOAの普通の多対多の関係は、DOAでは外部キーで参照制約を持っているだけ。

二つの実装は、仕様の意味が異なる。
連関エンティティの場合、複合キーになるので、二つのエンティティの主キーの組合せが一意というのが重要な意味を持つ。
連関エンティティはイベントになる可能性があり、イベントであるからには何らかの日付を持つ。
つまり、連関エンティティは履歴系テーブル(トランザクション)になりやすい。

DOAの外部キーは、二つのエンティティにおいて、関連する業務が存在することを意味する。
普通は参照制約(reference)が存在するが、更新したり削除したりする時の業務ロジックを考慮しないと、変なデータが残ってしまう。
だから、更新や削除を制限するならno action制約、共に削除するならcascade制約などを追加する時もあるだろう。

データモデリングについては今後も少しずつまとめていく。

|

« リソース数がビジネスの可能性に関係する理由 | トップページ | ITの地殻変動はどこで起きているのか?~チケット駆動開発が進むべき道 »

モデリング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 連関エンティティと関連クラス:

« リソース数がビジネスの可能性に関係する理由 | トップページ | ITの地殻変動はどこで起きているのか?~チケット駆動開発が進むべき道 »