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

问题描述:

This question询问有关在关系数据库中存储单个图形的问题。在这种情况下,解决方案很明显:一个表用于节点,一个表用于边缘。将大量图形数据结构存储在数据库中

我有一个图形数据结构,随着时间的推移发展,所以我想将这个图形的“快照”存储在数据库中。我想象有数百个这样的快照。

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

编辑:有人问我想用这个数据库做什么。我相信除了将图形的所有转储到C++的MySQL,然后将它们全部加载回到C++数据结构中之外,我不会做任何查询。所以我想用MySQL来存储,而不是用于高效的随机访问/搜索。

+0

您能否添加一些关于您想要对历史图表进行处理的细节?你需要能够对他们运行查询/搜索吗? – 2011-05-10 01:15:22

+0

我相信我不会做任何查询,除非将所有图形从C++转储到MySQL,然后将其全部载入到C++数据结构中。所以我想用MySQL来存储,而不是用于高效的随机访问/搜索。 – 2011-05-10 09:41:45

你需要一个表

graphs = (graphid, dateofsnapshot or other things unique to the snapshot) 

,你需要的节点和边桌,但与foriegn关键参考图表表。这样你可以在数据库中有任意数量的图。

+0

您认为EDIT中描述的任务比为每个图创建新表更高效吗? – 2011-05-10 09:42:23

+0

@Lex Fridman我仍然认为一个正确的标准化设计比每个图创建一对新表更好。 – 2011-05-10 10:21:52