用於處理多個帳戶的資料庫結構(多租戶資料架構)?

用於處理多個帳戶的資料庫結構(多租戶資料架構)?

編寫處理單一實體的軟體總是很容易。然而,設計處理多個帳戶/公司的軟體需要盡職調查。

我目前正在對處理多個帳戶/公司的資料庫模式進行初步研究,我想問您是否可以共享演示正確模式的網頁或開源軟體?

編輯:我找到了合適的術語,即多租戶資料架構。一篇有用的 Microsoft 文章描述了這個方法:http://msdn.microsoft.com/en-us/library/aa479086.aspx

謝謝。

答案1

這僅比「單一實體」稍微複雜一些。讓我們假設最壞的情況 - 多家公司各自擁有多個帳戶。公司一張桌子。一張帶有公司 ID 外鍵的帳戶表。那麼每筆交易都有Account ID的外鍵。對於所有其他數據,您需要確定它是否屬於一家公司、一個帳戶或其他某個。即員工只能為一家公司工作(一般來說),因此員工將公司 ID 作為外鍵。一個部門將屬於一家公司,具有相同的關係。

這一切都是為了了解什麼屬於誰並建立關係。這聽起來可能非常簡單,但事實就是如此。

尋求使用一些已建立的模式可能會節省您很多精力,但這種努力才能確保獲得良好的結果。良好的資料庫設計來自於提出所有問題 - “一名員工可以為多個部門工作嗎?” “採購費用是否總是由一個部門負責,還是可以分攤成本?” “我們是否需要追蹤員工重新分配的多個批准?”它會永遠持續下去,但如果你不這樣做,你的系統將不斷地讓使用者失望,並需要無休止的修改。

相關內容