浅間上昇AI Academy

SPECIAL CONTENTS / ADVANCED

AI時代のデータベース入門
発展編:塾の基幹システムで学ぶ、業務アプリの設計

題材は、管理者・先生・保護者が毎日使う「個別指導塾の基幹システム」。浅間上昇AIが業務アプリで実際に使っている設計の考え方を、分かりやすい架空のモデルに置き換えて解説します。

図や表は説明用のモデルで、実在のシステムの構造そのものではありません。データもすべて架空です。

01 全体の地図

まず、業務のまとまりで表を分ける

塾の運営を仕組みにすると、表はすぐに数十個になります。いきなり細かい表を考えず、まず業務のまとまり(領域)で分けると見通せます。色の付いた領域が、毎日の運営の中心です。

生徒・保護者

生徒台帳、契約コース、指導科目、教材、保護者との連絡

先生

講師台帳、担当する生徒、代講

コマ・時間割

毎週の授業枠、時限、授業形式、休講日、単発の授業

欠席・振替

欠席、振替の予定、振替の期限のルール

講習

講習の期間、生徒ごとの提案、提案に含まれる授業

授業記録

授業ごとの記録、テストや模試の結果

月謝

月ごとの集金、生徒ごとの請求、請求の明細、料金表

勤怠

先生の勤務実績、締め期間、訂正の記録

お知らせ

保護者・先生へのお知らせ、送信の記録

利用者・記録

利用者と役割、操作の記録、設定

実際の運用では、ここに見積・入塾、イベント・面談、通知など、業務の数だけ領域が増えていきます。領域で分けておけば、増えても迷いません。

02 中心になる表

「生徒・コマ・先生」を中心に置く

どの業務にも登場する表を「中心」に決めます。塾なら、誰が(生徒)、いつ・どこで(コマ)、誰に(先生)習うか、の3つです。

生徒

契約・科目・教材がぶら下がる

コマ

曜日・時限・先生・生徒をつなぐ授業枠

先生

担当の生徒・代講がぶら下がる

欠席 → 振替

どのコマを休み、どのコマで振り替えたか

講習の提案 → 講習の授業

生徒ごとの提案に、日付・時限・先生の授業が並ぶ

授業記録

どの授業で、誰が、何を学んだか

勤務実績

授業記録をもとに、先生の勤務を集計する

中心の表と、そこにつながる出来事の表(説明用のモデル)

1回の入力が、授業・勤怠・給与までつながる

先生が授業記録を1回入力すれば、勤務実績ができ、給与計算に使える。基礎編の「同じ情報を、2回書かない」を、業務全体で実現する設計です。浅間上昇AIでは、塾の勤務実績を開発中の給与労務アプリが読み取る形で、この考え方を検証しています。

03 状態の持ち方

業務の段階を、決められた選択肢で表す

塾の業務は、ほとんどが「段階を進むもの」です。段階を自由入力にせず、決められた選択肢だけを選べる型にすると、一覧・集計・抜け漏れのチェックが確実になります。

欠席の振替

  1. 未対応
  2. 依頼あり
  3. 確定
  4. 実施済み

振替をしない場合は「振替なし」で閉じる。欠席の理由が塾側か生徒側かも、あわせて持つと期限のルールを分けられる。

講習の提案

  1. 下書き
  2. 提案済み
  3. 確定

確定した講習の費用を、月謝に反映したかどうかも記録しておく。

月謝の集金

  1. 下書き
  2. 準備完了
  3. 出力済み
  4. 完了

引き落とし結果は生徒ごとに「成功・失敗」を持つと、再請求の対象がすぐ分かる。

先生の勤務実績

  1. 下書き
  2. 提出
  3. 承認
  4. 確定(ロック)

給与につながるものほど、段階を細かく分け、誰がいつ進めたかを残す。

04 履歴とロック

上書きせず、過去を残す

毎週の授業枠は、途中で先生や時間が変わります。行を上書きすると「先月は誰が担当していたか」が分からなくなるので、いつから有効かを持たせ、新しい行を追加します。

毎週の授業枠(説明用の架空データ)
🔑 枠番号同じ枠のまとめ番号曜日・時限先生いつからいつまで
A-101M-1月 17:00高原 先生2026-04-012026-08-31
A-102M-1月 17:00浅間 先生2026-09-01—

9月からの担当変更は、A-101を消さずにA-102を追加。8月までの授業記録は、A-101を指したまま正しく残ります。

