情報は一箇所にだけ置け
帳簿の再設計は、解体から始まった。
リッツと二人で、全ての帳簿を机に並べた。古い紙とインクの匂いが鼻をつく。
顧客台帳。仕入先台帳。納品記録。請求台帳。在庫管理簿。品質管理簿。取引日誌。経費帳。
八冊。
「リッツ。まず、全ての帳簿に書かれている項目を一覧にしてくれ」
「はい」
リッツは丁寧に、帳簿ごとの項目を紙に書き出していった。
俺はその横で、同じ作業をデータベースの中でやっている。
8つのテーブル。全てのカラムを展開する。
二時間後。リッツの一覧と、俺のデータベースの構造が並んだ。
「レイン様。『顧客名』という項目が、八冊のうち六冊に書かれています」
「六冊か」
「はい。顧客台帳、納品記録、請求台帳、品質管理簿、取引日誌、経費帳。全てに顧客名があります」
データベースでも同じだった。顧客名というカラムが、六つのテーブルに存在している。
「次に多いのが『品目名』です。五冊に。その次が『住所』で四冊」
リッツの一覧が育っていく。重複の全体像が見えてきた。
「整理するぞ。まず、『顧客の情報』はどこに置く」
「顧客台帳です」
「そうだ。顧客の名前、住所、担当者、肩書き。全部、顧客台帳にだけ書く。他の帳簿には書かない」
「しかし、納品記録にも顧客名が必要では」
「必要だ。だが、顧客名そのものを書くのではなく、顧客台帳の番号だけを書く。『顧客番号: GR-01』とだけ記入すれば、詳細は顧客台帳を見れば分かる」
リッツが目を瞬いた。
「なるほど……。番号だけなら、肩書きが変わっても納品記録は書き換えなくて済みますね」
「そういうことだ」
これを、八冊全てでやる。
◇
顧客の情報は顧客台帳にだけ。仕入先の情報は仕入先台帳にだけ。品目の情報は品目一覧にだけ。
他の帳簿は、番号で参照する。
単純な原則だ。だが、実行するには全ての帳簿を一から設計し直す必要がある。
リッツと俺は三日間、事務所にこもった。
一冊ずつ、帳簿を再設計していく。
納品記録。旧形式では、顧客名、住所、品目名、品質評価、数量、金額が全て一行に書かれていた。
新形式では、顧客番号、品目番号、数量、金額だけ。
「情報量が減りましたね」
「減ったんじゃない。分けたんだ。一つの場所に一つの事実。それ以外は番号で参照する」
リッツが新しい納品記録の形式を清書している。
俺はその横で、データベースの再設計を進めていた。
取引テーブルから、顧客名カラムを消す。代わりに顧客PKへの参照を入れる。在庫テーブルから、仕入先の品目カラムを消す。品目テーブルへの参照に置き換える。関係テーブルから、人物の肩書きカラムを消す。人物テーブルを見に行けばいい。
一つ消すたびに、テーブルが軽くなる。
一つ参照を入れるたびに、構造が明確になる。
三日目の午後。
帳簿の再設計が終わった。
八冊だった帳簿は、構造上は三つに分かれた。
「マスター帳簿」——顧客、仕入先、品目の基本情報。ここだけが真実。「取引帳簿」——日々の納品、請求、仕入れの記録。マスターの番号で参照。「分析帳簿」——集計結果と報告書。取引帳簿から集計して作る。
「レイン様。この設計なら、顧客の肩書きが変わっても、書き換えるのはマスター帳簿の一箇所だけです」
「そうだ。矛盾は起きない」
「47箇所の重複が、ゼロになります」
リッツの目が輝いている。経理として、この設計の美しさが分かるのだろう。
俺はデータベースに意識を向けた。
同じ作業を、三日かけてデータベースの中でも繰り返してきた。
テーブルを分割する。重複を消す。参照に置き換える。
一つの事実は一つのテーブルにだけ存在する。他のテーブルは、主キーで参照する。
分割して、参照して、整理する。分割して、参照して、整理する。
その反復が、臨界に達した。
全てが、あるべき場所に収まった。
◇
脳の奥で三つの扉が同時に開く感覚があった。今までのように一つずつではない。堰を切ったように、一度に三つ。
重複を検出し、最適な分割を導き出す力。正規化だ。参照先が変わったとき、関連する全てに自動で反映する力。参照整合性。そしてテーブル構造の全体像を一枚の図として俯瞰する力。スキーマ設計。
三つの機能が一斉に目覚めている。指先が痺れるほどの情報量が、脳を駆け巡る。
今までで最大だ。
俺はすぐに正規化を全テーブルに実行した。
データベースが組み変わっていく。
500以上あったカラムが、320に減る。重複が消えていく。
8つのテーブルが、12に増えた。
増えた?
違う。適切に「分割」されたのだ。
大きなテーブルが、役割ごとに分かれた。顧客の情報は顧客テーブルにだけ。品目の情報は品目テーブルにだけ。取引の記録は取引テーブルに。
テーブルの数は増えたが、一つ一つが小さく、明確になった。
そして参照整合性。
顧客テーブルでハルトの肩書きを「家令」に変えた瞬間、その変更がデータベース全体に反映される。
どのテーブルから見ても、ハルトは「家令」だ。矛盾がない。
「……これだ」
リッツが不思議そうにこちらを見ている。
「レイン様?」
「いや。帳簿の設計が上手くいって、つい」
「はい、いい設計になったと思います」
リッツは満足そうに新しい帳簿を整えている。
俺はスキーマ設計の機能を起動した。
データベースの全体像が、初めて一枚の図として見えた。
12のテーブルが、主キーと外部キーで繋がっている。一つの事実は一箇所にだけ。参照の線が、テーブルとテーブルを結んでいる。
美しい。
場当たり的に積み上げた十年分のデータが、構造を持った。
これは、帳簿の話ではない。
組織の話だ。
誰が何を管理し、どこに情報があり、何を参照すればいいか。
それが明確になれば、俺がいなくても商会は動く。
リッツは帳簿を管理する。エドは配達と市場を見る。セレナは営業と交渉。俺は——全体を見る。
「リッツ。新しい帳簿の運用は明日からだ。セレナとエドにも説明する」
「はい。マニュアルも作ります」
マニュアル。俺一人なら不要だったもの。
だが、組織には必要だ。
データベースの正規化は、商会の正規化でもある。




