我的情况是帐户可以有多个电话号码,但电话号码只能分配给一个帐户。这通常被认为是一对多关系,但应用程序中的电话号码可能会在一段时间内保持未分配状态(这意味着在分配给其他帐户之前,帐户外键将不存在)。
我觉得这些关系应该通过联接表来管理,只是因为在一段时间内可能没有将电话号码分配给帐户。
连接表是正确的选项,还是外键可以为空?
编辑:基本上,我有一个电话号码表和一个帐户表。帐户可以有许多电话号码,但电话号码可能只在任何特定时间分配给一个帐户。有时会将电话号码分配给某个帐户。
答案 0 :(得分:4)
除非关系是多对多的,否则不需要为用户/电话设置另一个间接表。如果没有用户使用它,并且号码本身是唯一的,那么将电话表上的用户密钥设为null
会更好。