假设我们有以下表格:
user
team
meeting
ateam
和 ameeting
都可以有多个users
(一对多的关系)。
对此数据库结构进行建模的最佳方法是什么?
选项1:
team-user
1个和meeting-user
关系的连接表:
列:,,user_id
示例
行:
team_id
meeting_id
1, 3, null
1, null, 4
选项 2:
2个连接表,一个用于关系team-user
,一个用于meeting-user
关系
列表 1:,user_id
示例team_id
行:1, 3
列表 2:,user_id
示例meeting_id
行:1, 4
选项 2,
team-user
并meeting-user
作为单独的表格。它将为您提供更多用例的更多灵活性,例如,如果不是所有users
相同的人team
参加特定的meeting
.users
在选项 1中,team
如果发生这种情况,您将无法确定所有这些人是谁。使用选项 2,您可以轻松查看所有这些人是谁users
,team
而不管他们是否参加了特定的meeting
.单独的表格,不同的用途,更大的灵活性,更好的设计。