Database design 如何建模实体之间的关系以覆盖点到点之间的距离

Database design 如何建模实体之间的关系以覆盖点到点之间的距离,database-design,architecture,software-design,Database Design,Architecture,Software Design,我正在构建一个系统,在这个系统中我会有一些类似于地图的东西。您可以创建一条路线,每条路线都有两个或多个点。每个点的具体顺序为1,2,3,4,…n 现在我想设置点之间的距离。例如,我想设置点1和2之间的距离为2米,2和3之间的距离为4米。我想知道我应该如何建模?我想我需要关联表,在这里我将保持两点之间的关系和距离。这是解决此问题的正确方法吗?事实上,您不需要额外的表格,而点位于路径上,您只需创建字段distanceToNext(或distanceFromPrev)并将值存储在此处 通过这种方式,只

我正在构建一个系统,在这个系统中我会有一些类似于地图的东西。您可以创建一条
路线
,每条
路线
都有两个或多个
。每个
的具体顺序为1,2,3,4,…n


现在我想设置点之间的距离。例如,我想设置
1和2之间的距离为2米,2和3之间的距离为4米。我想知道我应该如何建模?我想我需要关联表,在这里我将保持两点之间的关系和距离。这是解决此问题的正确方法吗?

事实上,您不需要额外的表格,而点位于路径上,您只需创建字段
distanceToNext
(或
distanceFromPrev
)并将值存储在此处

通过这种方式,只需汇总这些值,就可以计算路径上任意两点之间的距离

SQL伪代码:

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

从id>=1和id的点选择总和(距离),实际上您不需要额外的表格,当点位于路径上时,您只需创建字段
distanceToNext
(或
distanceFromPrev
)并将值存储在此处

通过这种方式,只需汇总这些值,就可以计算路径上任意两点之间的距离

SQL伪代码:

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

从id>=1和id的点选择SUM(距离),我认为最好的方法是使用关联表(如您所述)。
您将拥有一个大致如下的数据库:表路由(Route_ID、Point_ID、Order)、表距离(From、To、Distance)。其中,从和到指向点的外键\u ID


我认为最好的方法是使用关联表(如您所述)。 您将拥有一个大致如下的数据库:表路由(Route_ID、Point_ID、Order)、表距离(From、To、Distance)。其中,从和到指向点的外键\u ID


只要只有一条路径,它就会工作。这是一个伪代码Jim,我假设也会有一些
path\u id
字段……只要只有一条路径,它就会工作。这是一个伪代码Jim,我假设也会有一些
path\u id
字段。。。