作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张分布在世界各地的电台表。它看起来像这样:
+--------+------------+-------+-----------+
| 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/
这是地铁站 map ,每条垂直线代表不同的车站,水平线代表换乘站,您可以在那里换乘到另一条线路。 我试图制作一个程序,给定起点站和终点站,然后返回旅行所需的车站数。我首先创建了一个字典,其中包含那里的
我是一名优秀的程序员,十分优秀!