« フレームワークとドメイン特化基盤 | トップページ | 「論理削除」ではなく「無効化」を »

2016.03.21

拡大・縮小する前に美しいER図を

 いまさらという感じだが、業務システム開発用のOSSエンジニアリングツールX-TEA Modelerで、ER図を拡大・縮小できるようにした。モデル全体を俯瞰したいときには縮小して、一部を注目したい場合やプロジェクタ表示する場合には拡大すると効果的だ。

 データモデル上にマウスポインタを置いた状態で、Ctrlを押しながらマウスホイールを動かせば大きさが変わる(コンテキストメニューの「表示設定」でも変更できる)。単なる画像としての拡大縮小ではなく、縮小するとエンティティ上の表示情報が削減されるようになっている(次図)。

▼ER図の縮尺を変更する
20160321a

 縮尺は50%、100%、150%の3段階固定ではあるが、実用上はこれで十分である。どうしても150%より大きく、または50%より小さくしたい場合には、画像出力して拡大縮小すればよい。ベクター形式(SVG)であれば、どんなに拡大してもギザギザにならないので便利だ(次図)。

▼ベクター形式だと拡大してもギザギザにならない
20160321b

 今まで拡大縮小機能を提供していなかったのは、1枚の図面上に置くテーブルの数を増やしすぎないことが、ER図作成の基本だからだ。じっさい、膨大な数のテーブルを大規模集積回路のように並べたら「迫力」はあるかもしれないが、縮小しようが色分けしようが第三者にとってわかりにくいことこのうえない。いっぽう、適切な数(せいぜい数十個以内)のテーブルを配置すれば、わかりやすいし、拡大縮小する必要もほとんどないのである。

 ER図に限らず、図面を意味的にも視覚的にも端正にまとめることは、エンジニアのごく基本的な責務である。それは、他人様(ひとさま)が不快に感じないように身だしなみに注意することと同レベルの話だ。拡大縮小する前に、まずは美しく端的なER図を描けたかどうかを自問しよう。

|

« フレームワークとドメイン特化基盤 | トップページ | 「論理削除」ではなく「無効化」を »

コメント

本題とはまったく関係ないので申し訳ないのですが、疑問に思っているので質問させていただきます。単品№に前ゼロが付いているのは何故でしょうか?単品№はデータ型が文字列で、前ゼロを付加しているのでしょうか?それとも、数値型だけど表示上、前ゼロをつけて表記されているだけなのでしょうか?
私は数値しか扱わないような項目に対して、文字列で前ゼロを付加しているシステムを見ると(よく見かけるので・・)、桁数が足りなくなった場合にどうするんだろうと良く思っています。

投稿: MOMO | 2020.10.26 21:23

MOMOさん

お察しのとおり、前ゼロ付なのは文字属性項目であることを強調するためです。実務では'M000001'のように1文字目に英文字を置くのが好きです。値を見るだけで何の項目かがわかるからです。桁毎の意味を決めずに自動採番すれば、桁数が足りなくなることもありませんね。

投稿: わたなべ | 2020.10.27 07:25

いつも丁寧な返信ありがとうございます。
私の場合は、
(1)同じ桁数の場合、文字列型は数値型の約2倍の容量を必要とする。 ※Oracleの場合
(2)桁数を意識するプログラムを作成してしまう。
の2つの理由で特に文字列の要求がないコード、№ 系の項目については数値型にしていました。
確かに文字列で特に先頭文字にアルファベットを
設定すると視認性は良くなりますね。
みなさんはどのようにされているのでしょうか?
小数点以下の計算区分などは、
R:四捨五入 D:切り下げ U:切り上げ のように視認性の良い値を設定しています。

投稿: MOMO | 2020.10.27 23:24

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 拡大・縮小する前に美しいER図を:

« フレームワークとドメイン特化基盤 | トップページ | 「論理削除」ではなく「無効化」を »