合并两个交叉引用表?
merge two crossreference tables?
我有三个具有多对多关系的 table:
个人资料、角色 和类型
然后,我有两个交叉引用tables:
profile_role:
role_id : int
profile_id : int
profile_type:
profile_id : int
type_id : int
两个 table 中的共同外部 ID 是 profile_id。
我的想法是创建一个包含三个外部 ID 的 table:
profile_role_type:
role_id : int
profile_id : int
type_id : int
我的问题:这两种设计是否等效(没有数据丢失或冗余)?
profile_role_type
只有在 profile_role
中 恰好 一行且每一行都具有相同的 profile_id
时,
profile_role_type
才是有效的替换profile_type
.
总而言之。
我有三个具有多对多关系的 table: 个人资料、角色 和类型
然后,我有两个交叉引用tables:
profile_role:
role_id : int
profile_id : int
profile_type:
profile_id : int
type_id : int
两个 table 中的共同外部 ID 是 profile_id。 我的想法是创建一个包含三个外部 ID 的 table:
profile_role_type:
role_id : int
profile_id : int
type_id : int
我的问题:这两种设计是否等效(没有数据丢失或冗余)?
profile_role_type
只有在 profile_role
中 恰好 一行且每一行都具有相同的 profile_id
时,
profile_role_type
才是有效的替换profile_type
.
总而言之。