ToyQL: Relational Algebra

From Wikipedia.

GROUP BY は aggregation 操作の引数として表現する。そして aggregation は伝統的な relational algebra ではなく拡張されたもの、なのか。そして SELECT には式が書けるわけだが、それも伝統的なやつには入っておらず拡張。てか Projection とか Rename だけだとどうにもならいし、Join も微妙にしょぼい。Natural join が一番重要とかまじか。SQL を実装するなら SQL にあわせた Relational Algebra がいるね。というかそれがほとんど Volcano なわけだが・・・。

代数的な性質を使い式変形をすることで高速化できるということに目をつけて形式化した Codd さんはえらかったが、自分は最適化を実装する気はないのでもうちょっと雑な何かでよさそう。