2

我有这种情况,我不确定它应该如何在数据库中建模。我试图建模的对象是:球队、球员、球队球员成员资格,以及给定球队中每个球员的应付费用清单。因此,费用取决于球队和球员。

所以,我目前的方法如下:

**teams**
  id
  name

**players**
  id
  name

**team_players**
  id
  player_id
  team_id

**team_player_fees**
  id
  team_players_id
  amount
  send_reminder_on

模式布局 ERD

在此模式中,team_players是 和 的联结teamsplayers。并且该表team_player_fees具有属于联结表的记录的记录。

例如,球员 A 在球队 A 中,并且在 8 月和 2 月到期的费用为 10 美元和 20 美元。球员 A 也在球队 B 中,并且在 5 月和 6 月到期的费用为 25 美元和 25 美元。每个球员/球队组合可以有一组不同的费用。

问题:

  • 有没有更好的方法来处理这种情况?
  • 这种关系有术语吗?(所以我可以用谷歌搜索)或者知道任何具有类似结构的参考资料?
4

1 回答 1

0

这是一个完美的设计。联结表(AKA 交集表)具有自己的属性(例如joining_date,可以包括从属表)并不少见。据我所知,这种安排没有特别的名称。

可能会感到奇怪的原因之一是这些表通常不存在于逻辑数据模型中。在那个阶段,它们由多对多连接表示法表示。只有当我们得到物理模型时,我们才必须实现连接表。(当然很多人跳过逻辑模型直接进入物理模型。)

于 2010-05-05T05:58:30.923 回答