2011-01-26 22 views
0

比方說,我需要在我的分貝存儲公寓。公寓有幾個屬性,如大小,面積,是否提供或沒有,等等。數據庫設計:許多列與幾個與陣列在他們

什麼是更好的:將每個值存儲在一個單獨的列或有幾列與數組?

+2

*第一範式*數據庫設計的:每列是原子。因此,我不會將整個數組填入單個列。它會變得凌亂,總有一天,遲早會有「設計」回來困擾着你。不要這樣做。 – 2011-01-26 15:24:28

回答

2

我同意喬爾,它取決於,尤其是,有多少列。對於它的價值,我總是以直接的方式開始,並且爲每個「有趣」屬性做一列。當然,任何你想查詢的東西,或者做數學計算($/sq-ft),都是最簡單的一列。

也許一些只是'顯示'的塊可以分組......但我不一定會以這種方式開始。

1

你不能用一個單一的答案回答這個問題。 「這取決於」我們正在討論的列的數量,以及它們是否可以合理地分解(即規範化)爲單獨的實體:-P

0

我通常會查看要存儲和查看的數據如果數據是我以後需要搜索的東西...例如...如果我有一張公寓桌,我可能會搜索有4間臥室(或1,2,3 ...)的公寓,我會盡量把臥室數量放在一個單獨的欄目中......如果臥室裏有一系列其他參數供公寓使用,則不能使用「臥室計數」索引。

1

如果您正在討論像Oracle,mysql,postgre這樣的關係數據庫,那麼通常最好每個屬性都有一列。使用這種方法,您可以輕鬆地在數據庫中搜索特定屬性。

在一列中存儲多個值並不常見,只能用於非常特殊的性能優化。

看一看數據庫規範化: http://en.wikipedia.org/wiki/Database_normalization