SQLで木と階層構造のデータを扱う――入れ子集合モデルっていうのに、はてなブックマークが160もついていた。 別にRDBを否定する気はない。MySQLとかPostgresとかが簡単に入手できて誰でも操作できる以上、SQL文は開発者にとっての「読み書き算盤」、みたいな基礎知識になっている、といってもいいだろう。 でも、自分の所のプロジェクトではSQL文でぐだぐだ書くのは禁止している。 ロジックがコード本体とSQLとに分散し、追いにくい。 複雑なSQL文はテーブル構造の変更に弱い。 読みやすいコードは実現可能だが、読みやすいSQLは実現不可能なことが多い。SQL文の意味を説明する資料が別途必要。仕様変更の際の手間が増える。 Railsだと ちなみに木構造をRailsで扱う場合は acts_as_tree を使う。 SQLで木と階層構造のデータを扱う――入れ子集合モデルと同じようなことを書いてみ