gpt4 book ai didi

MySql:设计附近车站表

转载 作者:行者123 更新时间:2023-11-29 21:55:13 25 4
gpt4 key购买 nike

我有一张分布在世界各地的电台表。它看起来像这样:

+--------+------------+-------+-----------+
| ID | NAME | LAT | LON |
+--------+------------+-------+-----------+
| 104326 | BERWINDALE | 40.8 | -78.6 |
| 104406 | GRAMPIAN | 40.9 | -78.7 |
| 121788 | COALPORT | 40.75 | -78.53333 |
+--------+------------+-------+-----------+

对于表中的每个站点 S,我都有一个由 ID、LAT、LON 描述的站点列表,这些站点被认为位于 S 附近。对于纽约的一个车站,附近的车站列表会很大,至少有 50 个车站。但对于廷巴克图的车站,附近车站列表可能只包含 1 或 2 个元素,或者为空。

考虑到我不知道有多少邻居与给定站点关联,我该如何设计这个“邻居站点表”?我听说过标准化之类的东西,但作为 MySql 菜鸟,我需要一些详细的演练。

最佳答案

您想要标准化数据,以便您的电台表仅存储电台

+--------+------------+-------+-----------+
| ID | NAME | LAT | LON |
+--------+------------+-------+-----------+
| 104326 | BERWINDALE | 40.8 | -78.6 |
| 104406 | GRAMPIAN | 40.9 | -78.7 |
| 121788 | COALPORT | 40.75 | -78.53333 |
+--------+------------+-------+-----------+

因此,您可以使用此表创建一个 map 表,其中每个站点的每个邻居都有一行。

+--------+----------------+-----------------+
| ID | STATION_ID | NEIGHBOR_ID |
+--------+----------------+-----------------+
| 1 | 104326 | 104406 |
| 2 | 104326 | 121788 |
+--------+----------------+-----------------+

在这个简单的例子中,GRAMPIAN 和 COALPORT 是 BERWINDALE 的邻居

要拉出邻居,你可以这样做。

SELECT s.name as central_station, n.name as neighboring_stations
FROM stations s
JOIN neighbors n ON n.neighbor_id = s.id
WHERE n.station_id = 104326

关于MySql:设计附近车站表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33215756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com