Postgresql
將數據維度建模為列 - 一些維度具有高度可變性,而其他維度具有低可變性
如果問題不好,請原諒我的問題-我不是 DBA …
我想對以下數據進行建模:
假設我有一列是由序列生成的行 ID。假設我有 3 列:
A, B & C
數據可變性較低。我們還假設我還有 4 個I, II, III, IV
具有高數據可變性的列。作為一個具體的例子,假設 的值
A, B & C
可以是 1 - 50 之間的任何數字,並且 的值I, II, III & IV
可以是任何文本數據,又例如,1 - 1B 之間的任何數字。問題:
我應該用列建模一個表嗎:
row_id, A, B, C, I, II, III, IV
. 或者我應該對兩個表進行建模,第一個包含低可變性數據列:row_id, A, B, C
第二個包含其餘列,同時引用row_id
第一個表的:row_id, first_table_row_id, I, II, III, IV
。我正在使用postgresql。哪個答案最適合該數據庫?什麼答案是通用的最好的?
另外,可能沒有一個明確的答案,如果是這樣,每種建模方案的優缺點是什麼?
我建議為您的高可變性列創建一個單獨的維度。這是根據 Kimball 方法論的 4 類微型維度。
希望這可以幫助。