6

在关系数据库设计中,有规范的形式来指导设计过程。是否有类似的原则适用于 Neo4j 等图形数据库的设计?

特别是,我对问题粒度感到困惑:我可以设计一个图形数据库,其中大多数属性存储在顶点中(联系人具有属性名称、出生日期等),或者我可以将大多数数据存储在关系中(连接与保存实际信息的另一个顶点的“名字”关系的联系)或者我可以两者都做(当然会出现一致性问题,但它可能会加快检索时间)。

这些问题和我刚开始 SQL 设计时的初学者问题很相似,很多问题只能通过积累经验来解决。你还能推荐一本关于这个主题的基础知识的好书吗?或者告诉我在哪里可以找到一些一般原则?

4

1 回答 1

2

我所见过的任何东西都不像关系数据库中的规范化那样被视为真理。但是,我主张两件事:

1) 像往常一样为您的实体(节点)建模。这些实体的属性是专门属于这些实体并存在于关系(连接)之外的事物。

2)像往常一样为你的关系(边缘)建模。这些属性不应该存在,除非两个实体(节点)相关(连接)。

于 2012-07-27T15:27:11.630 回答