首页 > 解决方案 > 如何将曲线存储到数据库

问题描述

我想问一下如何将曲线存储到数据库中。曲线对象由点数组表示。

我有两个选择:

1)创建两个表,一个用于曲线,一个用于点

2) 一条曲线 = 一张表中的一行

你怎么看?还有其他选择吗?

标签: javadatabasespring-boothibernatedatabase-design

解决方案


我建议将您的数据点存储在单独的行中,您只需要一个额外的索引来订购它们。
您可以使用GROUP_CONCAT()函数重新创建您建议的字符串。
您的将具有以下结构

  • 曲线ID
  • point_id
  • x_coord
  • y_coord

查询看起来像:

--- {[1,2], [2,3] ...}
SELECT GROUP_CONCAT(CONCAT_WS("[", x_coord, ",", y_coord, "]"))
FROM table
WHERE curve_id ORDER BY point_id

推荐阅读