在sql中保存字符串列表

在sql中保存字符串列表,sql,database-design,Sql,Database Design,在我们的系统中,我们有一个API调用,它返回站点列表。每个站点都有一个名称和相应的代码。 例如,响应如下所示: [ { name: "New York C", code: "0001:074" }, { name: "Oslo C", code: "0002:078" }, ... ] 该列表相当大,包含大约3500个站点 我们需要做的是创建一个可以配置为最多有50个站点可供选择的小部件。这些电台是上述呼叫返回的电台的子集。 基本上

在我们的系统中,我们有一个API调用,它返回站点列表。每个站点都有一个名称和相应的代码。 例如,响应如下所示:

[
   {
    name: "New York C",
    code: "0001:074"
   },
   {
    name: "Oslo C",
    code: "0002:078"
   },
   ...
]
该列表相当大,包含大约3500个站点

我们需要做的是创建一个可以配置为最多有50个站点可供选择的小部件。这些电台是上述呼叫返回的电台的子集。 基本上,我们甚至不需要保存名称,只需要代码就足够了

问题是如何在DB中保存站点(代码)子集

我知道1NF,我读过这篇文章

问题是不需要导入所有3500个站点并将其放入数据库,因为我们可以访问来自小部件的呼叫。但是我们仍然需要保存配置的数据子集

任何帮助都将不胜感激。

您的“列表”是JSON格式的,您可以将其导出到任何数据库(假设它是MySQL):

例如,在数据库中有一个名为“Stations”的表,该表有两列:name和code

要将Json数据导出到MySQL,首先需要使用:或将其导出到CSV

然后使用以下方法将CSV文件导出到MySQL: 然后:

有很多方法可以实现相同的结果,例如,您可以使用PHP来实现:


或者使用ETL(如Talend、SSIS…。

更新:我的问题不是技术上如何,而是设计上如何。我可以将它保存为逗号分隔的字符串,但我猜它不是1NF。所以基本上你说,为用户选择的站点创建一个单独的表是可以的,即使我们没有存储包含所有可能站点的主表。或者?如果您谈论的是一个表,并且只有一个表,那么带有名称和代码字段的表
Stations
是1,2,3 NF。
LOAD DATA INFILE 'filepath/your_file.csv' INTO TABLE Stations;