Open2

階層構造を表現するDB設計

itizawaitizawa

ユースケースを考える

  • サイドバーの仕様
    • 子 Directory の追加はサイドバーから追加ができる。
    • サイドバーでは、親 DIrectory の Collapse を展開することで子 Directory を一覧で取得できる
    • 表示するのは name のみ、よってフロントに渡すのは name と id だけで良い(id は画面遷移に必要)
  • 子Directory 詳細ページの仕様
    • title slash 区切りで階層を表現する。
    • 子 Directory から先祖の Directory を特定できる必要がある。
    • よって単に親の id を知るだけでは不十分
  • 関係
    • 親は複数の子供を持つことができるが、子供に対して親は 1つ
    • 子を持つ Directory が削除される場合、子は全て削除される。
      • ゆくゆくは付け替えができても良いが初期はとりあえず全消し
      • よって directoryId から、子孫の Directory を全て選択することができなくてはいけない