關係型數據庫設計需遵循三範式:數據庫
通常說來,數據庫只需知足第三範式(3NF
)就好了。數據庫設計
沒有冗餘的數據庫設計能夠作到。可是,沒有冗餘的數據庫未必是最好的數據庫,有時爲了提升運行效率,就必須下降範式標準,適當保留冗餘數據。具體作法是:在概念數據模型設計時遵照第三範式,下降範式標準的工做放到物理數據模型設計時考慮。下降範式就是增長字段,容許冗餘,達到以空間換時間的目的
。性能
〖例〗:有一張存放商品的基本表,如表1所示。「金額」這個字段的存在,代表該表的設計不知足第三範式,由於「金額」能夠由「單價」乘以「數量」獲得,說明「金額」是冗餘字段。可是,增長「金額」這個冗餘字段,能夠提升查詢統計的速度,這就是以空間換時間的做法。優化
在Rose 2002
中,規定列有兩種類型:數據列和計算列。「金額」這樣的列被稱爲「計算列」,而「單價」和「數量」這樣的列被稱爲「數據列」。spa
優勢:設計
(範式化是以時間換空間)code
缺點:索引
優勢:效率
缺點:統計