gpt4 book ai didi

mysql - 在一个mysql列中存储多个数据并单独检索数据

转载 作者:行者123 更新时间:2023-11-29 06:13:09 26 4
gpt4 key购买 nike

我有一个 mysql 表,用于对单个学生进行评分:

studentID int(11)
studentname varchar(70)
maths_score int(11)
science_score int(11)
english_score int(11)

与维护数据库的原子性规则相比,该表效率低下。是否可以将数学-科学-英语的分数存储在一列中,并且可以单独检索?如果不可能,我如何遵守原子性规则?

最佳答案

您应该始终将此类数据标准化为单独的列。将选择的不同数据放入一个组合列中违反了第一范式,这是关系数据库模型的标准(如果不是要求)。

但是,您可以将数据复制到附加列中,以便更有效地执行某些查询。重复比非规范化危害较小。例如,您可以存储一个 total_score 列,以节省您重新计算某种形式的加权平均值的时间,但将分数折叠到一列中并不是一个好主意。

如果您正在寻找一种存储任意数量分数的方法,请创建一个“科目”表和一个“分数”表,并将它们链接起来,以便每个学生可以有多个分数,每个分数都相互关联到一个主题。

关于mysql - 在一个mysql列中存储多个数据并单独检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com