データベースでデータベースを作る

たとえば、ダムとジャンクションでは、その構造物のスペックを表す項目というのは当然違ってくる。で項目同士でも地名と高さじゃ格納するときの型が違ってくるわけで、そういうのをひっくるめて一意に管理しようとするとまさにDBMSそのものを単純化したようなモデルが目の前に現れて、あれ、これは何かものすごい間違いを犯してないかという不安に駆られる。でも、やろうとしていることはある意味そういうことなのでそれ自体は間違っていないのだと自分を納得させつつ、ではどうやってで実装しようかという話になるとこれまた一筋縄では行かなくてなかなか大変。
大きなところではスキーマの管理をDBMSの機能として行うか、DB上にデータとして表現するかの決断。前者の場合パフォーマンスは良いがメタプログラミングみたいなことしないといけなくなって難しそう(Tuigwaaがそんなようなことやってて凄いなと思った)。後者の場合はパフォーマンスが確保できるかが不安。まあ、そんなにレコード件数多くはならないと思うから(当面はダムの3千件程度が処理できれば全然問題ないでしょう)ヘマしなければいけるとは思いますが…。
そんなこんなを今週は整理していってます。