1

データ構造を検証したかっただけです。
私には少し複雑に思えますが、単純化できますか?

Core Data Model Editor からのスナップショット

  • 質問は章にグループ化されています。
  • 各質問について、セッションごとに 1 つの回答のみが可能です。
  • 目的は、同じ質問に対する回答を比較/分析できるようにすることです (異なるユーザーまたは同じユーザーによる異なる時間、つまり異なるセッションで)。
  • チャプターと質問のコレクションであるテンプレートは、チャプターと質問が同じ場合、複製する必要はありません。
  • (これは、Answer が Session と関係を持っていない場合に必要です。)
  • Answer back から Session への関係は正しい戦略ですか?
  • モデルを単純化するために他に何を改善しますか?

ありがとうございました!

編集

フォローアップの説明:

  • 回答は静的ではなく (「正しい」回答、「解決策」など)、ユーザーが入力したテキストです。「クイズ」というよりは「アンケート」のようなものです。答えには、分析可能な定量的な属性があります。
  • 前述のように、1 つの質問は、セッション内で 1 つの回答しか持つことができません。質問は ( 経由で) 複数のセッションに間接的に属することができるため(NSSet*) question.chapter.template.sessions、複数の回答を持つことができるため、対多の関係が必要になります。
  • 典型的なシナリオ: ユーザーが特定のテンプレートを使用して新しいセッションを開始し、回答を入力します。次に、結果の分析を見て、同じテンプレートを使用する他のセッションの結果と比較できます。

編集2

属性を含むデータ モデルのスナップショット

属性を含むデータ モデルのスナップショット

4

2 に答える 2

1

正直なところ、これはあなたの構造の代わりに私が行うことですが、単純な名前から見つけることができないため、各エンティティの目的がわかりません.

これは、ループを解決するための単なるアイデアです。

セッションからすべてのテンプレートとすべての回答にアクセスできますが、直接アクセスすることはできませんが、それほど難しくはありません。

ここに画像の説明を入力


アップデート:

一見すると、私には、Sessionエンティティはここだけの余分なエンティティにすぎないように見えます。Template(別名Questionnaire)エンティティと連結する場合、正直なところ、必要ありません。

andの間に多対多の関係を追加する必要があります (実行できますが、心配する必要はありません)。この方法を使用すると、各テンプレートからすべての回答に到達でき、ループは発生しません。TemplateUser

ここに画像の説明を入力

于 2012-08-24T15:56:15.637 に答える
0

@holexの一部による非常に有益な努力にもかかわらず、最善の方法は私のデザインに固執することです. 私が望んでいた簡素化は実現しませんでした。

于 2012-08-25T19:40:52.803 に答える