n到许多数据库关系

时间:2014-06-02 17:09:00

标签: mysql database database-design relational-database

首先,我无法想象这些问题之前没有得到解答,但是我真的尝试过但找不到它,我想我用的是错误的措辞。我道歉。

我正在进行数据库设计,在其上我有2个实体:

  • 匹配

每场比赛都参加了两支球队。起初我认为这种关系是“多对多”的关系,所以我认为关联表是正确的答案。

但是当考虑它时,关系更像是2对多,我认为让TeamA和TeamB更有意义。

我问了一位朋友,他说,由两个不同栏目管理的关系实际上是两个1比1的关系。使2列解决方案成为正确的解决方案。

什么是正确的答案?

1 个答案:

答案 0 :(得分:0)

语言是你的问题。

在任何给定的比赛中,您将有两个Team实例在比赛。匹配将在唯一的位置和开始时间进行。

在一个赛季过程中,一个团队将播放一个Schedule,它是Match实例的集合。

如果您同意,比赛是两个小组的单一配对; Schedule是Match实例的集合。团队将发挥独特的时间表。

所以我可以设想这样的架构:

  1. 使用主键的团队表。
  2. 将表与主键和两个引用Team表的外键匹配,一个用于所涉及的两个团队。
  3. 使用主键,引用Team的外键以及引用Match实例的许多外键来计划表。团队的时间表是1:1,而匹配的是1:很多。