我有一个要构建的架构,它是一个公交车站应用程序,它存储两个附近公交车站之间的距离或其他信息,不太可能存储一个车站 ID 作为索引或唯一键,我认为更好的做法是将站 1 和站 2 分组为唯一和索引键,但我有点不确定这样做是否正确,将 2 个公交车站 id 放入一个数组中,将此数组作为索引和唯一键?
问问题
271 次
1 回答
1
这听起来很合理……这是一个“关系表”或具有附加属性的多对多连接表。您可以将距离存储为 M:N 关系的属性。/两个公交车站 ID 将形成复合主键。
您可能想了解一些有关数据库设计技术的知识。如果是这样,一些关于数据库和建模的有用资源是:
- Elmasri 和 Nevathi 的数据库系统基础- 对数据库的各个方面都非常技术性,并深入介绍了建模
- CJ Date 对数据库系统的介绍- 类似于上面
- 范式教程 (BCNF) - BCNF 规定了一种方法,通过迭代地将规则应用于您的模型直到它满足范式(是有效的 - 除非预期的冗余)来显示您的数据模型。
- Wikipedia 条目看起来非常简洁- 与 BCNF 相同,但看起来简洁明了(可能关注第 3 节和第 4 节)
编辑:与 Mongo DB 相关的更新
实际上,以上对于数据库建模来说都是非常通用的。阅读有关MongoDB 应用程序的数据建模注意事项的一些优秀资源后,我认为您需要更具体的指导。
因此,我建议您参考这篇内容丰富的 SO 帖子:how-to-organise-a-many-to-many-relationship-in-mongodb。作者给出了一个很好的解释,听起来就像你所追求的。甚至还有对文档和视频的引用。
于 2013-03-07T16:42:11.317 回答