データベース設計が奥深いのは、データ周辺の人々の行動を規範化するからだ。
収集タイミングは、入力作業をする人の規範化であり。
アウトプット時には、そのデータを使って何をどのように改善したいか、使う人を想像しながら規範化しなければならない。
必要なデータを全て網羅しておくことも必要で、全てのデータが何をキーとしてリレーションされるかも含めて洗い出す必要がある。
そしてそれらのデータをどのようなまとまりで、テーブルに表現し、いつ、どのようにINSERT, UPDATEするかまで気を配らなくてはならない。
リソースの最適化は最重要課題だ。
データ通信とクエリを最小化し、プログラムを標準化しつつ、最小の納期と設計コストで…そうだ設計者まで規範化されなければならない。
そこまでやって、全てをデータに置き換えたとしても、離散化の過程で世界は溢れ、例外の狭間で葛藤する自分を想像しながら、今の課題に取り組まなければならない。
「そんなに苦労するならもう紙と鉛筆で良いやん」みたいな話になってきそうだが、紙と鉛筆よりも正確に厳密に世界を表現する為にコンピュータは存在しているのだから、病理だと言われようと、これをやるのだ。
上手く言えないが、一種の芸術表現に近いようにも思う。
人間の行動を極限に離散化し、そのデータから再構築された人間をどれだけ元の行動規範に近づけられるかみたいな芸術。
こういうのを普通、大衆共感的芸術テーマならば悲しみを帯びるのだけれど、僕らは幸福を追求しているというか。大袈裟でもなく仕事としてそうしている。
仕事だから最安値で、というのがまた楽しい。