2012-07-16 25 views
0

我在網上預訂卡車的網站。我正在使用MySql作爲數據庫。我有一個名爲「Available_Bookings」的表格,每行存儲卡車,司機名稱,司機聯繫電話號碼等。卡車有一些固定的日期可以運行。這些日期可以是1,2或任何數量。鑑於卡車,我需要知道它的運行日期。在mysql中爲表的每一行存儲多個日期?

任何建議..如何設計我的分貝?

由於

+0

你所要求的是[數據庫標準化(HTTPS://en.wikipedia。組織/維基/ Database_normalization)。維基百科的文章可能會幫助你理解這個話題。 – feeela 2012-07-16 09:52:39

回答

5

創建表的列表其中有兩列,一列用於存儲truck_id和date_operational。對於特定卡車運行的每個日期,將一個條目插入此表中。

例如,

truck_id | date_operational 
---------------------------- 
    1 | 12-07-2012 
    1 | 17-07-2012 
    2 | 13-07-2012 
    3 | 12-07-2012 
    3 | 17-07-2012 

更新 -

Given a truck I need to know the dates on which it operates. 

爲此,您可以使用簡單的查詢 -

SELECT date_operational FROM <tablename> WHERE truck_id = <desired_truck>; 
+0

...並且您可以將兩個列都設置爲單個「PRIMARY」或「UNIQUE」鍵,以防止重複。 – feeela 2012-07-16 09:53:36

+0

感謝您的回答。這就是我最初的想法,但我認爲可能會有更好的答案。你推薦用什麼來選擇前端的多個日期? – Sarthak 2012-07-16 10:06:29

+0

這可能很有用 - http://keith-wood.name/datepick.html。它允許你選擇多個日期。 jquery-ui日期選擇器只允許選擇一個日期。 – cyclotrojan 2012-07-16 10:16:03

0

獨立卡車和駕駛員信息到另一個表,與主鍵爲卡車/驅動器ID,那麼多行存儲與在Available_Bookings ID,與另一個日期各一次。

如果同一輛卡車可以有多個驅動器 - 分離,作爲好,用truck_id,driver_id對在Available_Bookings

然後你就可以通過truck_id查詢Available_Bookings並獲得可用日期

相關問題