我有这种情况,我不确定它应该如何在数据库中建模。我想要建模的对象是:团队,球员,团队成员,以及给定团队中每个球员的应付费用列表。因此,费用取决于团队和玩家。
所以,我目前的方法如下:
**teams**
id
name
**players**
id
name
**team_players**
id
player_id
team_id
**team_player_fees**
id
team_players_id
amount
send_reminder_on
在此架构中,team_players
是teams
和players
的联结表。表team_player_fees
具有属于联结表记录的记录。
例如,playerA在teamA上,并且在8月和2月收取10美元和20美元的费用.PlayerA也在teamB上,并且在5月和6月收取25美元和25美元的费用。每个球员/球队组合可以有不同的费用。
问题:
答案 0 :(得分:0)
因此是一个完美的设计。联结表(AKA交集表)具有自己的属性(例如joining_date
- 并且可以包括从属表)并不罕见。据我所知,这种安排没有特别的名称。
它可能感到奇怪的原因之一是这些表经常不存在于逻辑数据模型中。在那个阶段,它们由多对多连接符号表示。只有当我们到达物理模型时,我们才能实现连接表。 (当然,很多人会跳过逻辑模型并直接进入实体模式。)