2010-10-22 154 views
1

公司擁有4個實體企業,所以我創建了4個不同的數據庫,用於將用於人力資源服務公司每一個。我們稱之爲集團,公司1,公司2和公司3。儘管它們都是不同的數據庫,但表和存儲過程(SP)幾乎與Group相同。組是一個數據庫,可以從每家公司獲取彙總數據。由於安全目的,我確實創建了這種方式,但現在很難管理。當我更換company1的SP時,我必須爲company2和company3做同樣的事情。所有4個數據庫都有相同的員工主表,所以當有人被添加到公司時,那麼必須通過觸發器或SP將該人員添加到組DB的員工表中,如果他們在一個表中一個數據庫。順便說一句,我儘量不要在組DB中使用視圖。爲了溝通Group DB和其他三個公司的DB,我必須不斷添加SP,觸發器和作業到數據庫中。創建多個數據庫或一個

現在我要創建兩個以上的公司,所以我必須要考慮這件事我是否作爲一個單獨的數據庫或不保留創建相同的表和SP試。

什麼是您創建此類型的數據庫的看法?你願意爲所有公司提供一個數據庫還是分開4個數據庫?請,我想分享你的意見。謝謝。

回答

1

你應該把它全部放到一個數據庫中。對於原因很多,但你已經碰到了一個 - 共享員工表...

安全可以定製這樣的人的特定組可以訪問特定的表,等等。

好了,道路是漫長的,採取的第一個步驟:)

+0

員工表不共享。每個數據庫都有一個員工表。集團擁有員工表,並擁有來自Company1,Company2和Company的所有員工。 – Hoorayo 2010-10-22 14:33:17

+0

是否有一個員工表,所有員工都應該在哪裏? – 2010-10-22 14:38:45

+0

它在組DB上。 – Hoorayo 2010-10-22 15:44:25

2

把所有的東西普遍,包括SPS,在一個數據庫,然後有一個分貝無論是具體到每家公司。你不應該在多個地方更新任何東西。

+0

我沒有那樣想過。聽起來不錯。 – Hoorayo 2010-10-22 15:45:00

+0

然後你會查詢另一個不同的數據庫?聞我的動態SQL。 – gbn 2010-10-22 16:53:46

+0

不,我不認爲它是動態的sql,但是在每個公司數據庫中,你都可以鏈接到它所需的公共數據庫。 – Beth 2010-10-25 16:00:42

1

你必須使用一個單一的數據庫來存儲所有數據的一些非常強大的情況下。從您的描述中可以看出,您可以通過這種方式進行設計,不僅可以使您的部署工作更輕鬆,還可以簡化整個組中可能發生的任何彙總報告。

你必須權衡你的信息安全要求的好處。我知道在某些環境下,單獨的數據庫是安全的必要條件,由法律或公司政策規定。如果您沒有這些嚴格的安全要求,我推薦使用單一數據庫方法。

+0

是的。彙總報告是問題的一部分。這就是彙總數據被插入到組數據中的原因。這不是不可能的,但這很難做到。 – Hoorayo 2010-10-25 20:21:38