对于与同一个表具有1对1关系的多个表,最佳数据库设计是什么?

ben*_*der 3 database-design

例如,我有三个表,用于存储具有不同数据的不同类型的用户.但现在我想存储他们的联系信息.存储其联系信息的表适用于存储所有用户表的数据.

问题是我在不同的用户表之间有不同的或可能重复的ID,因此无法创建与我的联系表的关系.一种解决方案是为每种用户类型创建一个联系表,但这似乎很浪费,因为唯一的区别就是ID.

此外,我考虑将联系人ID存储在用户表中,但这似乎不太理想,因为我们可能没有用户联系信息,直到以后,如果有的话.

我还缺少其他任何选择吗?

KM.*_*KM. 5

这就是我要做的:

table Users
UserID                 -PK auto number
UserLogin
UserName

table UserSpecialType1
UserSpecialType1ID     -PK auto number
UserID                 -FK
SpecialInfoA
SpecialInfoB

table UserSpecialType2
UserSpecialType2ID     -PK auto number
UserID                 -FK
SpecialInfoC
SpecialInfoD

table UserContactInfo
UserContactInfoID      -PK auto number
UserID                 -FK
EmailAddress
PhoneNumber
Address
Run Code Online (Sandbox Code Playgroud)