8

リレーショナルDBでは、テーブルPersonとテーブルを持つことができますHobby。すべての人が0、1つ、または複数の趣味を持つことができます。また、たとえば、すべての人に対するそれらの趣味の優先順位を記録したいと思います。

2つの外部キーと、および1つのプレーン列を使用してリレーションシップテーブルを作成できます。PersonFKHobbyFKPriority

datomicでは、単純なn:m関係(優先度なし)をモデル化するために、エンティティに使用するカーディナリティを持つタイプの属性を作成する可能性があります。ReferenceManyPerson

しかし、優先順位を保存できるように、その関係をどのように修飾するのでしょうか。関係の場合と同様に、つまりその関係のためだけに新しいエンティティタイプを作成することによって行う必要がありますか?それとももっと良い方法はありますか?メタデータ機能などを使用していますか?

4

2 に答える 2

3

数日前、Datomic メーリング リストで同様の質問がありました。

https://groups.google.com/d/topic/datomic/7uOl-TISdxA/discussion

要約すると、そこにある答えはあなたが正しいということです。追加情報を保存する関係エンティティを作成する必要があります。

于 2012-09-18T15:38:52.160 に答える