我有一个主用户表,它有一些用户的共同属性(名称,电子邮件,电话),然后我还有2个表(比如x和y),它们包含两种用户的不同属性。你可以说(x1,x2,x3)和(y1,y2,y3)。一个用户可能只有一种类型。我在x和y表中有一个'user_id'列和一个主键列。 'user_id'列引用用户表中的'id'列。如果我删除x和y表中的'id'列(用作主键),而是使用'user_id'列作为主键和forign键,这是否正确?我正在使用postgres 9.6。
答案 0 :(得分:1)
你的场景非常好,没问题。它在数据库术语中称为超类型和子类型。
要了解更多相关信息,请访问该链接。