[技術討論]多使用者(多公司)的資料庫設計討論

qingrun發表於2011-01-05
劉睿  10:24:16
如果一個資訊是多使用者(多公司)的這種,資料庫該雜個設計呢
青潤  10:32:53
多公司?什麼多公司,你的業務原型是什麼樣子的。
劉睿  10:33:36
就是一個資訊系統,是要有幾個公司用的,互相不干擾
劉睿  10:34:00
本來我是想一個公司一個資料庫,但我又覺得好像沒得好大必要一樣的
劉睿  10:34:34
就像kingde的K3系統一樣,他們就是一個帳套就是一個資料庫
青潤  10:34:49
沒關係呀,許可權設定好了就無所謂。
青潤  10:34:59
和一個公司的系統同樣設計就行了。
劉睿  10:35:35
那很多表上就要加一個公司這個欄位了呀
青潤  10:38:44
表和什麼關聯?
公司裡面有人,表裡面如果有人這個關係,那也是一樣表述,就不需要增加公司欄位了。
劉睿  10:40:25
比如我一個訂單,我如果要查一個公司下的所有訂單,那不是比較麻煩了,還要先匹配一個公司下所有人員還把這些人員的所有訂單查出來
青潤  10:40:39
建立檢視,進行搜尋。
劉睿  10:41:06
mysql 支援檢視嗎?
青潤  10:41:09
資料庫檢視就可以做到。
青潤  10:41:18
這個我不太清楚,你可以去查一下。一般都支援。
青潤  10:42:07
另外,一個公司的人進行操作,操作的時候,他的session或者標示中就應該帶有公司屬性,一個人不可能讓他去查詢另一個公司的訂單情況。
劉睿  10:44:00
這個我知道,但是大量的查詢是基於公司的,比如查整個一個公司的訂單,
青潤  10:45:49
這個應該是業務邏輯中做好的設計。
一個普通員工查詢,只能查詢屬於他本人的訂單情況。
一個公司總經理或者市場總監之類的人才能查詢整個公司的訂單情況,
而且,這兩個應該是在他進入訂單介面就直接查詢出來的東西,而不是事後搜尋關鍵詞匹配的,可以考慮對人員進行分類,只有幾個職位的屬性必須佩帶公司資訊,其他的就可以不帶。業務實現中也比較容易。
劉睿  10:46:54
每個人都要帶上公司屬性噠,因為不能查到其它公司的資訊了
劉睿  10:47:08
包括整個工作平臺
青潤  10:47:34
我認為沒必要,因為一個人的查詢,根據他的個人id編號進行就足夠了,不可能id編號出現雷同現象。
劉睿  10:47:37
你的意思只用在人員表上加一個公司欄位就行了?
青潤  10:47:49
人員表裡面本來就必須有公司欄位的。
青潤  10:48:12
前面那個問題,你考慮得過於複雜了,實際上只要有人員id,就不可能出現兩個公司的東西被一個人查詢出來的現象。
劉睿  10:50:04
你的意思說多使用者設計不用單獨考慮?
青潤  10:52:26
除了少數公司負責人崗位的考慮外,其他的都不需要考慮。
青潤  10:53:18
也就是說,這個資料表的修改和業務模組的改動量並不大,前提是考慮清楚業務關係的實現,同時你的業務系統本身已經設計完美了——如果需要改動,往往是最後這個做得不好
劉睿  10:54:15
我是在做一個進銷存軟體,是一個集團公司下多個公司用的,不過是訂單,還有庫存,銷售,所以我一開始是考慮是多個資料庫
青潤  10:54:33
呵呵,沒那麼複雜。
劉睿  10:54:55
那庫存也總要單獨帶公司屬性吧
劉睿  10:55:39
你的意思是直接在原來的系統上,現在我要變成多公司用的,只用在幾張表上加上公司欄位就OK了
青潤  10:56:43
是的。
劉睿  10:57:05
 3Q
青潤  10:58:27
不客氣,呵呵。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-683265/,如需轉載,請註明出處,否則將追究法律責任。

相關文章