【问题标题】:how to model relation between entity to cover distance between point to point如何建模实体之间的关系以覆盖点到点之间的距离
【发布时间】:2016-01-31 01:36:41
【问题描述】:

我正在构建系统,我将在其中拥有类似地图的东西。您可以创建一个Route,每个Route 有2 个或更多Point。每个Point 的特定顺序为 1,2,3,4,...n

现在我想设置点之间的距离。比如我想设置Point1和2之间的距离是2米,2和3之间是4米。我想知道我应该如何建模?我认为我需要关联表,我将在其中保持与两点的关系以及它们之间的距离。这是解决这个问题的正确方法吗?

【问题讨论】:

    标签: database-design architecture software-design


    【解决方案1】:

    我认为最好的方法是使用关联表(如您所述)。 您将拥有看起来像这样的数据库:表 Routes(Route_ID, Point_ID, Order),表 Distances(From, To, Distance)。指向 Point_ID 的 From 和 To 外键的位置。

    【讨论】:

      【解决方案2】:

      其实你不需要额外的表格,当点在路径上时,你可以创建字段distanceToNext(或distanceFromPrev)并将值存储在这里。

      这样你就可以通过汇总值来计算路径上任意两点的距离。

      SQL 伪代码:

      SELECT SUM(distance) FROM points WHERE id >= 1 AND id <= 100 
      

      【讨论】:

      • 只有在只有一条路径时才会起作用。
      • 这是一个伪代码吉姆,我假设还会有一些path_id 字段......
      猜你喜欢
      • 2015-02-15
      • 1970-01-01
      • 2011-07-10
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多