2012-04-04 65 views
3

我必須開發一個表,其中將包含目的地之間的距離,並需要一些援助。我現在幾乎空白如何啓動旅行距離表設計

enter image description here

這裏從點A to A, B, C AND D ARE 0, 4, 8, AND 12表顯示距離分別等。

需要將MySQL數據表中的這些數據轉換爲由管理面板管理,並在客戶端站點根據目的地和目的地使用。

問候

+0

這是功課嗎? – Michael 2012-04-04 12:22:57

+0

不,其部分項目分配 – Junaid 2012-04-04 12:25:24

回答

4

如果你沒有「真正」的日期(如地理定位),您將需要將數據存儲在2個表。

第一表,位置(以便存儲A,B,C,d那裏,以及關於位置的其他相關信息)

第二表,3列。 from_location,to_location,distance。 (在from/to_location上有一個關鍵字,因此它是唯一的,但在插入之前總是檢查其他方式,因爲您可以在表格中支持A,C和C,A)

這樣,您可以輕鬆地提取來自數據庫的正確數據。

例如,獲取從A到C(SELECT distance FROM distance_table WHERE from_location = "A" AND to_location = "C"

+0

感謝您的意見,請您檢查[鏈接](http://sqlfiddle.com/#!2/b806f/2)我剛剛生成。這是否需要同時插入值?性能明智 – Junaid 2012-04-04 12:43:41

+0

和管理員呢?該設計中將向管理員介紹什麼界面?如果他需要插入或更新一些記錄,即添加新的位置或修改現有的? – Junaid 2012-04-04 12:45:02

+0

這是一個完全不同的問題。此外,此網站不是代碼請求網站。請先嚐試。如果你不知道該怎麼做,請問一個不同的問題,並顯示你已經嘗試過;) – 2012-04-04 12:54:01

0

的距離,所以基本上你需要一個有3列的表。點A,點B,距離

在你的程序中,你可以做2循環來通過2維表作爲插入。

如果您希望它是唯一的,那麼在您的代碼中,如果您正在查看B到A,請檢查A到B是否已存在,然後再次插入。也許是明智的還放在桌上的一些約束,其中點A和PointB必須是唯一的

0

做一個表

Create table `table_name`(`Distance_from` varchar(2), `A` int,`B` int, `C` int, `D` int ,primary key(Distance_from)); 

然後插入你的記錄像

Insert into `table_name`(`Distance_from`,`A`,`B`,`C`,`D`) values('A',0,4,8,12) 

所有行類似的插入。

+0

兄弟這是樣本數據,我有負載的位置來填補..這種結構將無法以任何方式工作 – Junaid 2012-04-04 13:05:43

+0

@Junaid然後你可以使用一個表,每一個座標的經度和緯度被放置在同一行,然後使用公式來計算兩個站之間的距離 – 2012-04-04 13:09:30