2009-07-16 35 views

回答

1

我下載了微軟的項目真實。它們不包含PK中的所有密鑰。有兩種情況。如果每個業務規則的所有密鑰都是唯一的,那麼這就是pk。 2-如果表中的密鑰數量超過了每個商業規則唯一的密鑰,則在唯一密鑰上使用聚簇索引,並且該表沒有主密鑰。

1

建立一個計算列作爲一個串聯和索引?

您只需要連接超過第15列的列,並使該第16列的額外列。

您確定您需要十七個維度嗎?

+0

是的,我確實需要17個維度。我使用整數鍵,串聯如何工作? – Rick 2009-07-16 19:11:24

+0

如果您只關心唯一性和不整理,您可以將它們轉換爲字符串並將它們與某些分隔符結合使用。 如果你關心整理,我會使用一種貨幣類型,並使用乘數。因此,如果第17個值的範圍從0到1,000,000,則計算值= 16th * 1000000 + 17th。 還有其他更有效的方法來完成它,具體取決於數據的結構和您願意投入多少工作。 – lavinio 2009-07-16 19:36:05

+0

組合鍵的更爲抽象的方法是使用二進制(x)數據類型 - 每個INT鍵添加四個字節。但它打破了星型模式範式,並會像罪惡一樣醜陋。 – 2009-07-24 14:50:54

0

你能結合尺寸嗎?我曾經有三個維度,每個維度都有三個四位數值,並將它們放在一起,形成約48行的「垃圾」維度(Kimball的名字,不是我的)。

2

爲事實表創建代理主鍵。

1

我希望你沒有太多的事實。有17個維度,你會遇到問題很快彙總。