Fab Forward Dev/

ナレッジベース

製造業の一般知識

マスタデータ設計 / Master Data Design Patterns

製造業の基幹システムに必要なマスタデータの構造・関係・設計パターン。

DDD 対応: ddd/01-ubiquitous-language.md §3 (マスタデータ), ddd/05-business-rules.md


1. マスタデータの全体像


2. 各マスタの設計

2.1 品番マスタ (Product Master / M_HINBAN)

製造業の最重要マスタ。「何を作るか/買うか」を定義する。

フィールド英語説明設計ポイント
品番Product Number製品/部品の一意識別子体系を持たせる (例: A-xxxx=製品, B-xxxx=部品)
品名Product Name名称検索用にカナも保持
型式Model Number型番・規格顧客図番との対応が必要
材質Material素材原価計算に影響
寸法Dimensionsサイズテキスト (自由記述)
重量Weight重量運送費計算に使用
調達区分Procurement Type内製 / 外注 / 購入MRP 展開時の手配先判断
単位Unit of Measure個, kg, m, 式発注・在庫管理の基本単位
リードタイムLead Time調達/製造にかかる日数MRP のリードタイム・オフセットに使用

設計原則:

  • 品番は 変更不可 (一度採番したら欠番にしても再利用しない)
  • 品番体系は短くシンプルに (長い品番は入力ミスの温床)
  • 調達区分は品番レベルで持つ (同じ部品でも内製/外注を切り替える場合はあるが、デフォルトを設定)

2.2 部品表 (BOM / M_PARTS)

「親品目を作るのに何がいくつ必要か」を定義する。MRP の核心データ。

構造

BOM Header (M_PARTS_HED)
├── 親品番
├── 版数 (設変管理)
└── BOM Lines[] (M_PARTS_BDY)
    ├── 子品番
    ├── 員数 (使用量)
    ├── 単位
    └── 工程番号
フィールド説明設計ポイント
親品番組立品の品番BOM Header のキー
子品番構成部品の品番品番マスタに存在必須
員数親 1 個に対する子の使用量小数可 (0.5m 等)
版数設計変更の版管理有効期間で切り替え
スクラップ率歩留まり (不良率)MRP で余分に手配する分

BOM の種類:

種類英語用途
設計 BOMEngineering BOM (E-BOM)設計部門が定義。図面ベース
製造 BOMManufacturing BOM (M-BOM)製造部門が使用。工程順序を含む
原価 BOMCosting BOM原価積算用。単価情報を付加

中小製造業では E-BOM と M-BOM を 兼用 することが多い。

2.3 得意先マスタ (Customer Master / M_TOKUISAKI)

フィールド説明設計ポイント
得意先コード一意識別子営業 CRM の customer_code と同期
得意先名正式社名
略称帳票・画面用の短縮名
締日請求締め日 (月末/15日/20日)売掛計算のタイミングを決定
請求残高未回収の請求額与信管理に使用
納入先物理的な納品先住所本社と工場が異なる場合
支払条件翌月末/翌々月末/手形入金予測に使用

与信管理: 請求残高 > 与信限度額 の場合、受注時に警告を表示。

2.4 仕入先マスタ (Supplier Master / M_SIIRESAKI)

フィールド説明設計ポイント
仕入先コード一意識別子
社内外区分社内協力/外部仕入先グループ内取引の区別
購入先対象材料購入の対象か
外注先対象加工外注の対象か
支払日月次支払日買掛締めのタイミング
支払条件翌月末/翌々月末
リードタイム標準納入日数MRP で使用

2.5 社員マスタ (Employee Master / M_SHAIN)

フィールド説明設計ポイント
社員コード一意識別子ログイン ID としても使用
権限コードアクセス権限レベル画面・操作の制御
チャージレート時間あたり単価 (円/h)労務費計算: 作業時間 × CHARGE
所属部署部署コード製作指示の割当先

チャージレート: 社員の給与を直接使わず、部署/職級ごとの標準レートを設定するのが一般的。

2.6 区分マスタ (Classification / M_KUBUN)

ユニバーサル列挙テーブル。システム全体のコード値を一元管理。

区分用途例
手配区分外注/購入
指示区分製作/修理/試作
支払区分振込/手形/相殺
費目区分材料費/外注費/経費
単位区分個/kg/m/式
作業区分旋盤/溶接/組立/...

設計: (KUBUN, CODE) の複合キーで管理。NAME が表示名。


3. マスタデータ間の関係

得意先 ──→ 受注 ──→ 手配 ──→ 仕入先
                  ↓
                品番 ──→ BOM ──→ 品番 (子部品)
                  ↓
                単価
                  ↓
                区分 (手配区分, 費目, 単位...)

リレーションシップのルール:

  • マスタ → トランザクション: 参照 (変更してもトランザクションは影響なし)
  • トランザクション作成時にマスタの値をコピー (非正規化) するか、常に JOIN するか → 中小は非正規化が現実的 (マスタ変更の遡及を避ける)

4. マスタ管理のベストプラクティス

採番ルール

マスタ採番方式
品番体系あり (意味のあるコード)A-0001 (製品), B-0001 (部品)
得意先コード連番1001, 1002, ...
仕入先コード連番2001, 2002, ...
社員コード連番 or 入社年+連番2024001
区分コード意味のあるコード01=外注, 02=購入

データ品質ルール

  • 削除禁止: マスタは論理削除 (DEL_FLG) のみ。物理削除はしない
  • 変更履歴: 単価など金額に関わるフィールドは変更履歴を保持
  • 重複防止: 得意先名のカナ検索で類似チェック
  • 定期棚卸: 年 1 回、使われていないマスタの棚卸