↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
ハズレ収納スキルの正体は【データベース】でした  作者: どみさん


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
27/94

情報は一箇所にだけ置け

 帳簿の再設計は、解体から始まった。


 リッツと二人で、全ての帳簿を机に並べた。古い紙とインクの匂いが鼻をつく。


 顧客台帳。仕入先台帳。納品記録。請求台帳。在庫管理簿。品質管理簿。取引日誌。経費帳。


 八冊。


 「リッツ。まず、全ての帳簿に書かれている項目を一覧にしてくれ」


 「はい」


 リッツは丁寧に、帳簿ごとの項目を紙に書き出していった。


 俺はその横で、同じ作業をデータベースの中でやっている。


 8つのテーブル。全てのカラムを展開する。


 二時間後。リッツの一覧と、俺のデータベースの構造が並んだ。


 「レイン様。『顧客名』という項目が、八冊のうち六冊に書かれています」


 「六冊か」


 「はい。顧客台帳、納品記録、請求台帳、品質管理簿、取引日誌、経費帳。全てに顧客名があります」


 データベースでも同じだった。顧客名というカラムが、六つのテーブルに存在している。


 「次に多いのが『品目名』です。五冊に。その次が『住所』で四冊」


 リッツの一覧が育っていく。重複の全体像が見えてきた。


 「整理するぞ。まず、『顧客の情報』はどこに置く」


 「顧客台帳です」


 「そうだ。顧客の名前、住所、担当者、肩書き。全部、顧客台帳にだけ書く。他の帳簿には書かない」


 「しかし、納品記録にも顧客名が必要では」


 「必要だ。だが、顧客名そのものを書くのではなく、顧客台帳の番号だけを書く。『顧客番号: GR-01』とだけ記入すれば、詳細は顧客台帳を見れば分かる」


 リッツが目を瞬いた。


 「なるほど……。番号だけなら、肩書きが変わっても納品記録は書き換えなくて済みますね」


 「そういうことだ」


 これを、八冊全てでやる。



  ◇



 顧客の情報は顧客台帳にだけ。仕入先の情報は仕入先台帳にだけ。品目の情報は品目一覧にだけ。


 他の帳簿は、番号で参照する。


 単純な原則だ。だが、実行するには全ての帳簿を一から設計し直す必要がある。


 リッツと俺は三日間、事務所にこもった。


 一冊ずつ、帳簿を再設計していく。


 納品記録。旧形式では、顧客名、住所、品目名、品質評価、数量、金額が全て一行に書かれていた。


 新形式では、顧客番号、品目番号、数量、金額だけ。


 「情報量が減りましたね」


 「減ったんじゃない。分けたんだ。一つの場所に一つの事実。それ以外は番号で参照する」


 リッツが新しい納品記録の形式を清書している。


 俺はその横で、データベースの再設計を進めていた。


 取引テーブルから、顧客名カラムを消す。代わりに顧客PKへの参照を入れる。在庫テーブルから、仕入先の品目カラムを消す。品目テーブルへの参照に置き換える。関係テーブルから、人物の肩書きカラムを消す。人物テーブルを見に行けばいい。


 一つ消すたびに、テーブルが軽くなる。


 一つ参照を入れるたびに、構造が明確になる。


 三日目の午後。


 帳簿の再設計が終わった。


 八冊だった帳簿は、構造上は三つに分かれた。


 「マスター帳簿」——顧客、仕入先、品目の基本情報。ここだけが真実。「取引帳簿」——日々の納品、請求、仕入れの記録。マスターの番号で参照。「分析帳簿」——集計結果と報告書。取引帳簿から集計して作る。


 「レイン様。この設計なら、顧客の肩書きが変わっても、書き換えるのはマスター帳簿の一箇所だけです」


 「そうだ。矛盾は起きない」


 「47箇所の重複が、ゼロになります」


 リッツの目が輝いている。経理として、この設計の美しさが分かるのだろう。


 俺はデータベースに意識を向けた。


 同じ作業を、三日かけてデータベースの中でも繰り返してきた。


 テーブルを分割する。重複を消す。参照に置き換える。


 一つの事実は一つのテーブルにだけ存在する。他のテーブルは、主キーで参照する。


 分割して、参照して、整理する。分割して、参照して、整理する。


 その反復が、臨界に達した。


 全てが、あるべき場所に収まった。



  ◇



 脳の奥で三つの扉が同時に開く感覚があった。今までのように一つずつではない。堰を切ったように、一度に三つ。


 重複を検出し、最適な分割を導き出す力。正規化だ。参照先が変わったとき、関連する全てに自動で反映する力。参照整合性。そしてテーブル構造の全体像を一枚の図として俯瞰する力。スキーマ設計。


 三つの機能が一斉に目覚めている。指先が痺れるほどの情報量が、脳を駆け巡る。


 今までで最大だ。


 俺はすぐに正規化を全テーブルに実行した。


 データベースが組み変わっていく。


 500以上あったカラムが、320に減る。重複が消えていく。


 8つのテーブルが、12に増えた。


 増えた?


 違う。適切に「分割」されたのだ。


 大きなテーブルが、役割ごとに分かれた。顧客の情報は顧客テーブルにだけ。品目の情報は品目テーブルにだけ。取引の記録は取引テーブルに。


 テーブルの数は増えたが、一つ一つが小さく、明確になった。


 そして参照整合性。


 顧客テーブルでハルトの肩書きを「家令」に変えた瞬間、その変更がデータベース全体に反映される。


 どのテーブルから見ても、ハルトは「家令」だ。矛盾がない。


 「……これだ」


 リッツが不思議そうにこちらを見ている。


 「レイン様?」


 「いや。帳簿の設計が上手くいって、つい」


 「はい、いい設計になったと思います」


 リッツは満足そうに新しい帳簿を整えている。


 俺はスキーマ設計の機能を起動した。


 データベースの全体像が、初めて一枚の図として見えた。


 12のテーブルが、主キーと外部キーで繋がっている。一つの事実は一箇所にだけ。参照の線が、テーブルとテーブルを結んでいる。


 美しい。


 場当たり的に積み上げた十年分のデータが、構造を持った。


 これは、帳簿の話ではない。


 組織の話だ。


 誰が何を管理し、どこに情報があり、何を参照すればいいか。


 それが明確になれば、俺がいなくても商会は動く。


 リッツは帳簿を管理する。エドは配達と市場を見る。セレナは営業と交渉。俺は——全体を見る。


 「リッツ。新しい帳簿の運用は明日からだ。セレナとエドにも説明する」


 「はい。マニュアルも作ります」


 マニュアル。俺一人なら不要だったもの。


 だが、組織には必要だ。


 データベースの正規化は、商会の正規化でもある。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。