- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始在 MySQL 中为我的数据库建模。
所以我有一个名为“norms”的表,其中包含以下列:
id (int) -- 主键
fk_category_id (int) --- 来自另一个表的外键
raw_score_min (int) --- 范围所需的下限分数
raw_score_max (max) --- 范围所需的上限分数
sten(int)---标准十(值1-10)备注
percentile (int) --- 百分比备注(取值1-100)
t-score (int) --- 另一个具有奇怪相关性的评论
fk_classification_id --- 来自另一个表的外键
现在,并非该数据库中的每一行都会使用 sten、百分位数和 t 分数。
在大多数情况下,只会使用这三种方法中的一种。然而,在特殊情况下,将使用三分之二(即 sten 和百分位数)
因此,如果行堆积起来,表中将有很多行,其中 sten、percentil 和 t-score 的值为 0 的浪费列
有什么方法可以使用标准化来避免这种浪费吗?谢谢!
<小时/>更新:
我忘了告诉大家,随着系统的发展,可能会有其他类型的“标准”(sten、t-score、百分位数),例如 CSQ 或其他标准。按照上表,这可能意味着每次出现新类型的“标准”时我都应该添加一个新列。
最佳答案
您可以创建一个新表,例如stats
,其中将包含具有这些值的记录的标准十位、百分位数和 t 分数值。
CREATE TABLE stats
(
id int, -- same id as used in the norms table
sten int,
percentile int,
t-score int
);
请注意,此处的增益是因为您不会将任何数据库存储分配给那些没有任何统计信息的记录。将此与原始问题中的非规范化方法进行对比,您可能会为该记录存储零值。
更新:
如果您确实需要添加统计信息/列,那么我希望我的方法或您原来的方法都会很麻烦。通过规范化数据库,您仍然可以获得潜在的 yield 。
但也许新的统计数据可以即时计算,而不是持久保存到数据库中。这将避免必须不断添加新列的问题。
关于mysql - sten 百分位数 t 分数的数据库标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763651/
我刚刚开始在 MySQL 中为我的数据库建模。 所以我有一个名为“norms”的表,其中包含以下列: id (int) -- 主键 fk_category_id (int) --- 来自另一个表的外键
我是一名优秀的程序员,十分优秀!