Xupper技術サポート部のページ

弊社開発手法やXupper(クロスアッパー)の活用法等について、ご説明させていただきます。

まずは、基本的なモデルの説明(モデルの汎用化①)

2005年09月13日 | データモデルパターン

ここまで、各種のデータモデルのパターンについて述べてきました。

では、実際に拡張性のある(汎用的な)モデルを作成するためには、どのような手順を踏んでいけばいいのでしょうか?

ここでは汎用的なモデルの作成過程を、ある例を用いて解説していきます。

今回は、もっとも一般的だと考えられる“受注”を例にして解説していきます。

一般的な受注関連のエンティティ関連図としては、以下のようなモデルが想定されます。
受注エンティティで、「いつ」、「誰」から受注したのか、「どこ」に納入するのかといった情報を管理し、受注明細エンティティでは、「何」を、「いくつ」、「いくら」で受注したのかといった情報を管理します。


【図1】受注の基本モデル

(1) 受注番号と得意先注文番号
「受注番号」は、受注取引が発生したタイミングでシステムが自動採番し、“受注”エンティティのキーとなります。それに対して「得意先注文番号」は、受注先(得意先)で管理している注文番号で、得意先からの問い合わせはこの「得意先注文番号」で問い合わせが行われることになります。

(2) 入力担当社員コード
ここでは、受注入力の担当社員を管理するために、“受注”と“社員”との間にリレーションを定義しています。

(3) 納期年月日
受注先への納入期限(納入希望日)のことを納期年月日としています。この納入年月日を起点にリードタイムを計算し、出荷予定日を計算することになります。

(4) 受注備考
受注に対する注意事項や取引条件等を管理するための項目です。

(5) 得意先コードとフリー得意先名
受注先の「得意先コード」。「フリー得意先名」という項目は、「得意先名」は「得意先コード」で得意先マスタを参照すれば取得できるので、本来不要な項目ですが、その時点でマスタ登録されていない場合や、マスタの変更が正常に行われていないという場合に、“受注”エンティティに直接持たせるようにする(画面から直接入力する)ための項目です。

(6) 納入先コードとフリー納入先名
納入先のコード。「フリー納入先名」という項目は、「納入先名」は「納入先コード」で納入先マスタを参照すれば取得できるので、本来は不要な項目ですが、その時点でマスタ登録されていない場合や、マスタの変更が正常に行われていないという場合に、“受注”エンティティに直接持たせるようにする(画面から直接入力する)ための項目です。

(7) 受注金額
受注金額は、受注商品の金額(受注商品の金額=受注数量×受注単価)+消費税で計算します。
消費税の場合は、内税と外税で計算式が異なります。

内税:消費税=受注金額×消費税率÷100
外税:消費税=受注金額×消費税率÷(100+消費税率)

また、消費税区分は“商品”エンティティの属性として持っているものとします。(基本的には、商品ごとに決まっているもので、取引単位に変更するものではない。)

(8) 値引き
値引きについては、商品単位(受注明細単位)に値引きする場合と、取引全体(受注単位)で値引きを行う場合が考えられます。
ここでは、商品単位に値引きを行う場合、「受注単価」自身を変更することにより対応可能するものとします。
取引全体(受注単位)での「値引き」を実現するために、“受注”エンティティに「受注値引金額」を持っています。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 画面・帳票・GUIフォーム上の... | トップ | 取引先を汎化すると・・・(... »
最新の画像もっと見る

コメントを投稿

データモデルパターン」カテゴリの最新記事