システム設計の話 その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年程度で見直しが入るので、その時にマスタの再整備も行われます。
新規登録と削除の件数がものすごく多い場合を除いて、特に心配はないと思われます。
どちらにせよ、データが残っている間は、マスタは消せない、っていうのがルールです。
以上、顧客マスタでした。
コメント 0