簡體   English   中英

處理與1個表的多個關系的最佳方法

[英]Best way to handle multiple relationships to 1 table

我有一個SupportFile表,用於存儲來自各種來源的文件。 這是到目前為止的布局:

在此處輸入圖片說明

這不是一成不變的,我仍在開發桌子。

將SupportFile表與其他表關聯的最佳方法是什么? 如有必要,可能有多個關聯,並且同一表中可能有多個關聯。

例如,SupportFile中的一條記錄可以同時附加到Corporation,Account或SupportEmail或Note中,每個表中都可以。 我可以將兩個帳戶鏈接到SupportFile。

我正在考慮為可以將SupportFile附加到的每個表的文件關聯創建一個表。 這是正確的方向嗎?

我正試圖尋找解決此問題的最佳方法。 有人有什么建議嗎?

您可以創建一個表,該表具有要支持的FK文件,而每個其他表都有可為空的FK。 有點混亂,但是您只需再增加一張桌子即可。 新表可能類似於:

SupportFileId (NOT NULL)
CorporationId (NULL)
AccountId (NULL)
SupportEmailId (NULL)
UserNameId (NULL)

因此,例如,如果您僅將SupportFile附加到公司,則將有1條記錄,其中SupportFileId和CorporationId其余列為null。

如果您有一個附加到公司的SupportFile和一個UserName,則將有2行。 一種是帶有SupportFileId的公司,其余部分為null,另一種具有相同的SupportFileId和UserNameId,其余部分為null。

由於這會為每個表和支持文件創建多對多關系,因此它應該允許您滿足所有要求。

暫無
暫無

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

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