帳簿に47箇所の矛盾がある
人を雇った。
リッツという名の男。二十代半ば。元は中規模商会の経理だったが、商会が潰れて職を探していたらしい。
セレナが見つけてきた。
「計算ができて、口が堅くて、野心がない。条件通りよ」
「野心がない、をどう確認した」
「面接で聞いたわ。『五年後にどうなりたいですか』って。『安定した職場で働きたいです』って答えた人間に野心はないわ」
合理的だ。それに、セレナの鑑定を通っているなら、言葉の重みに嘘はないだろう。
リッツは初日から帳簿に向かった。真面目な男だ。数字に細かく、字が綺麗で、指示を忠実に守る。
だが、三日目に問題が発覚する。
「レイン様。帳簿に矛盾があります」
「矛盾?」
リッツが二つの帳簿を並べた。
「こちらの顧客台帳では、グレイス子爵家の担当者は『執事ハルト』となっています。ですがこちらの納品記録では、同じ日の受取人が『家令ハルト』です」
「同一人物だ。執事から家令に昇進した」
「はい。ですが、帳簿によって肩書きが違います。どちらが正しいのですか」
「家令が最新だ。顧客台帳を書き換えてくれ」
「承知しました。ただ——」
リッツが別の帳簿を開いた。
「仕入先台帳のマルコ商店の欄にも『取引先: グレイス子爵家(執事ハルト経由)』と書いてあります。こちらも変更しますか」
俺は口を開きかけて、止まった。
同じ情報が、三箇所に書いてある。
顧客台帳にハルトの肩書き。納品記録にハルトの肩書き。仕入先台帳にもハルトの肩書き。一箇所を直しても、他の二箇所が古いまま残る。
「全部直してくれ」
「全部、ですか。他にも同じような重複がないか、確認した方がよろしいでしょうか」
「頼む」
リッツが帳簿の山に向かった。
夕方、結果が出た。
「レイン様。同じ情報が複数の帳簿に重複して記載されている箇所が、47箇所ありました」
47。
「うち、内容が矛盾しているものが11箇所。古い情報のまま更新されていないものが23箇所です」
リッツは淡々と報告している。俺の背筋が冷えた。
11の矛盾。23の未更新。
帳簿の上の話だ。データベースの中では正確に管理されている。
だが、帳簿は人間が見るものだ。リッツが見て、セレナが見て、エドが見る。データベースが正しくても、帳簿が間違っていれば、人間は間違った情報で動く。
◇
その夜。セレナと二人で、事務所に残った。
「47箇所の重複ね」
「ああ。俺のデータベースでは一元管理されているが、紙の帳簿には同じ情報が何度も書いてある」
「当然よ。顧客台帳には顧客の情報。納品記録にも顧客の名前と住所。請求書にも。見積書にも。一つの情報が四つも五つも帳簿に散らばっている」
セレナはスキルを知っている。だから、率直に話せる。
「帳簿の問題だけじゃない」
蝋燭の炎が揺れて、壁に二つの影を落としている。蝋の焦げる匂いが鼻を掠めた。
俺はデータベースに意識を向けた。テーブルの全体像を浮かべ、それぞれの構造を展開する。
テーブルの数が膨大になっていた。
在庫テーブル。顧客テーブル。仕入先テーブル。取引テーブル。人物テーブル。商会テーブル。関係テーブル。品質管理テーブル。
八つのテーブルに、合計500以上のカラム。
だが、よく見ると同じ情報が複数のテーブルに入っている。
顧客の住所が、顧客テーブルと取引テーブルの両方にある。仕入先の品目が、仕入先テーブルと在庫テーブルの両方にある。人物の肩書きが、人物テーブルと関係テーブルの両方にある。
帳簿と同じ問題が、データベースの中でも起きていた。
「セレナ。同じ情報が何箇所にもあると、何が起きる」
「一箇所を直しても他が古いまま残る。矛盾が生まれる」
「そうだ。リッツが見つけた47箇所の重複は、帳簿だけの問題じゃない。俺のデータベースの設計自体が——雑だ」
自分で言って、痛い。
十年かけて蓄えたデータベース。5万を超えるレコード。だが、その構造は場当たり的に膨らんでいる。必要になるたびに列を追加し、テーブルを増やし、とにかく情報を突っ込んできた。
結果、同じデータが散在する。更新漏れが起きる。整合性が崩れていく。
「商会が三人の頃はよかった。全部俺が見ていたから、矛盾に気づけた。でも人が増えたら——」
「全員があなたの頭の中を共有することはできない。だから仕組みが要る」
セレナが言った。
「一つの情報は一箇所にだけ置く。他から参照するときは、その一箇所を見に行く。それなら更新は一回で済むし、矛盾も起きない」
俺はセレナを見た。
「お前、今すごいことを言ったぞ」
「え? 普通のことでしょう。帳簿の管理では常識よ」
常識。
一つの事実は一箇所にだけ格納する。重複を排除する。テーブルを適切に分割し、関係で繋ぐ。
今のデータベースに、その思想が欠けている。
(これだ。俺に足りなかったのは、これだ)
脳の奥で、あの感覚が疼いた。
だが、まだ弾けない。主キーが解放される直前と同じだ。
必要だと分かっている。だが、実際に手を動かさなければ解放されない。
「セレナ。帳簿の再設計をやる」
「リッツと一緒に?」
「ああ。全ての帳簿を見直して、重複を洗い出す。一つの情報が一箇所にだけ書かれるように、構造を組み直す」
「大仕事ね。営業を止めるの?」
「止めない。エドとお前が営業を回す。俺とリッツで帳簿を再設計する」
セレナが微笑んだ。
「ようやく人を雇った意味が出てきたわね」
四人になった。
三人のときよりも、できることが増えた。
だが、四人で回すには、三人のときの仕組みでは足りない。
組織は、人が増えるたびに複雑になる。
その複雑さを整理する仕組みが、まだ俺にはない。




