ニコライ
Core Data は SQL システムではありません。より原始的なクエリ言語を備えています。これは赤字のように見えますが、実際にはそうではありません。物事をRAMに取り込み、DBではなくRAMで複雑な計算を行う必要があります. NSSet/NSMutableSet 操作は非常に高速で効果的です。これにより、アプリの速度も向上します。(これは、フラッシュが遅い iOS で特に顕著であり、したがって、大きなフェッチが優先されます。)
あなたの質問への回答として、はい、フェッチ リクエストは単一のエンティティで動作します。いいえ、そのエンティティのデータに限定されません。1 つはキー パスを使用して、述語言語で関係をトラバースします。
Shannoga の答えは、問題を解決する 1 つの良い方法です。しかし、エンティティの継承を使用することがアプリにとって正しい道であるかどうかを判断するために、データ モデルで実際に何を達成しようとしているのかについて十分に知りません。そうではないかもしれません。
サーバーからの SQL スキーマは、CD アプリでは意味をなさない場合があります。クエリ言語と UI でのデータの使用方法の両方によって、おそらく異なる構造が強制されます。(たとえば、iOS でフェッチされた結果コントローラーを使用すると、サーバー上とは異なる方法でデータを非正規化する必要があります。)
エンティティの継承は、OOP での継承と同様、堅固なテクノロジです。変更するのは難しいです。ですので、大切に使っています。実際に使用すると、一部のフェッチでパフォーマンスが向上し、他の計算でいくらか単純化されます。それ以外の場合は、パフォーマンスに関しては間違った答えです。
本当の答えは質問です。あなたは本当に何をしようとしていますか?
アンドリュー