2016-01-22 46 views
-1

編輯:請不要只是投票。如果這是一個愚蠢的問題,請至少給一個簡單的解釋和一個投票。謝謝。爲什麼不把非規範化表格推向極致?

我們已經告訴軟件開發人員/數據庫開發人員爲多種實體類型創建多個表。那只是讓我們更容易建模的一件事情,或者這是什麼技術原因?

我能想到的原因是,在非規格化表中,數據量要大得多,因爲會有很多重複條目。例如,對於只有一個客戶的5000個不同的客戶訂單,表中的同一客戶將是5000次。同時保持客戶數據一致可能是一個問題。

但是讓我們假設數據量,一致性和聚合時間不成問題,但反規範化/連接數據是。將所有數據放在一張表中(作爲一種極端情況),並且僅僅根據需要使用基於用例規範化數據的不同視圖是否是一種可行的方法?

+1

由於您提出的問題將會產生高度褒獎的答案,您將會得到降低選票/關閉選票。沒有「正確」或「錯誤」的答案,這取決於你的具體情況以及你想要做什麼。 – BlackICE

回答

2

規範化操作數據庫的主要原因是避免異常。例如,忘記更新某個電話號碼的每一行。

這也是插入,更新和刪除記錄的快速方法。

但是,假設數據量,一致性和聚合時間是沒有問題

這是一個問題,而且將永遠是。這就像說我的法拉利會更快,如果安全不是問題。

高度非規範化的數據庫有一個用例:它被稱爲數據倉庫。