2013-02-18 35 views
3

我正在設計一個用於信息系統的數據庫。它將包含有關客戶,員工和物品的數據。不用說,僅客戶部分就有大約十幾張桌子。將數據分割到多個數據庫的好習慣?

我想知道如果將這些數據分割到多個數據庫然後在其中引用,或者將它們全部保存在同一個數據庫中會是更好的做法是不好的做法。

所以,與其具有單個DB(例如Company_DB)與兩個表(例如CUS_DETAILSEMP_DETAILS等),這將是最好有兩個數據塊(Company_Cus,Company_Emp)同在一個CUS_DETAILSEMP_DETAILS在其他?

問候。

+1

取決於你想實現什麼?我認爲整個問題在這裏有點不清楚。 – 2013-02-18 12:16:02

+0

恕我直言,加入將在單個數據庫比跨多個... – Mr47 2013-02-18 12:16:13

回答

4

「良好做法」是那些使我們能夠使我們的偏見聽起來比他們真的是更重要的短語之一...

一般情況下,要存儲的東西放在一起屬於一個整體。如果你有一個單一的信息系統,它爲企業運行一切,而你管理的實體彼此相關 - 客戶有訂單,訂單有銷售人員和產品 - 你可以爭辯說他們屬於一個整體。另一方面,如果你注意到你有表的「孤島」並不真正鏈接到任何其他表,可能它們不屬於一起。

從可維護性的角度來看,管理更多的數據庫意味着更多的備份,更多的維護例程和更多的安全配置文件來管理。

從可讀性的角度來看,圍繞不同數據庫尋找您感興趣的表可能是一件壞事 - 例如,在「客戶」和「客戶」之間存在多對多連接表的情況下,員工「 - 例如銷售團隊 - 這張桌子在哪裏生活?在「客戶」數據庫或「員工」中?

從可靠性的角度來看,我不確定您是否可以跨數據庫實施外鍵約束。

我不能真正想到這樣做的好處 - 所以我會說這是一個壞主意。

2

我認爲最好將它全部放在一個數據庫中,而不是將數據分散在多個數據庫中。

就我個人而言,我認爲在不同數據庫中分離信息的唯一原因是在一個平臺上擁有完全不同的系統或子系統。

無論您使用多少個數據庫,數據量都是相同的。

1

我會去一個單一的數據庫,除非它真的沒有必要 拆分成多個數據源的單一DB不限於 表打。

總會有令人頭疼的事情來管理多個資源。

+0

感謝您的答案。在進行數據庫維護時,更多是爲了可讀性目的,但是謝謝,我只使用一個數據庫。 – user2083193 2013-02-18 12:22:23

+0

即使您有多個客戶端,那麼我也建議您使用單個數據庫與多個客戶端的特定數據。 – subodh 2013-02-18 12:26:03

0

您是否將數據庫存儲在同一個磁盤上?如果是這樣,將其分解到不同的數據庫中根本不會有任何改進。多個數據庫之間的引用比同一數據庫中的多個表要慢。

一個單一的數據庫,但是,會更快,更易於維護:只有一個數據庫,以確保只有一個數據庫連接的應用程序管理等

的數據庫存在的原因是爲了保持一組的相關對象,所以我們可以相應地管理它們(否則我們只是直接創建表過程和視圖,而不將它們綁定到數據庫,並且每個表都有它自己的文件,統計數據等)。

如果您認爲將表放在同一個數據庫中會變得混亂,也許您需要更好的對象命名模式?

底線:對我來說這似乎是一個非常糟糕的做法,因爲它沒有優勢和缺點。