這是當今時代所有數據庫工作的理論模型。所以,我之所以更強調這個概念,是因為如果你很好地理解了這個概念,那麼你不僅可以更好地掌握技術方麵的知識,而且如果你選擇了數據庫管理員的職業,你將來會有很好的工作機會。那麼,為什麼我們一開始就需要開發這項技術呢?
因為有一個非常嚴重的數據表裏不一的問題。您可能會想,即使出現重複數據,那又怎樣?以後可以刪除。但是讓我問您,如果您有相同的數據記錄,重複(複製)100次會怎樣?現在,如果在一個實例中,您需要更改該特定字段的數據,那麼單獨地,您將需要更改幾乎所有100個字段的數據!這是一項非常艱巨的任務。數據應該足夠精確,沒有任何顯著的冗餘(在技術術語中,數據表裏不一稱為冗餘)。
這就是為什麼我們需要一個關係數據庫模型,它可以幫助我們解決這些現實生活中的問題。現在,還有一點很重要。如果某個數據記錄重複了太多次,並且不必要地占用了計算機硬盤上的太多空間,或者如果您將其存儲在基於雲的存儲係統中,那麼無論采用哪種方式,您的存儲空間都在以其他方式浪費。這是對計算資源的浪費。
有沒有想過為什麼我們能寫出更好的算法?它僅僅是為已經存在的解決問題的技術帶來一些新的東西嗎?不。讓我解釋一下,計算資源是非常有限的(因為我們沒有一台擁有無限大RAM和無限大硬盤的計算機)。這就是為什麼我們需要更好的算法,在核心計算機科學術語中,我們說我們需要一個更好的時空的權衡.同樣的類比也適用於數據庫。我們需要一些在管理計算資源方麵非常有效的技術。因此,在數字世界中,我們受到這些資源的限製,因此冗餘成本太高。