实体到顶点的转换及数据建模优化
1. 实体顶点类型与标签命名练习
首先,我们可以尝试为系统中的实体确定合适的顶点类型和标签名称。在概念数据模型中,我们识别出了四个实体:Person(人)、Review(评价)、Restaurant(餐厅)和 Cuisine(菜系)。大家可以思考一下,应该给每个实体赋予怎样的标签。
2. 使用通用标签
顶点或边上标签的主要目的是为一类相似的项目提供一个名称。通常,使用更通用的术语(如 user 或 person)而不是特定的术语(如 reviewer 或 restaurant_patron)是最佳实践。下面我们来探讨一下为什么推荐使用通用标签而非特定标签。
通用标签的优势主要体现在以下两个方面:
- 简化模型和遍历编写 :通用标签可以将相关项目分组在一起,减少实体类型,从而简化模型和遍历的编写,并且通常能提高遍历的性能。
- 灵活分类与区分 :它能将相似的实体归为最宽泛的类别,同时仍能区分它们。
然而,使用通用标签也需要把握好度。如果标签过于通用,如将所有实体都归为一个标签(如 item 或 entity),那么这些标签就无法提供关于所代表实体的有效信息;如果标签过于具体,为每个实体都设置一个顶点标签,就无法获得实体分组带来的优势。我们需要找到一个“恰到好处的区域”,即标签既足够通用以简化遍历,又足够具体以提供关于所代表实体的信息。那么,如何确定标签名称的合适特异性水平呢?
3. 联系类型标签示例
下面通过一个跟踪个人联系信息的示例图来看看理想的标签特异性是什么样的。
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



