我有5个表可以包含电话字段,但我想要为每个表的多个电话号码的选项。SQL一对多关系,但多对一表关系
而不是创建5个子表,更有意义的是创建一个,并将其链接到其他5个“父”表。但现在我正在考虑如何将该表链接到其他5.
我的第一个想法是过滤2个主题。一个存储链接表名称的字段,以及一个包含来自五个表之一的键的通用外键。我仍然倾向于这种方式。
接下来是将5个外键放到表中,并允许它们为空的想法。我不喜欢4个空字段的想法。更不用说我有与另一个表以相似的方式链接到另外11个表的问题。
第三个是连接或连接表,再次(我相信)5个空的外键,但是这似乎并没有做任何事情,更多的则选择2多一点的复杂性。
第四个选项,我为大多数表的主键使用自动增量字段。我可以切换到这些表的UUID或GUID。我已经设置为使用UUID作为主要安全原因,但是对大多数表使用自动增量来提高性能。
第5个选项是我碰到了在那里的自动递增字段用表名相结合,创建一个新的字符字段。 (仅在创建表时,技术上不是一个计算的字段。)但是再次看不到超出第一个选项的好处。
就是其中之一,以最好的方式,还是有另一种选择我要么错过了,还是不明白吗?
嗯,最重要的是你完全避免了在表格中放置逗号分隔值的想法。 :) – Guffa