2012-05-03 19 views
1

コアデータを使用するように複雑なiPadアプリを使用しています。私は、テーブル(エンティティ)間の関係を表すために、さまざまなテーブルに組み込まれた外部キーを持つサーバーからデータを受け取ります。コアデータの関係とサーバーベースの外部キー

コアデータを使用するようにアプリケーションを書き直すと、外部キー構造を維持して自分のアクセサを作成するか、コアデータリレーションシップに変換するか両方を使用する必要がありますか?仕事は倍増しているようだ。私は既に、サーバーに送り返すデータを維持するために必要な2つのテーブルをリンクするためのデータをすでに持っています。しかし、コアデータは関係のための独自のキーを作成します。それは情報を複製し、同期が外れる可能性があります。

私は可能です: 1.テーブル間の関係を表現するために既存の属性を保持し、必要に応じて自分のフェッチを書き込みます。 2.サーバーからデータを受信し、コアデータ関係を使用してオブジェクトグラフを作成します。 3.必要に応じて、ハイブリッド、時には外部キー属性を使用し、時にはリレーションシップを使用します。

サーバーから大部分のデータを受信するコアデータアプリケーションには、一般的なアプローチがありますか?

答えて

1

sqlliteの代わりにコアデータを使用する場合は、Core Dataに変換してください。コアデータは単なるリレーショナルデータベースではないことに注意してください。オブジェクトグラフを永続化するために使用されます。したがって、あなたのデータ構造を置く方法はかなり異なるかもしれません。

一般的に、コアデータアプリケーションでは正規化されていないデータが多くなることがありますが、実際にはアプリケーションで使用するデータを再マップする必要があります。それからあなたは本当の答えを知るでしょう。しかし、私は外来キーを残すとは思っていません...それはコアデータがどのように最良にフィットするかという点で、私は関係を使うでしょう。