2013-03-14 62 views
0

我們有一個數據庫,可以保存我們所有軟件產品的各種記錄。一些記錄是針對特定軟件的,一些記錄是由不同軟件共享的。
不同的團隊將鎖定,編輯和更新數據庫。
當我們發佈不同的軟件時,我們只抓住這個單一的大數據庫,然後用軟件發佈它。創建新數據庫進行發佈?

這裏的問題是:

  • 數據庫可能會變得更大,它包含不必要信息的一個軟件,因爲它適用於所有軟件產品中的所有記錄。
  • 人們看起來很容易搞砸:你正在編輯的數據庫可能不是最新的;變化可能會破壞其他軟件,等...

我不知道什麼是對這類問題通常的解決方法,這裏是我能想到的解決方案:

  1. 請母親數據庫併爲不同的軟件生成子數據庫。
    不同團隊可以使用Web界面向母數據庫添加記錄,並在發佈時運行基本上從母數據庫複製必要表的任務,併爲該版本創建新數據庫。
  2. 請勿使用母版數據庫。不同的軟件使用不同數據庫但如何處理共享記錄?
+0

此數據庫是隻讀給您的客戶使用的,還是他們使用您的軟件寫入數據庫的? – 2013-03-14 19:05:35

+0

數據庫僅供客戶使用。 – 2013-03-14 20:42:42

回答

0

我會用你的第一種方法。這是我在閱讀你的答案之前想到的。擁有「母親」數據庫的好處是可以使所有軟件產品符合相同的模式。如果你願意的話,他們都共享相同的模板。

然後,當您準備發佈時,就像您所說的那樣,您將運行一個進程,並生成一個緊湊版本的數據庫並準備發佈。

由於模式更新,選項2是一個壞主意。它在概念上與分支代碼庫非常相似。如果您將代碼庫分成10次,那麼當出現錯誤修復時,您必須到10個位置修復並釋放它。

另外考慮有一個母親數據庫可以讓你輕鬆地跨所有的查詢。 「我們有多少個版本?我們有多少產品?我們發佈的最後一個產品是什麼?」

如果您拆分數據庫,那種查詢更難編寫。

相關問題