我有一个概念性问题,我希望更精通 sql 数据库设计的人可以帮助我。我有一个表,其中每一行在其他几个表之一中都有对应的行。IE。表 1 中的行在表 2、表 3 或表 4 中都有对应的行(但永远不要超过 1……对应的行只能在其他表之一中)。
设置此结构的最佳方法是什么。如果我在表 1 中放了一个 othertable_id 列和一个 tablename 列,我可以保证其他表中只有 1 个对应的行,但这似乎是一个非常不灵活的混乱解决方案。另一方面,如果我只在 table2、table3 和 table4 中放置一个 table1_id 列,似乎每次我想找到与 table1 中的一行对应的行时,我都需要运行 3 个不同的查询,而且看起来像我不能保证 table1 中我的行在三个表中的任何一个中只有一个条目。
有没有人有什么建议?