在关系数据库中,我可以有一个表 Person
和一张 table Hobby
.每个人都可以拥有零、一个或多个爱好 ,而且我还想记录,比如说,每个人的那些爱好的优先级 .
我可以创建一个 关系表带有 2 个外键 PersonFK
和 HobbyFK
, 和一个普通列 Priority
.
在 datomic 中,要建模一个简单的 n:m 关系(没有优先级),我可能会创建一个 Reference
类型的属性有基数 Many
,我将用于 Person
实体。
但是我将如何限定该关系以能够存储优先级?它是否必须类似于关系案例来完成,即为该关系创建一个新的实体类型?或者有什么更好的办法?使用一些元数据工具或什么?
最佳答案
前几天在 Datomic 邮件列表上问了一个类似的问题:
https://groups.google.com/d/topic/datomic/7uOl-TISdxA/discussion
总之,那里给出的答案是你是对的:你需要创建一个关系实体来存储额外的信息。
关于many-to-many - datomic 中的限定关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444214/