講座集 / LECTURESシステム設計技術21

システム設計

ステータス管理とテーブル分割

業務システムの「状態」と「データ構造」を設計する

業務システムを動かす上で必ず必要になる「ステータス管理」と「テーブル分割」の基本。属人化しがちな業務状態を、どう列・テーブル・遷移として設計するかをパターンで学ぶ。

ステータス管理とテーブル分割

─ ARTICLE COVER

システム設計技術システム設計

§I ─ POSITION

この講座の立ち位置

Claude Code 研修や AI 業務システム開発の「自分でつくる」フェーズの直前に必須となる、設計の基礎教材。要件定義(Ph.6)の手前で行う設計判断の引き出しを増やす。

§II ─ TAKEAWAYS

習得できるスキル

  1. 01

    業務の「状態」をステータス列として表現できる

  2. 02

    1テーブルにすべき範囲と、別テーブルに切り出すべき範囲を判別できる

  3. 03

    状態遷移図と現場の運用ルールを揃えて設計できる

  4. 04

    後から追加される要件にも壊れにくいスキーマを書ける

§III ─ EXCERPT

本編から抜粋

01

なぜ「ステータス管理」が業務システムの肝なのか

業務システムでの不具合や追加開発の8割は、ステータス設計のミスから生まれる。「未対応 / 対応中 / 完了」のような単純な分類で済むケースは少なく、現場では「保留」「差戻し」「再依頼」など複数の差戻しパターンが並走する。最初に状態を正しく洗い出せるかどうかで、システムの寿命が決まる。

02

テーブル分割の原則

1つのテーブルに混ぜてはいけないものを切り出すことが、テーブル設計の本質。

  • 履歴 vs 最新値 — 変化を残すべきデータと、最新だけ持てばよいデータ
  • マスタ vs トランザクション — 滅多に変わらないデータと、毎日積み上がるデータ
  • 状態 vs 属性 — 時間と共に変わる「状態」と、原則変わらない「属性」
  • 1対1 vs 1対多 — 別テーブルに分けないと正規化が壊れる関係

03

状態遷移を「業務フロー」と揃える

システム設計者だけで状態遷移を決めると、現場の運用と食い違って炎上する。業務フロー上の「次に何が起きるか」を、状態遷移としてそのまま落とすのが鉄則。

業務フロー状態次に起こりうる遷移
発注依頼受領未着手受付 → 差戻し
内容確認確認中承認 → 差戻し → 保留
発注処理処理中完了 → エラー → 再処理
完了完了(終端)

04

壊れにくいスキーマの書き方

業務システムは、要件追加・運用変更で必ず後から手が入る。最初から「将来増える列」「将来増える状態」を想定した設計にしておくと、追加開発のコストが大きく下がる。

  • 状態列は文字列ではなく enum・コードマスタで管理
  • 「その他」「保留」など曖昧な状態は明示的に分岐させる
  • 削除フラグは active/inactive など意味の通る形に
  • 履歴テーブルは最初から分ける(後で分けるのは大変)
─── 続きはダウンロード版へ ───

§∞ ─ DOWNLOAD

続きの資料・演習・解答は
ダウンロード版へ。

─ EXERCISE

実在の業務(発注処理・問い合わせ管理)を題材に、ステータス洗い出し → 状態遷移図 → テーブル設計までを通しで体験する演習を含む。

解説スライド

本編全コマ

チートシート

現場で使う早見表

演習問題

解答・採点付き

応用編/テスト

実技+ルーブリック

INCLUDED PDFS ─ 6

株式会社IPLoT | 現場の業務 × AI で、意志を実装する。