【问题标题】:Is it best to use multiple rows, or arrays to structure data最好使用多行或数组来构造数据
【发布时间】:2016-03-24 05:24:32
【问题描述】:

我正在搭建一个比赛网站,需要存储每个参赛作品的多轮评委评分。

第一轮和第二轮的得分为0或1。如果一半的评委给0,则不进入下一轮。

进入第 3 轮的人将获得 1 - 10 分。前 x 名(综合评委得分)将进入最后一轮。同样的方法将适用于第 4 轮,但会显示获胜者等。

我想确保尽可能地设置表结构以帮助对上述数据进行排序。

最好有:

每个条目一行,评委对条目的分数存储在一个数组中的单个列中

array(
    array ( judge_id => '1', round_1 => '', round_2 => '', round_3 => '', round_4 => '' ),
    array ( judge_id => '2', round_1 => '', round_2 => '', round_3 => '', round_4 => '' ),
    array ( judge_id => '3', round_1 => '', round_2 => '', round_3 => '', round_4 => '' ),
    array ( judge_id => '4', round_1 => '', round_2 => '', round_3 => '', round_4 => '' )
)

每个评委每个条目一行,包含“round_1”、“round_2”、“round_3”和“round_4”列

存储哪个最有意义,然后再计算得分?

【问题讨论】:

标签: mysql database database-design normalization table-structure


【解决方案1】:

您应该为每一轮保留每个条目的行。

身份证|法官ID | round_id |分数 | created_at |更新时间

优点:

  1. 您可以进行任意数量的第 4 轮或第 10 轮。您无需更改表结构。
  2. 您可以将每一轮的附加信息放在行元组中。
  3. 您正在制作更多标准化数据,因此这将有助于添加更多与回合相关的功能。

【讨论】:

  • 谢谢 Somnath。这很有意义。
猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2012-10-16
  • 2010-09-29
  • 2020-06-10
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
相关资源
最近更新 更多