我有一個事實表,它有17個鍵。通常,我一直將主鍵指定爲我所有的維度鍵。 MS SQL Server 2008在主鍵或唯一約束中具有16列的限制。有沒有解決辦法?如何在ms sql server中處理超過16個鍵的事實表
0
A
回答
1
我下載了微軟的項目真實。它們不包含PK中的所有密鑰。有兩種情況。如果每個業務規則的所有密鑰都是唯一的,那麼這就是pk。 2-如果表中的密鑰數量超過了每個商業規則唯一的密鑰,則在唯一密鑰上使用聚簇索引,並且該表沒有主密鑰。
1
建立一個計算列作爲一個串聯和索引?
您只需要連接超過第15列的列,並使該第16列的額外列。
您確定您需要十七個維度嗎?
0
你能結合尺寸嗎?我曾經有三個維度,每個維度都有三個四位數值,並將它們放在一起,形成約48行的「垃圾」維度(Kimball的名字,不是我的)。
2
爲事實表創建代理主鍵。
1
我希望你沒有太多的事實。有17個維度,你會遇到問題很快彙總。
相關問題
- 1. 在MS SQL Server Management Studio中處理事務的最佳方式
- 2. MS SQL Server 2008中的空處理
- 3. SQL Server SSIS事務處理
- 4. 處理兩個事實表
- 5. SQL Server事務處理
- 6. DROP SQL表如果創建日期超過一個星期 - MS SQL Server
- 7. MS SQL SERVER:在一個表中
- 8. MS SQL Server - 使用事務處理霧化操作
- 9. 在MS SQL Server 2008中設置弱實體的外鍵?
- 10. SQL Server事實表索引
- 11. 如何提取MS SQL Server表的主鍵列的名稱?
- 12. SQL Server如何處理存儲過程中與事務相關的語句?
- 13. 在SQL Server中處理多個參數
- 14. 如何處理SQL Server中的實體版本?
- 15. SQL SERVER,複合主鍵處理
- 16. 如何通過BIOS中斷在實模式下處理鍵盤?
- 17. 如何MS SQL Server 2008的
- 18. SQL Server如何在內部處理Varchar?
- 19. 如何處理超過100個表的數據庫
- 20. 優化SQL MS SQL Server中,表中
- 21. 如何在SQL Server的表中添加2個外鍵?
- 22. 如何設計和處理事實表中的指數增長?
- 23. 通過Sql Server管理工作室在Sql Server中刪除表
- 24. 實時抓拍和按鍵的處理(例如按鍵事件)
- 25. 如何對這個SQL Server表進行非規範化處理?
- 26. 如何添加超過1024列SQL Server
- 27. 在事務處理期間跟蹤SQL Server中的更改
- 28. 如何通過Sql Server和.Net處理存儲過程
- 29. SQL Server查詢處理過長?
- 30. 無需代理的MS SQL中的每分鐘事件實現
是的,我確實需要17個維度。我使用整數鍵,串聯如何工作? – Rick 2009-07-16 19:11:24
如果您只關心唯一性和不整理,您可以將它們轉換爲字符串並將它們與某些分隔符結合使用。 如果你關心整理,我會使用一種貨幣類型,並使用乘數。因此,如果第17個值的範圍從0到1,000,000,則計算值= 16th * 1000000 + 17th。 還有其他更有效的方法來完成它,具體取決於數據的結構和您願意投入多少工作。 – lavinio 2009-07-16 19:36:05
組合鍵的更爲抽象的方法是使用二進制(x)數據類型 - 每個INT鍵添加四個字節。但它打破了星型模式範式,並會像罪惡一樣醜陋。 – 2009-07-24 14:50:54