簡體   English   中英

是否可以在不使用鏈接表的情況下將多個事實表連接到相同的維度表?

[英]Is it ok to have multiple fact tables that are connected to the same dimension tables without using a link table?

讓我們說在我的數據庫模型中我有三個事實表。 這些事實表具有相同的維度表(所謂的一致維度)。 我知道我不應該直接連接事實表(因為直接連接可能導致一些事實的重復計算),但只能通過維度表。 我感興趣的是我可以毫無問題地將每個事實與每個維度表連接起來嗎? 我尋找了很多答案,意見分歧。 有人說沒有問題,其他人說因為這個事實表可以相互關聯,並且可以發生循環引用; 並且在這些情況下應該使用所謂的鏈接表。 這個鏈接表真的是必要的還是沒有它可以工作?

如果維度可以描述事實事件的某個方面,則應將其連接以便可以在分析中使用。

但是,您不應強制關系將事實連接到不需要的維度。 這將使你的模型混亂和臃腫。

你是不正確的,你不應該直接連接事實。 該模型不起作用。 您需要閱讀事實和維度的目的,以了解原因。

您應該能夠通過公共維度在相關事件之間導航,但這不是循環引用。 循環引用可防止返回值,因為關系沒有底部。

如果實體具有多對多關系,則可以使用鏈接/橋接表將關系擴展為多個一對多/一對一關系。 模型很復雜,而且太多不能解釋為這個問題的一部分。

如果您需要更多,請發布您的一些模型,以便我們可以專注於您的問題的特定需求。

我實現了模型(在MS SQL中),我在這里分享我的經驗,以防將來有人對此感興趣。
最后,我創建了五個事實表(模型變得更復雜),它們都直接連接到所有現有維度表(其中六個)。 我沒有使用鏈接表。
這個模型現在使用了近五個月,到目前為止沒有出現任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM