在数据库中存储大量图形数据结构

4

这个问题是关于在关系数据库中存储单个图形的。在这种情况下,解决方案很清晰:一个节点表,一个边表。

我有一个随时间演变的图形数据结构,因此我想在数据库中存储这个图形的“快照”。我想象会有数百个这样的快照。

一种解决方案是为每个快照创建一个新的节点和边的表对(如上所述)。是否有更好的解决方案?

编辑:有人问我想要用这个数据库做什么。我认为我不会进行任何查询,除了从C++中将所有图形转储到MySQL,然后将其全部加载回C++数据结构。因此,我希望使用MySQL进行存储,而不是进行高效的随机访问/搜索。


你能详细说明一下你希望用历史图表实现什么功能吗?你需要能够对它们运行查询/搜索吗? - Jeff Swensen
我相信除了从C++将所有图形转储到MySQL中,然后将其全部加载回C++数据结构之外,我不会进行任何查询。因此,我希望使用MySQL进行存储,而不是用于高效的随机访问/搜索。 - Alan Turing
1个回答

5
你需要一个表格。
 graphs = (graphid, dateofsnapshot or other things unique to the snapshot)

你需要节点和边表,并使用外键引用图表。这样,您可以在数据库中拥有任意数量的图形。


你认为对于EDIT中描述的任务,相比为每个图形创建一个新表格,哪种方式更有效率? - Alan Turing
@Lex Fridman 我仍然认为,一个正确规范化的设计比为每个图形创建一对新表更好。 - Vincent Ramdhanie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接