2012-10-07 38 views
0

我有一個理髮師表(barberId,姓,名) 我有一個客戶表(的clientId,姓,名)如何創建日曆以設置理髮店的約會?

的理髮店是隻透過預約。我需要哪些表來創建一個系統,客戶可以查看日曆,查看哪些理髮師可用,並設置與理髮師的約會?

理髮師沒有設定的時間表:理髮師可能會有幾個小時在這裏和那裏。因此,客戶必須查看日曆以查看可用性。

我正在使用MySQL。

+0

如果企業的日常工作不支持此功能,那麼爲什麼應用程序應該這樣做?注意:如果理髮師會做出妥協,那麼可以要求提供2或3人的時間表並設計問題解決方案。 –

回答

2

這樣做的方式太多了,這取決於您的業務需求。首先,我會將clientele重命名爲clients,如果您設置變量等,它將更易於使用,更容易進行多元化。

如果理髮師有3個小時可用,是否意味着3個約會1小時?如果某個客戶需要2個小時怎麼辦?在這種情況下會發生什麼?

我們假設每個人需要1小時。您可以創建一個名爲appointments的表格,其中appointment_id, barber_id, client_id, start_time, end_time。約會可以由理髮師或經理創建,client_id在約會被預訂時設置。如果您想查看可用插槽,則將查詢數據庫以獲取符合start_time, end_time要求的任何約會,但沒有client_id。您可以按特定的barber_id進行過濾,或顯示所有可用時間及其各自的理髮師。

+0

我真的很喜歡你的答案。我最初的'約會'表缺少clientId。非常感謝(投票)。但這是一個問題。假設理髮師將從9a到2p,然後從3p到9p。說每次剪髮可以持續30分鐘到2小時 - 以半小時爲增量。那麼,對於理髮店的9a到2p的插槽,我是否有那個時間段的10個入場(半個小時)?在他的前半天只有一個理髮師,那不是太多排? – kasavbere

+0

不是,行數不是真正的問題。客戶是否自己申請預約,還是需要打電話,讓他​​人爲他們預約?這些數據的生命週期是什麼?你需要保留已完成的所有約會嗎? – iouri

+0

你也可以創建一個時間表的概念,每個理髮師每天有一個或幾個塊的可用時間,然後約會將不得不適應該時間跨度,而不是重疊其他約會,這樣你可能不需要產生時間提前插槽。你將有一個上午9點至下午3點,上午9點至10點11:30-12:00PM等約會,將適合其內部。所以當你創建新的時候,查詢會檢查它是否適合上午9點到下午3點,以及是否有其他約會。 – iouri