我讀維基百科文章有關OLAP和OLAP Fact Tables和文章指出OLAP:爲什麼事實和維度表之間的所有外鍵都應該是代理鍵?
事實和維度表之間的所有外鍵應該是代理 鍵,從運行數據不重複使用密鑰。
但它沒有說明原因。 那麼,爲什麼要
事實和維度表之間的所有外鍵應該是代理 鍵,從運行數據不重複使用密鑰。
?
我讀維基百科文章有關OLAP和OLAP Fact Tables和文章指出OLAP:爲什麼事實和維度表之間的所有外鍵都應該是代理鍵?
事實和維度表之間的所有外鍵應該是代理 鍵,從運行數據不重複使用密鑰。
但它沒有說明原因。 那麼,爲什麼要
事實和維度表之間的所有外鍵應該是代理 鍵,從運行數據不重複使用密鑰。
?
從什麼是從維基百科Dimension Table了詳細的解釋:
建議的關鍵領域是原因的一個簡單整數鍵值是毫無意義的,只是用來將加入這一事實之間的字段和維度表。 替代維度鍵的使用帶來當中幾個優點:
辛苦賺來的知識。
運營數據中的密鑰可能隨時更改格式。這樣就更簡單了。
這就像問「我應該使用SSN作爲users
表的主鍵嗎?」。雖然你(理論上)可以,但這不是一個好主意。
雖然我承認自己並不知道自己在說什麼。我只記得我們的甲骨文員工對此事有非常強烈的意見。 :-)
我永遠不會使用SSN作爲任何表的主鍵。這些信息需要很大的保護。將它用作PK將意味着它將作爲外鍵連接出現在其他表中。即使是公司特有的員工ID也不應該被使用。代理鍵工作得更快。它們可以將維度設置爲SCD Type 2.即使您認爲只需要類型1,也可能會改變路線。