合并两个交叉引用表?

时间:2016-11-30 11:44:44

标签: database database-design cross-reference

我有三个表与多对多关系: 个人资料角色类型

然后,我有两个交叉引用表:

profile_role:
  role_id    : int
  profile_id : int

profile_type:
  profile_id : int
  type_id    : int

两个表中的常见外部ID为 profile_id 。 我的想法是创建一个包含三个外部ID的表:

profile_role_type:
  role_id    : int
  profile_id : int
  type_id    : int

我的问题:两种设计是否相同(没有数据丢失或冗余)?

1 个答案:

答案 0 :(得分:1)

profile_role_type只有在profile_role完全的一行与profile_id中的每一行profile_type相同时,才会成为有效的替代品

这就是它的长短。