我舉一個例子:有的OA系統(tǒng)是要公司客戶自己有服務器,然后裝到客戶的服務器上??墒强蛻粝勇闊晕蚁雽A系統(tǒng)(PHP+Mysql)放在自己的服務器上,讓公司客戶及其員工來注冊使用。那么問題來了,原來在客戶自己的服務器上數(shù)據(jù)庫也就十幾張表,但都放到我的服務器上,每注冊一個公司就得增加十幾張表,那如果有一萬家公司注冊數(shù)據(jù)庫不得有幾十萬張表?跟樓主一樣的問題,有一些老牌廠商早就給出來完美答案了,比如華為、天翎都有過類似的問題,這些企業(yè)提出的解決方案就很不錯,就針對上面的問題,最簡單的辦法是給每張表加個實例ID,一個公司對應一個實例ID,然后在你的MVC架構中跟DB最近的這一層加個攔截器,每個SQL查詢都自動帶上實例ID,這樣不用對代碼做很大改動。后期再根據(jù)需要優(yōu)化,哪些公司合用一張表,哪些單獨占用一張表甚至一個數(shù)據(jù)庫,總之具體問題具體對待,需要在運營的過程中根據(jù)用戶量和業(yè)務情況來分析采取對策。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網站空間、營銷軟件、網站建設、墨竹工卡網站維護、網站推廣。
1、用戶表
用戶ID
用戶角色(1:業(yè)務員,2:經理,3:總經理,4:總裁。。。)
用戶姓名
2、客戶表
客戶ID
客戶名稱
3、業(yè)務員客戶表
用戶ID(其實就是用戶表里的用戶角色為業(yè)務員的用戶)
客戶ID
4、業(yè)務員移交客戶申請表
申請人用戶ID
申請移交的客戶ID
審批狀態(tài)(0:審批中,1:已審批。。。。)
移交后用戶ID
5、請假表
用戶ID
請假開始時間
請假結束時間
請假類別(1:事假、2:病假、3:婚假。。。。。)
審批狀態(tài)(0:審批中,1:已審批。。。。)
6、周報表
用戶ID
周報月份
審批狀態(tài)(0:臨時保存,1:已提交,2:經理已審批,3:總經理已審批。。。。)
其實具體控制,你要在程序里進行流程控制,并沒有你說的那種自動控制,不過這樣的表結構設計是可以滿足你后期不用再動數(shù)據(jù)庫,只用修改業(yè)務流程即可
1.首先要全面分析一下你的系統(tǒng)涉及到哪些事物對象,一般來說是為每種對象建立一張表。
2.然后是分析每個事物都有哪些屬性,每個屬性是什么特點,反映在數(shù)據(jù)庫中這個字段是什么類型。
2.然后分析各個事物之間的關系,哪個是“一”,哪個是“多”。如班級是“一”,學生是“多”,則要在學生表中添加一個字段來保存他所屬的班級。
最基本的就是這樣,其他就是一些優(yōu)化的問題。
建議你在網上找一些相關電子書進行系統(tǒng)的學些;然后就是可以下載一些程序,想dz,ecshop之類,如果讓你自己來設計數(shù)據(jù)庫你會怎樣做,然后打開程序看別人是怎么設計的;看多了就熟悉了。