【问题标题】:Storing Large Number of Graph Data Structures in a Database在数据库中存储大量图形数据结构
【发布时间】:2011-05-10 01:10:05
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您能否添加一些关于您希望能够使用历史图表做什么的详细信息?您是否需要能够针对它们运行查询/搜索?
  • 我相信除了将所有图表从 C++ 转储到 MySQL 并将其全部加载回 C++ 数据结构之外,我不会进行任何查询。所以我希望使用 MySQL 进行存储,而不是用于有效的随机访问/搜索。

标签: mysql database computer-science graph-theory large-data-volumes


【解决方案1】:

你需要一张桌子

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

并且您需要节点和边表,但需要对图表表进行外键引用。这样您就可以在数据库中拥有任意数量的图表。

【讨论】:

  • 您认为 EDIT 中描述的任务比为每个图创建一个新表更有效吗?
  • @Lex Fridman 我仍然认为适当的规范化设计比为每个图创建一对新表更好。
猜你喜欢
  • 2011-07-25
  • 1970-01-01
  • 2014-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多