Core Data - モデリング考察(階層構造の保持)#2

2010年6月29日火曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

[前回] Cocoaの日々: Core Data - モデリング考察(階層構造の保持)

いくつか思いつくままに..

階層保存用のエンティティを用意する

良い点
  • トラバーサルが楽(上位階層から下位へ簡単に降りていける)

悪い点
  • Category/SubCategory の親子関係の整合性制約をかけられない。これは別途 Validationなどを用意する必要あり。なお前回のモデリングも同じ問題あり。
  • 階層の数×2倍のエンティティになる。数が増えると扱いが煩雑になる。

課題
このモデリングでは EventCategory と Category の関連が Unidirectional Relationship(単方向関連) になっている。Core Data的には Bidirectional Relationship が望ましいが、マスタのエンティティにデータへの参照が入るのがなんとなく気になったのでこのようにした。


再帰構成にする


先のものを改良して再帰構成にしてみる( @yuma2471 さんアイディアどうも)。

汎用的になった。なお元々マスタ階層を扱っているので、階層毎に持っている情報が異なるケースが想定される(例えば、カテゴリはアイコン画像を持っているが、サブカテゴリは持っていないなど)。それらに対応するには少し一工夫が必要となる。

Responses

Leave a Response

人気の投稿(過去 30日間)