阿摩線上測驗 登入

申論題資訊

試卷:108年 - 108 中華郵政股份有限公司_職階人員甄試_營運職/資料庫管理_專業科目(2):資料庫系統規劃、開發與實務#75282
科目:資料庫系統規劃、開發與實務
年份:108年
排序:0

題組內容

第三題: 於資料表設計過程中,施以“正規化”(normalization)之目的乃為降低資料重複性(Data Redundancy)以及避免資料更新異常(Anomalies),請問:

申論題內容

(四)針對資料表施行“反正規化”(denormalization)之目的為何?【5 分】

詳解 (共 1 筆)

詳解 提供者:hchungw

資料表施行“反正規化” (denormalization) 的目的在於提高資料庫的查詢性能和操作效率。以下是反正規化的主要目的和考量:

1. 提高查詢性能

反正規化透過將相關資料集中到同一個表中來減少查詢所需的聯結 (JOIN) 操作。這可以顯著減少查詢的複雜性和執行時間。例如,如果某個應用程序頻繁需要從多個表中獲取資料,將這些資料合併到一個表中可以大幅提升查詢速度。

2. 降低系統負載

頻繁的聯結操作不僅會增加查詢時間,還會加重資料庫的負載。反正規化通過減少聯結操作,可以降低資料庫伺服器的負載,從而提高整體系統性能。

3. 增強查詢效率

在一些情境下,預先計算和儲存某些冗餘資料可以加快查詢速度。這對於需要快速回應的即時應用特別有用。例如,電商平台可能會預先計算和儲存用戶的總訂單金額,以便在查詢用戶資料時能夠快速返回這一資訊。

4. 簡化報表生成

反正規化可以簡化資料報表的生成過程。通過將需要報表中的資料預先合併到一個表中,可以大大縮短生成報表所需的時間和計算量。這對於需要生成大量報表的企業系統特別有益。

5. 改善讀取性能

在讀取操作多於寫入操作的系統中,反正規化可以顯著改善讀取性能。這是因為反正規化後的表格結構更適合快速讀取,而不需要經常進行複雜的聯結和運算。

6. 簡化應用程式邏輯

反正規化可以使應用程式的查詢邏輯變得更簡單,減少對於多表聯結的依賴,從而降低程式碼的複雜性和維護成本。

反正規化的缺點

雖然反正規化有許多優點,但也帶來了一些潛在的問題,如:

  • 資料冗餘:反正規化會引入資料冗餘,增加儲存空間的需求。
  • 資料一致性問題:反正規化後,更新操作可能需要同步更新多個地方,這增加了保持資料一致性的難度。
  • 維護困難:隨著時間推移,維護反正規化的結構可能變得更加複雜和困難。

總結

反正規化的主要目的是通過減少聯結操作和加快查詢速度來提高資料庫的性能和效率,特別是在讀取操作頻繁的情況下。然而,這也需要在設計時仔細權衡,以平衡性能優化和資料一致性及維護成本之間的關係。