悩みメモ: ノードを様々に分類したい。ただし、多対多を避ける。

ORマッパはManyToManyを許さないって、ちょっと昔のアイドルの曲みたいだと思いました。

もうすぐ春ですね。

問題

ツリー構造データの特定の深さにあるノードを、グループに分類したい。

分類方法は色々考えられる。つまり、1つのノードが異なる複数のグループに所属しうる。

しかし、ノードとグループを多対多の関係に実装することは避けたい。

また、分類対象であるノードは、できれば再利用したいと考えている。

ノードは、増減する。

・・・というとき、どうするか。

悩み中

ノードの再利用をあきらめて、グループ専属にしてしまえば簡単です。しかし、各ノードは、さらに子ノードをごっそり持っているので、それらもろとも複製することに抵抗があります。

  • ノードと子ノードは関係性があるが、実はフラットに扱えるのではないか?
  • ツリーの外側の概念の階層を1個作ればよいのではないか?
  • というか連関テーブル的なもので多対多を避ければ済むのでは?
  • 根拠のない抵抗はやめて全部コピーしる

とか考え中です。

#前回のsort関数の件は未解決です…ぐぬぬ。少々お待ちください。コメントありがとうございますm(_ _)m