我正在尝试找出管理此数据存储问题的最佳方法....
我有一张球员、球队和比赛的表格。
一个团队可能会参与 3 场比赛。
一名球员属于一个球队,但可能只有资格参加他或她的球队参加的 3 场比赛中的 2 场。同样,同一球队的另一名球员可能有资格参加所有 3 场比赛。
我不想在每次比赛的玩家表中添加一列,因为我正在远离关系模型。我需要另一张桌子“competition_eligiblity”吗?但这似乎需要做很多工作!
有什么建议么?
谢谢,
艾伦。
我正在尝试找出管理此数据存储问题的最佳方法....
我有一张球员、球队和比赛的表格。
一个团队可能会参与 3 场比赛。
一名球员属于一个球队,但可能只有资格参加他或她的球队参加的 3 场比赛中的 2 场。同样,同一球队的另一名球员可能有资格参加所有 3 场比赛。
我不想在每次比赛的玩家表中添加一列,因为我正在远离关系模型。我需要另一张桌子“competition_eligiblity”吗?但这似乎需要做很多工作!
有什么建议么?
谢谢,
艾伦。
是的,您确实需要一张参赛资格表。
把它放在那里真的没有更多的工作。实际上,它的工作量会更少:
假设您想列出玩家有资格参加的所有比赛。这是您的查询:
select player, "competition1" from players where competition1_eligible = 1
union all
select player, "competition2" from players where competition2_eligible = 1
union all
select player, "competition3" from players where competition3_eligible = 1
union all
select player, "competition4" from players where competition4_eligible = 1
听起来很有趣,嗯?然而,如果您有资格表,则此信息将很容易获得。
更新:将所有资格信息存储在一个值中将更像是一场噩梦,因为想象一下试图从字符串中提取该信息。这超出了理智的 SQL 查询的限制。
创建一个新表实际上是一件微不足道的工作,您只需要做一次。如果你这样做,之后的一切都会容易得多。