SSブログ

システム設計の話 その9・テーブル設計 顧客マスタ [システム設計の話]

 顧客マスタの項目内容を考えて行きます。
 お客さんに関する情報を入れておくマスタテーブルです。「顧客マスタ」以外に「取引先マスタ」、「得意先マスタ」とか言う呼び方もあるかと思います。

 今回想定しているシステムでは、帳票に印刷するのに必要な、会社名や住所があれば充分なので、その最低限の情報にしておきます。

項目名 データ型 桁数
顧客CD 十進型 整数5桁
顧客会社名 テキスト 全角30文字
顧客会社名カナ テキスト 半角50文字
郵便番号 テキスト 半角10文字
住所1 テキスト 全角20文字
住所2 テキスト 全角20文字
住所3 テキスト 全角20文字
TEL テキスト 半角20文字
FAX テキスト 半角20文字
登録日 日付時刻型  
変更日 日付時刻型  
削除 十進型 整数1桁

 伝票に印刷する会社名や住所・電話番号がメインです。

 ACCESSのテキスト項目は、「フィールドサイズ」で指定した文字数分、全角半角の区別無く格納できます。なので、プログラムや設計で、全角のみ・半角のみとか制限しなくても、不具合は起こらないのですが、その他のデータベースだと違ってくることがあるので、混在させない方が無難と思われます。
 まぁACCESSのみで作るくらいの規模なら、ざっくりでいいかも。

 顧客会社名は、全角30文字。日経225企業の会社名で文字数を調べたら、最大23文字だったので、このくらいかなと。
 顧客会社名カナは、半角50文字。半角英数カタカナで入力するようにします。

 郵便番号は10文字とちょっと余裕を取ってます。3桁+ハイフン+4桁なので、8文字あれば足りるのですが。
 間のハイフンをデータとして格納するかどうか、ちょっと悩むのですが、印刷・表示する側でいちいちハイフンを入れる手間を考えると、最初っからハイフン込みで格納しておいた方が楽です。
 と、言うことで、郵便番号は、ハイフン込みで格納します。

 住所は1から3までの3行構成で、各20文字まで。ちょっと余裕とりすぎかも。
 こうしておけば、印刷されたときの見栄えを、入力の仕方で変えられるので。

 TEL・FAXは、半角20文字。ちょっと長いかも。ハイフンや括弧を入れることもあるので、半角ならなんでも入力可にしておきます。こう言う所は、入力内容がシステムの不具合に繋がらないので、ざっくりです。

 登録日と変更日は売上伝票と同じです。

 削除は、その顧客を現在使用してよいかどうかのフラグです。
 顧客との取引が無くなって、売上を入力しなくなるからと言って、いきなりその顧客のレコードを削除してしまうと、過去のデータを参照したときに、顧客名などが表示できない状態になってしまいます。
 なので、「削除」の操作は、フラグを立てるだけにして、レコードは残しておくようにします。
 入力画面等では、このフラグを見て、有効な顧客のみを選択出来るようにしておきます。
 こうしておくことで、マスタの無い過去データができずに済みます。

 実際にマスタレコードを消さないので、要らない情報がどんどん累積されるのでは、という心配もありますが、だいたいシステムは5年程度で見直しが入るので、その時にマスタの再整備も行われます。
 新規登録と削除の件数がものすごく多い場合を除いて、特に心配はないと思われます。

 どちらにせよ、データが残っている間は、マスタは消せない、っていうのがルールです。

 以上、顧客マスタでした。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。