数据库中的合格关系

Sup*_*rst 8 many-to-many data-modeling datomic

在关系数据库中,我可以有一个表Person和一个表Hobby.每个人都可以拥有零,一个或多个爱好,而且我还想记录每个人的爱好优先级.

我可以创建一个关系表用2个外键PersonFKHobbyFK,和一个普通的列Priority.

在datomic中,为了建模一个简单的n:m关系(没有优先级),我可能会创建一个带有基数的类型属性ReferenceMany,我将其用于Person实体.

但是,我怎么会去排位是相对于能够存储的优先级?是否必须类似于关系情况,即通过为该关系创建新的实体类型?还是有更好的方法吗?使用一些元数据设施或什么?

gra*_*ton 3

几天前,Datomic 邮件列表上也有人提出了类似的问题:

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

总之,给出的答案是你是对的:你需要创建一个关系实体来存储额外的信息。