数据库表设计中,一个字段关联两个表,可以吗?这样关联有什么意义吗?

我有三个表,一个是审核表,一个是复核表,一个是附件表,附件表中的附件有可能是审核表的,也有可能是复核表的,想用附件表中的一个字段GLID同时关联审核表和复核表的主键,想当这个附件属于审核表时这条附件表记录就关联审核表,当这个附件属于复核表时,这条附件表记录就关联复核表

可以关联两个表,或更多表。
关联可以减少数据的重复存储,保证数据的正确性。
保证数据的正确(完整性)是很重要的。
关联可以防止更新数据时,破坏数据的完整性。
比如当价格表和销售表不关联到商品表时,
商品名称变更时需要修改三张表,如果一时疏忽可能遗漏某个表的更新处理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-19
可以,这是关系性数据库的表示方法,其意义在于减少重复数据的存储。
第2个回答  2011-07-19
一个字段关联两个表
如果你这个字段是主表的一个字段, 关联的是两个字表,那么完全是没有问题的。

例如一个员工表、一个 考勤表、一个 工资表
员工表的 员工ID字段 关联两个表 (考勤表、工资表)
第3个回答  2011-07-19
肯定是可以的,外关联就可以
第4个回答  2011-07-19
用LEFT JOIN 加CASE WHEN 吧
select case when b.column2 is not null when b.column2 else c.column2 end
from 附件表 a left join
复核表 b on a.column1=b.column1 left join
审核表 c on a.column1=c.column1
大致思路是这样。看是否还有其它疑问本回答被提问者采纳
相似回答