2012-09-07 36 views

回答

1

許多答案表明,一些專家在飛行中學習了數據規範化,而不是正式的。特別是,許多答案似乎完全忽視了正常形式,並且將所有表格分解視爲標準化,而不管結果是否符合一些更高的標準形式。

它變得更糟。許多「規範化鷹派」寫得好像他們認爲規範化是一個全部或全部的命題。其他人寫道,如果偏離正常形式總是會導致不令人滿意的設計。還有一些人認爲規範化是自上而下的數據設計的一部分,而不是調試提議或傳統設計的方式。

最重要的是,您必須認識到,許多提問者和許多專家都完全適應這樣一種環境:數據庫將被封裝在單個應用程序的範圍內,通常一個應用程序將銷售給客戶在羣衆基礎上。這與20世紀80年代的數據庫環境完全不同,當時很多關於數據庫設計的經典文本都是最初編寫的。那時數據庫在多個應用程序和可能的多個應用程序開發團隊之間共享數據

當今一半以上的數據庫對報表生成器來說毫無價值,更不用說第二個應用程序。這是出於意圖,而不是無知或意外。

總之,你提出的問題只是冰山一角。

+0

哼。與獨立數據庫的上下文相比,功能依賴關係的概念在共享數據庫的上下文中有所不同嗎?在兩種環境中,冗餘和相應的更新異常**完全相同。同上的關鍵和同上的概念依賴關係的概念。同樣,數據庫更新程序**必須知道任何可能的更新異常**。只有在「孤立」環境中存在差異,錯誤和/或不完整的更新在整個地方擴散的可能性較小。但所有正式的基礎都是一樣的。 –

+0

原則是一樣的,就像你說的那樣。但是,弄錯它的代價是非常不同的。學習正確方法的成本與較小的投資回報相平衡。因此,與設計企業關鍵數據庫相比,新手可能更傾向於設計嵌入式數據庫。我不是想說理論已經改變了。我說遊戲已經改變了。 –

相關問題