一つとして同じ薬草はない
期限の一日目。
俺は問屋街を歩いていた。通りに並ぶ店先から、乾いた薬草と土の混じった匂いが漂ってくる。
手元には、子爵家に納品した赤傷草と同じロットの残り。これをマルコ商店と東の薬舗に持ち込み、出所を確認する。
「ああ、これはうちの品じゃないな」
マルコ商店の主人が、赤傷草を一目見て言った。
「乾燥の仕方が違う。うちは吊るし干しだが、これは平干しだ。東の薬舗の品だろう」
「品質に差は出ますか」
「出るよ。吊るし干しのほうが成分が抜けにくい。平干しは安いが、効きは落ちる」
なるほど。同じ「赤傷草」「品質: 高」でも、乾燥方法で効能が変わる。俺のデータベースは、そこまで記録していなかった。
東の薬舗でも確認した。
「うちの品で間違いないね。平干しの赤傷草は安い分、効きは七割ってところだ。だから値段も安くしてるだろ?」
安い。確かに安かった。俺はそれを「同じ品質の安い仕入れ先」と判断して、混ぜて納品していた。
(値段が安いには理由があった。それを見落とした)
データベースは万能ではない。入力された情報が不十分なら、出力も不十分になる。
当然のことだ。だが、渦中にいると見えなくなる。
◇
宿に戻り、俺は在庫を全て取り出した。
部屋の床に、薬草が山になる。赤傷草、月光花、銀苔、青葉草、白粉花。五種類、合わせて数百束。
「こ、これ全部やるんですか」
エドが目を丸くした。
「仕分けだ。全部一つずつ調べる」
「全部……?」
「手伝え」
エドと二人で、薬草を一束ずつ確認していく。
色、茎の太さ、乾燥の具合、匂い。マルコ商店の品と東の薬舗の品では、よく見れば違いがある。混ぜれば分からないが、並べれば分かる。
「こっちが吊るし干し。こっちが平干し」
「言われてみると、匂いも微妙に違いますね。こっちの方が青臭さが残ってる」
三時間かけて、全ての薬草を仕分けた。
その過程で、俺はある作業を繰り返していた。
一束手に取るたびに、データベースに意識を向ける。
「この束は、あの束とは違う」と認識しながら格納し直す。
一束目。二束目。三束目。同じ名前でも、違うものだと認識する。この一つ一つに、固有の識別が必要だと。
五十束目を超えたあたりだった。
(これは「この赤傷草」であって、「あの赤傷草」ではない)
その認識が、限界まで研ぎ澄まされた瞬間。
視界が、開けた。
◇
脳裏に新しい情報が流れ込んでくる。主キー。各レコードに固有の識別子を付与する機能。同じ名前のレコードでも、個体として区別できる。しかも、既存のレコードにまで遡って適用される。
「主キー……」
目の前の赤傷草を、もう一度データベースに格納した。
今度は違う。
脳裏に浮かぶ情報の解像度が、一段上がっている。AK-001、赤傷草、品質・高、産地はマルコ商店、乾燥法は吊るし干し、効能評価A。続いてAK-002、同じ赤傷草の品質・高でも、産地は東の薬舗、乾燥法は平干し、効能評価B。AK-003はマルコ商店の吊るし干しで評価A。AK-004は南門市場の平干しで品質・中、評価C。
一束ごとに、固有の番号が振られている。
同じ「赤傷草」「品質: 高」でも、AK-001とAK-002は別物だ。産地も乾燥法も、効能評価も違う。
「これだ」
俺は次々と薬草を格納し直した。
月光花にはGK、銀苔にはGT、青葉草にはAS、白粉花にはHP。全ての束に固有の番号が付いていく。
さらに。
在庫の中から、赤傷草で効能評価がAのものだけを意識で引き出す。
結果が返る。効能Aの赤傷草だけが抽出される。全てマルコ商店の吊るし干し。
「品質の中の品質を、選別できる」
これなら、顧客ごとに最適な品を振り分けられる。子爵家には効能Aのものだけを納品する。ばらつきは生まれない。
「レイン様、さっきから一人で笑ってます。怖いんですけど」
「問題ない。解決策が見つかった」
エドが首を傾げている。
俺は床に散らばった薬草を眺める。同じに見えて、全て違う。そして今、その違いが全てデータベースに刻まれている。
既存のレコードにも主キーが遡及適用されていた。5万を超えるレコードの一つ一つに、固有の識別子が付いているのだ。
(二度と見落とさない)
あとは、この機能を使って子爵家への回答を準備する。期限まで、あと二日。
十分だ。




