以我的理解,方案三最好,其实不存在“数据不完整”之说的,你所说的完整,换个说法就是冗余,从数据规范来说,是应该尽量避免的。
其实用SQL语句可以一次查询多个表的数据,组合成一个"完整"的表,所以不用担心。
如果以一定要完整,推荐方案1,三列也没有啥关系的,不简单对性能有多大的影响,之前你遇到的问题,不是多列关联造成的,而且新的版本已经解决。