今回はリレーションシップグラフの書き方について一考
あいつは、RDBMS使ってた人から見ると結構誤解しやすいものらしくて、
単純なER図を書く要領で定義しようとして詰まるってのを聞いたことある。
だから自分がそういう人に説明するときはViewTableの定義みたいなもんだとか
select * from Table_A as tA inner join Table_B as tB on tA.x = tB.x みたいな定義を
GUI化したものとか説明している。
それでも「?」って感じになることは多いんだけど、両方触った人間からすると
これがしっくり来るかなーと。MySQLとかガッツリやってる人間とかから
聞いたりした訳ではないので別の説明方法はあるかもしれんけど。
さて、リレーションシップグラフ。個人的にはFileMakerがレイアウトと
テーブルが結びついている関係でそのレイアウト毎にメインとなるテーブルを決め
そのレイアウトで行う仕事毎にリレーションシップのグループを作るのが
好み。イメージとしては業務のドメインで区切る、トランザクションで区切る
みたいな。
何度も同じ組み合わせを作らなくちゃいけなくなるけど、そのグループ特有の
リレーション定義とか出来るし、命名規則でプリフィックスつけるようにしておけば
日本語入力モードでプリフィックス部分入力→そのリレーションシップに飛ぶ、
目的のテーブルじゃなかった場合→Ctrl+gで同じプリフィックスの別テーブルに
カーソルが移動するので便利。
あらゆるドメインを一緒にしてしまうデメリットは、大きくなってくると同じよう
な意味のリレーション定義が出てきたりする。特にリリース後の改修時に必要な
リレーション定義があるのかないのか、既に作られている定義を変更しても良いの
か悪いのかわかりづらくなる=管理しづらくなる。
まぁ、きちんと調査したわけではないので、複数のドメインに跨ったリレーション
シップを作成した場合、関連レコードみなされる、その時には必要のないレコード
までも読み込まれてしまうかどうかは知りません。
ただ、業務ドメインを意識しやすくする事や必要最小限のリレーションシップ
グループにして管理やカスタマイズを用意にするという意味で非常に有用だと
考えています。
0 件のコメント:
コメントを投稿