我有一个SupportFile表,我想用它来存储各种来源的文件。这是现在的布局:
这不是一成不变的,我还在开发表格。
将SupportFile表与这些其他表关联的最佳方法是什么?如有必要,可以有多个关联和多个来自同一个表。
例如,SupportFile中的记录可以附加到Corporation,Account或SupportEmail,或者在每个表中同时和多次注释。我可以将两个帐户链接到SupportFile。
我正在考虑为SupportFile可以附加到的每个表创建一个文件关联表。这是正确的方向吗?
我正在试图寻找处理此问题的最佳方法。有人有什么建议吗?
答案 0 :(得分:1)
您可以创建一个具有FK to Support文件的表,并为每个其他表创建可空的FK。它有点乱,但你可以再来一个桌子。新表可能是这样的:
SupportFileId (NOT NULL)
CorporationId (NULL)
AccountId (NULL)
SupportEmailId (NULL)
UserNameId (NULL)
因此,例如,如果您只将SupportFile附加到公司,那么您将拥有SupportFileId和CorporationId的1条记录,其余列为null。
如果您将SupportFile附加到公司和UserName,则您有2行。一个使用SupportFileId和Corporation,其余为null,另一个具有相同的SupportFileId和UserNameId,其余为null。
由于这会为每个表和支持文件创建多对多的关系,因此它应该可以满足您的所有要求。