step02 『select』文で呼び寄せる
「『対話』って、何と対話するの?」
僕はまず最初の疑問を口にした。
図書館に備え付けの長机は、使い込まれて磨かれた古いものだ。向かい合って座る幼馴染のメルハートが、肩肘をつきながら赤みがかった金髪の毛先を、くるくるとまわしている。
「魔法はね、世界と対話することなの」
「世界? 抽象的すぎてわからないよ」
僕が首をひねると、メルハートも「うーん?」と一度困った顔をした。けれど、すぐにパッと表情を明るくする。
「じゃぁ、こうしましょう。今から話す事は……そうね、この『本』に限定するわ」
手近な書棚からメルハートが一冊の本を持ってきた。
それは『ヘイム大陸周諸国大全①』という図解入りの書物、いわゆる『図鑑』だった。
再び席についたメルハートは、その中身をパラパラとめくってみせた。
――王、王妃、姫、王国の歴史上の大臣、騎士、馬、剣、槍、盾、鎧、生活、金貨、麦、塩、バター、油、薪……。
無数の索引が有り、それぞれの解説が文字と図で描かれているようだ。とても分厚くて、全部読んだら3日は必要だろう。
「その『本』が『世界』の代わり?」
「そ。すこし小さいけれど、中には沢山の言葉が詰まってるわ。だから世界の縮図ね」
「なるほど」
「ウィズ、今から私が魔法の言葉で『対話』して見せるわ」
すると、メルハートは手のひらを本に載せ、魔法の言語を詠唱し始めた。それは、意外と短い呪文だった。
「セレクト、アスタリスク、フロム、『ヘイム大陸周諸国大全①』!」
僕にもわかるようにとメルハートは、空中で指を動かして文字を描く。
―― select * from 『ヘイム大陸周諸国大全①』
それは光の光跡となって、空中に浮かび赤い字を描いた。すると、途端に空中に四角い光の窓が浮かび、本の中のあらゆる情報が映り始めた。
――王、王妃、姫、王国の歴史上の大臣、騎士、馬、剣、槍、盾、鎧、生活、金貨、麦、塩、バター、油、薪……。
「わ、わ!? 凄い……!?」
それこそ、索引に記されていた、図鑑の内容全てが魔法の窓に次々と映し出されてゆく。
目まぐるしく変化する魔法の小窓を見ていると、書いていることが多すぎて、目が回りそうだ。
「これが、一番単純な魔法言語。selectね。『セレクト』と発音するの。意味は……そうね、呼び寄せる、と覚えておくといいわ」
「呼び寄せる?」
「最後に唱えた『ヘイム大陸周諸国大全①』は、本の名前ね。そこから呼び寄せるの。わかるかしら?」
しゅっ、とメルハートは魔法を止めた。四角い窓も徐々に薄れて消えてゆく。
「selectは『セレクト』と、最後に読みたい本の名前……と」
僕も必死で説明をノートに書き起こす。
「今の魔法が『検索魔法』。ごく普通の本の中身をみる魔法。単純にセレクトでもいいわね。覚えた?」
「まぁ、大丈夫!」
さすがの僕でもここまでは理解できた。
最初にセレクト、最後に本の名前。それで中身がパラパラと全部見える。
本の中身を、読むための魔法言語が『select』。
あれ? じゃぁ中間にある文字は?
確か、『select』の後に『*』と『from』があったはず。
「ふふん? 愚鈍なウィズでも気がついた? そ、『*』と『from』は、アスタリスクと、フロームって読むの」
「意味は?」
「『*』アスタリスクは『全部』って意味。『from』は『から』よ、単純でしょ?」
そこまで言うと、メルーハートはもう一度同じ魔法を唱えて見せた。そして僕にもやるように本を手渡した。
やってみなさいよ、と悪戯っぽく笑う。その顔は、昔から変わらない。
まだ小さかったころ、「あげる!」と、虫のついたリンゴをくれた時も同じような顔をしていたのを覚えている。僕は悲鳴を上げて泣いたっけ。
けれど今度のは単なる図鑑。魔法の言語だってちゃんとメモした。息を整えて、僕も魔法力を励起する。
下っ腹にちからを込めて、手の先から光を放つように……イメージ。そして魔法言語を唱えてゆく。
「えぇと……」
―― select * from 『ヘイム大陸周諸国大全①』
すると、見事に魔法の小窓が浮かび上がり、パラパラと紙芝居のように本の中身が次々と映し出さた。
「あら、出来るじゃない?」
「あはは! やったね!」
でも……読めない。早くて、パラパラ次々変わるし、何も見えない。何よりもページの情報がてんでバラバラ、探しものがあったって見つかりっこない。
「なんだかこれ、読めないし……多すぎるよ?」
「そりゃそうよ。どこの誰が本を読むのに全ページ見るってのよ」
僕の疑問を予想していたかのように、ツインテールの幼馴染は得意げな顔をする。
「……え?」
「そういう時は、別の魔法言語の呪文を使って、内容を絞るのよ!」
メルハートは、えへっ。と可愛らしく人差し指を立てた。
<つづく>
【ワンポイント】
本編で取り上げた『本』は、極端にデフォルメしましたが、
現代のデータベースの中身は『テーブル』と置き換えて考えてください。
今回の呪文『select』は『抽出』あるいは『よびだす』『あつめる』と言う感覚です。
select * from 本の名前(テーブル名)
これで「本の中身を全部見る」というものでしたね。
ですが、多すぎる情報は使えませんね?
じゃぁ絞らないと。
【予告】
次回は where 句 で情報を絞ろう!