連関エンティティと関連クラス
データモデリングの連関エンティティとUMLのクラス図の関連クラスの関係がようやく分かったのでメモ。
ラフなメモ書き。
【元ネタ】
「関連クラス」をデータモデルで解き明かす(前編): 設計者の発言
「関連クラス」をデータモデルで解き明かす(後編): 設計者の発言
UMLによるオブジェクト指向モデリングでは、関連クラスが分かりにくい。
普通の多対多の関係とどう違うのかが分かりにくいからだ。
渡辺さんのBlogによれば、データモデリングで実装すれば一目瞭然。
OOAの関連クラスは、DOAの連関エンティティ(対照表)と同等。
つまり、連関エンティティの場合、複合キーを持つ。
OOAの普通の多対多の関係は、DOAでは外部キーで参照制約を持っているだけ。
二つの実装は、仕様の意味が異なる。
連関エンティティの場合、複合キーになるので、二つのエンティティの主キーの組合せが一意というのが重要な意味を持つ。
連関エンティティはイベントになる可能性があり、イベントであるからには何らかの日付を持つ。
つまり、連関エンティティは履歴系テーブル(トランザクション)になりやすい。
DOAの外部キーは、二つのエンティティにおいて、関連する業務が存在することを意味する。
普通は参照制約(reference)が存在するが、更新したり削除したりする時の業務ロジックを考慮しないと、変なデータが残ってしまう。
だから、更新や削除を制限するならno action制約、共に削除するならcascade制約などを追加する時もあるだろう。
データモデリングについては今後も少しずつまとめていく。
| 固定リンク
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
コメント