我正在開發一個可搜索的臨時/兼職人員數據庫,而且我沒有實施其工作時間可用性的經驗。我已經爲員工,技能,代理和客戶開發了架構。現在我需要捕捉員工的每小時可用性。在關係數據庫中表示工作時間/日程表
系統應該能夠代表24/7小時時間表的任意組合,即:
- 週一8-9am,週二1-5am,週三3-10pm;
- 週一至週五1-4pm;
- 週六至週日8 am-6pm;
當然,偶爾會出現全職員工,儘管我在員工表中會想到全職員工將會有一個布爾型字段,而這個時間表/系統將會只有員工兼職才能諮詢。
任何經驗/指導/方向這將是非常感激。
感謝,@ssmusoke,這方面的工作。將'天'是一個'INT'類型?你究竟是什麼意思「MySQL約定」? :D – 2012-04-10 10:22:54
星期幾有不同的約定,但MySQL使用1作爲星期日和7星期六,但有些語言在週日使用0,週六使用6。我建議你使用tinyint unsigned(意味着它只能是+ ve),它從1到128,因爲這將足以滿足你的需求。詮釋高達20億,所以你不需要這一切。 – 2012-04-10 11:00:20
aaiyt,我終於做的是增加額外的表'只有等領域Empl_Schedule''Empl_ID','Empl_Day'和'Empl_Time' - 所有TINYINT簽名,所有的複合主鍵。 'Empl_Day'將具有值'1,2..7'和'Empl_Time''0,1..23'。員工可用的任何一天的每個小時都將進行一次行記錄。最後在'Employee'表上有一個布爾型字段'FullTime'。謝謝,@ssmusoke – 2012-04-10 16:16:13