我有三个表与多对多关系: 个人资料,角色和类型
然后,我有两个交叉引用表:
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
我的问题:两种设计是否相同(没有数据丢失或冗余)?
答案 0 :(得分:1)
profile_role_type
只有在profile_role
中完全的一行与profile_id
中的每一行profile_type
相同时,才会成为有效的替代品
这就是它的长短。