« 汎用的データベース設計とは? | メイン | 画面設計とユーザビリティ »

「フラグ」と「区分」の違いについて

前回お約束したように、「フラグ」と「区分」の違いについてお話したいと思います。

最近、話がとみに細かくなってきています。

私個人を知っている方は、「こんなに細かい人じゃないはず、もっとアバウトなはずなのに」と思っていらっしゃると想像しています。

しかし、細かければ細かく決めておいたほうが良いことも多いのです。

仕事をすることを考えた場合に、「作業」といったものに仕事を分解してしまうと、確かに、面白味は欠けますが、生産性が各段と向上することに気づくはずです。

何をどのようにするか、つまり「WHAT」「HOW」といったものが明確であればあるほど、悩んだり考えたりする時間が減って生産性は高まるのです。

そこで、この「フラグ」と「区分」の話になるわけです。

あくまでも、私が個人的に決めているものなので汎用的かどうかは一切保障しません。すみません。

まず「フラグ」ですが、YESかNOか、要するにビットとして扱うものを、私はフラグとして分類しています。

次に「区分」は、1が「売上」、2が「返品」、3が「値引き」、4が「無償」といったように、数個(多くてもせいぜい10~15個くらい)の区分けをするものに使っています。

「では、都道府県は?」と言われれば、47もあるのですし、今後、合併や分解があるかもしれないので、こういったものはコードとして分類します。

そしてデータ型は、フラグはchar(1)、区分はintを使います。
(参照:SQL Serverの場合)

フラグも区分も共に、nullを許さない項目です。

デフォルトでフラグは'N' (NOの意味、0でも構いません)、区分は0です。

かつて、「フラグを'Y'と'N'にしているのは、いかがなものでしょう」とお叱りを受けたこともありますが、私の設計では、フラグはchar(1)で、'Y' と 'N'です。

名前は、「請求済フラグ」とか「未請求フラグ」とか、具体的に'Y'や'N'が何を意味しているかがはっきり分かるものを付けています。

しょうもない話かもしれませんが、細かいことでも決めておくと、生産性は確実に上がりますよ。

Vol.00164

トラックバック

このエントリーのトラックバックURL:
http://www.ilovex.co.jp/scripts/intra/mt/mt-tb.cgi/2714

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年10月15日 11:30に投稿されたエントリーのページです。

ひとつ前の投稿は「汎用的データベース設計とは?」です。

次の投稿は「画面設計とユーザビリティ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.38