「楽々ERDレッスン (CodeZine BOOKS)」を読み直す

設計がひと段落ついたので、再度読み直してみて思ったことを書いてみる。

区分について

今回のプロジェクトを通して区分にするかテーブル化するか悩むことが多かったのだが、はぶ先生的にはどっちもエンティティじゃんということでまったく重要視されてない(むしろ、区分にするかサブセットにするかが要点となっている)。traditionalな方法だと処理の分岐に使うような場合には区分化してコード値をプログラム中に埋め込むことが多いと思うけど、そういう場合には区分値ひとつひとつをサブセット化してエンティティ名をプログラムに埋め込むことで対応できると考えているのだろう。

ただサブセットにするにしても、ERDレッスン的にはサブセット=新規テーブルのイメージのようだけれど、複数フラグ用のカラムを持つという方法もあるなぁとも思ったり。

データの洗い替え問題について

いわゆるイベント系エンティティへのマスタデータ埋め込みに対する回答は書かれているが、前期データを今期の分類で見たいという要望であったり、閲覧権限が組織に紐付いている場合のイベントデータ洗い替えに対する回答は書かれていない。いや、もしかすると単にがんがれという結論なのかも……。

プロジェクト内の某メンバ曰く、前のシステムでは組織権限のマッピング用エンティティを用意したとのこと。確かに計画系データの比較はそれがよいかも。ただ、後者の閲覧権限の件に関して言えば、そもそもデータを組織という変化の激しい情報で権限管理するなという気もする。

うーむ、書いてみて気づいたが、どちらも前に書いた話題だなぁ。まだ、自分の中で確固とした回答が出せていないということなのだろうな。