2014-11-16 61 views
0

我想建立一個類似於飛行路線的路線數據庫。SQL建議存儲路線

「航點」(「航點」名稱,緯度,長度等) 和另一個路線表的一張表。這包括一組按特定順序的航點名稱。

我需要能夠查詢所有經過特定「航點」的路線。 我還需要能夠拉出路線(通過路線ID)並查看實際路線(按特定順序列出「路點」名稱)。

設置一個有序列表的最佳方式是什麼? 我想在MS Access中執行此操作。

回答

1

規則我可以​​從你的描述推斷是:

  • 每個路由包含1個或多個航點。

我假定:

  • 每個路徑點是0,1或多個路線的一部分。

由於這個原因,您有多對多的關係。你需要引入一個「連接表」。例如:

Route={RouteID, RouteName} with RouteID as a primary key. 

Waypoint {WaypointName, lat, long,etc.} with Primary Key WaypointName 

和結合表將是:

Junction {RouteID, WaypointName, PointOrder} with compsite primary key 

對於結的主鍵由兩個列路由ID和WayPointName的。 pointOrder允許您輸入航點中的點序列。

結表的數據可能看起來像:

RouteID, WaypointName, PointOrder 

R1  P1   1 

R1  P2   2 

R1  P3   3 

R2  P2   1 

R2  P4   2 

R3  P4   1 
+0

啊,所以創造了「規程」欄設置的順序。我認爲這回答了這個問題 – eng3