最近開始開發新項目,項目的需求調研,界面設計,數據庫設計都是本身一步一步親力親爲的。數據庫的設計好壞直接印象,開發的難易度。對於這一點,之前雖然知道,可是沒有太多深刻的體會。本次工做中,有了深入的體會。數據庫
先說說業務場景:公司有不少條生產線,每條生產線都十幾個做業員,除此以外每條生產線還配有班長和技術員。班長和技術員能夠同時支持多條生產線。最近的需求是須要將公司的人力根據生產進行人力預估,以便根據生產計劃進行招人或裁人。app
能夠用下圖表示:數據庫設計
大體的業務邏輯如上圖。在數據庫設計的時候,將班長和技術員的配比放在一張表,而後一張中間表和做業員信息表Mapping,這樣設計後,效果大體以下:spa
這種效果在最初看起來是沒有問題的,可是在處理業務的時候,會很是繞,不容易在後期統計數據處理的時候處理。而後 本身思考後設計了下面這種方式:設計
這樣處理以後,業務邏輯處理過程當中,業務更清晰了。也不會太繞。我目前使用的這種方式來處理。不過就在剛纔 我想到了另一種方式。是否應該將班長和技術員徹底分隔開,用四張表來存儲,班長和做業員的中間表,班長配比較,技術員和做業員的中間表,技術員表?3d
經過此次數據的設計後,本身也有一些心得體會,數據庫設計,業務雖然有關聯,可是最好將能分離成多張表的數據分離到多張表存儲。blog