名称マスタとか、カテゴリマスタって存在自体がいけてないと、今日電車の中で考えました。
ここでいってる名称マスタとかカテゴリマスタは、単にコードに対応する文字列を保持しているだけで、コードの種類とコード値とコードの文字列を持っているだけのテーブルです。
ホストのときは、画面のデータを処理してクライアントに送るのであってもいいかなと思います。そして、C/Sの場合はもプログラムの配布が面倒なのでそれもありかなと思います。リッチクライアントでは、DBに持つより、クライアントPGMに持ったほうが、デメリットがないような気がします。帳票にコードの文字列を出力するときに画面と帳票で項目をそろえたいとかって要件はある場合もあるだろうけど、帳票の項目サイズに依存して短縮した文字列でという場合もあるだろうし、あまりテーブルつくってまで持つメリットを感じません。デメリットは感じるんですが。数少ないコード値の名称変更のためにだにテーブルに持つというのは、デメリットの割りにメリットの少ないことだと感じます。逆に、名称が変更される可能性があることをプログラムが意識しなければならなくなって作りづらくなると思います。
ホストの時代から、C/Sの時代に移ったときに変わらなかったことなので、そのまま不変だというか、みんな気が付いていないような気がします。