寻求一些关于如何映射我的表模式以表示当前双向图的建议。

我有一个节点列表,假设它们是全局机场(SFO、LAX、CDG、HKG 等)。
节点与具有不同权重的双向边相连。

例如,SFO->LAX edge 可能是 10,但 LAX->SFO 是 8。

权重每天都在变化,我希望 mysql 数据库每天存储所有节点、边和权重。

这是我目前的想法,但有没有更好的方法来解决这个问题?我应该使用多个表吗?

DATE, SOURCE, DESTINATION, WEIGHT
12/01 LAX     SFO          8
12/01 SFO     LAX          10
12/01 ...     ...          ...
12/02 LAX     SFO          15
12/02 SFO     LAX          9
12/02 ...     ...          ...
...   ...     ...          ...

最佳答案

创建节点表和边表

Node Table
ID Airport AirportProperties
1  LAX     Address of LAX
2  SFO     Adress and Link etc.
3  ...


Edge Table
ID NodeID refNodeID Date  Weight
1  1      2         12/01 8
2  2      1         12/01 10
3  ...

10-07 15:54