數據庫設計遐想

         1.   慎用外鍵             RDBMS   支持複雜關係的能力很強,不管用戶怎麼在邏輯上設定外鍵,它基本上都能從物理上幫用戶實現。可是外鍵把許多獨立的實體牽連在一塊兒,不只使   RDBMS   維持數據一致性負擔沉重,也使數據庫應用複雜化,加劇了程序開發負擔。這樣的數據庫很難理解,很難實現信息隱蔽性設計,每每把簡單問題複雜化。             2.   適當冗餘             減小數據庫冗餘的設計思路產生於70年代,它是促使   DBMS   進步的重要動力之一。然而,猶如爲了節省2個字節的存儲空間而釀成了現在全球爲之頭痛的2000年問題同樣,它是計算機硬件主導時代的產物。以今天國內計算機市場價格爲例,6G服務器硬盤的價格不過     2000元,而上海物價局   1996   年頒發的一我的月軟件開發的指導價約8000元,即一我的月的軟件價格就能夠購買20G左右的硬盤。即便有5萬行數據的庫表,每一個記錄壓縮40字符的冗餘,單純計算合計也不足2M,即節省0.6元錢的磁盤空間。             今天的世界已進入軟件主導的計算機時代。所以,最容易理解、應用開發工做量最少、維護最簡單的數據庫結構纔是最好的。只要數據完整性、一致性不受威脅,有些冗餘,不足爲慮。換言之,最節省軟件成本   (而不是硬件成本)   的是最好的。             3.   信息隱蔽             這是軟件工程最重要的基本原則之一。簡言之即信息的做用域越小越好,數據庫的透明度越大越好,由於應用程序須要知道得越多就越複雜。使數據庫黑盒化   (透明度高)   的方法不少,除了設計上的局部化處理外,還能夠利用   DBMS   的觸發器、存儲過程、函數等   ,把數據庫中沒法簡化的複雜表關係封裝到黑盒子裏,隱藏起來,特別是放到服務器端,其優越性更是多方面的。  
相關文章
相關標籤/搜索