0
我正在开发一种连接2个数据源(例如查询)的方法。DB设计:同一列用于2个不同的外键
我有一个名为QUERYFIELD结构如下表:
QueryID
FieldID
FieldName
....
如果我有QUERYFIELD
QueryID FieldID FieldNAme
------------ --------- ----------
1 1 CustomerID
1 2 CustAddress
2 3 CustNo
2 4 CustomerPhone
2个记录我希望有一个新的表QueryFieldJoin定义2个查询中用于加入的字段。我的想法是具有以下结构
LeftJoinFieldID (FK from FieldID of QueryField)
RightJoinFieldID (also FK from FieldID of QueryField)
JoinType (intersect, outer join).
PrimaryKey的是LeftJoinFieldID的组合和RightJoinFieldID
LeftJoinFieldID RightJoinFieldId JoinType
-------------- ---------------- --------
1 3 Intersect
这将工作,但我觉得这是不具有相同领域的最佳DB设计作为另一张桌子上的两个不同列的外国人。任何人都可以提出更好的方法吗?
更好的方法:有两个**分开的**列,每个列都是FK关系之一的FK。这样,你也可以**在数据库中执行** FK关系 –
+1对于上面的评论 – Jerome
我不确定我是否得到你,我已经在QueryFieldJoin表中有2个独立的列? – keitn