ほかの「残し方」

  • 取り消した欠席

    残し方
    消す前の内容を、変更履歴として残す
  • 管理者が直した勤務実績

    残し方
    直す前と後・理由・直した人を記録する
  • 締めた期間

    残し方
    まとめて確定(ロック)し、外すときは理由を必須にする
  • 締めた後の修正

    残し方
    直された日時を残し、あとで気づけるようにする
  • 退塾した生徒・辞めた先生

    残し方
    消さずに「無効」にする。過去の記録との矛盾を防ぐ

05 お金の持ち方

月謝は「集金 → 請求 → 明細」の3段で持つ

  1. 月ごとの集金

    「10月分」のようなまとまり

  2. 生徒ごとの請求

    合計・公開状態・引き落とし結果

  3. 請求の明細

    月謝・教材・講習などの1行ずつ

  • 金額は整数の「円」

    理由
    小数の計算で1円ずれるのを防ぐ
  • 料金表の金額を、契約に写して持つ

    理由
    料金表を改定しても、すでに契約している生徒の金額が勝手に変わらない
  • 保護者に見せるのは「公開」にした請求だけ

    理由
    下書きの金額が見えてしまわない
  • 講習の費用を月謝に反映したか記録する

    理由
    二重請求・請求漏れを防ぐ

06 外部サービスとの連携

「こちらの1件」と「向こうの1件」を結ぶ

授業の予定をGoogleカレンダーなどに自動で反映するとき、いちばん大事なのは、どの予定がどの授業の分かを必ず対応づけることです。

  1. 授業が変わる

    振替・休講・担当変更

  2. 前回から変わった分だけ拾う

    定期的に自動で実行

  3. 対応する予定だけ更新

    授業ごとに結びつける番号を持つ

結ぶ番号がないと、同じ予定を二重に作ったり、別の授業の予定を消したりします。外部サービスとつなぐときは、対応表をデータベースに持つのが基本です。

07 運用しながら育てる

データベースは、使いながら育つ

データが増えたら、索引を足す

記録が積み上がると、遅くなる画面が出てきます。よく探す列(日付・つながり)に「索引」(本の索引と同じ、探す手がかり)を付けて速くします。

古い表は、確かめてから片付ける

機能を作り直すと、古い方式の表が残ります。使われていないことを確かめてから片付けるのが安全です。

表の形の変更は、記録をそろえる

どの変更がどの環境まで適用済みかの記録をそろえておかないと、次の変更で事故が起きます。

守りは、画面とデータベースの両方で

入力チェックは画面で、最後の砦はデータベースの制約で。二重予約のような大事なルールほど、両方で守るのが理想です。

08 用途で変わる設計

同じ浅間AIのアプリでも、データベースの作りは違う

  • 使う人

    塾の基幹システム(モデル)
    1つの塾の管理者・先生・保護者
    給与労務アプリ(開発中)
    複数の社労士事務所・企業
    資産管理法人向け運営台帳(開発中)
    資産管理会社を持つ個人投資家
  • 中心の表

    塾の基幹システム(モデル)
    生徒・コマ・先生
    給与労務アプリ(開発中)
    利用団体・会社・従業員・給与計算
    資産管理法人向け運営台帳(開発中)
    通帳の1行・借入・資産
  • 守りの重点

    塾の基幹システム(モデル)
    日々の運用のしやすさと履歴
    給与労務アプリ(開発中)
    利用団体ごとの分離、暗号化、確定した給与を書き換えない
    資産管理法人向け運営台帳(開発中)
    予定と実際を照合し、合わないものを人の確認に回す
  • 進め方

    塾の基幹システム(モデル)
    業務に合わせて表を育てる
    給与労務アプリ(開発中)
    安全の土台を先に固め、項目が固まってから専用の表へ
    資産管理法人向け運営台帳(開発中)
    設計書を先に書き、実際の決算で使いながら本番化

給与労務アプリの開発プロジェクトを見る →

運営台帳の開発事例を見る →

09 持ち帰れること

自社のデータベースを考えるときの7か条

  1. 01業務のまとまりで表を分け、中心になる表を決める
  2. 02業務の段階は、決められた選択肢の「状態」で持つ
  3. 03上書きせず、「いつから有効か」と変更の記録で過去を残す
  4. 04締めたものはロックし、外すときは理由を残す
  5. 05金額は整数の円。料金表の改定が過去の契約に響かない持ち方にする
  6. 06外部サービスとは、1件ずつを結ぶ番号で対応づける
  7. 07使いながら育てる。ただし表の形の変更は、記録をそろえて慎重に

自社のデータを、
どう持つべきか一緒に整理します。

Excelのままでよいのか、既存のサービスで十分か、小さな専用アプリにするべきか。業務の聞き取りから一緒に考えます。ご相談は無料です。