为引用特定结果的用户设计的数据库 table

Database table design for a user referencing a particular outcome

设想: 用户输入名称、目标和大小。目标是 "long"、"average"、"short"。尺寸为 "big"、"medium"、"small"。有 3 个 table。 User 存储每个用户的姓名、目标和大小。 Final 存储基于 goal/size 组合的结果。 UserFinal 作为关联 table 存储具有相应结果的适当用户。目标和大小的特定组合会产生分配给该用户的特定结果(请参阅下面的 table)。

GOAL        SIZE    OUTCOME
Long        Big     12
Long        Medium  14
Long        Small   18
Average     Big     13
Average     Medium  16
Average     Small   19
Short       Big     15
Short       Medium  17
Short       Small   20

Objective:Table Final 不应增长,仅用作 'lookup' table 当用户提交他们的目标和大小(不确定预计不会增长的 table 是否是一个好的设计?)。 outcome 值将用于每个特定用户的进一步计算。

问题:图示的 table 设计是否是反映这种情况的正确方式?如果不是,实现此目标的最佳方法是什么?

我删除了我的答案并提交了另一个答案,因为修改显着改变了问题的清晰度。

最终 table 纯粹作为查找 table 似乎不是好的数据库设计。

我会做一个简单的一对多关系。

每个 user 都有很多 outcomes 像这样:

用户

user_id [pk]
name

结果

outcome_id [pk]
user_id [fk]
goal
size
outcome

似乎Goal和Size确定了Outcome,每个User设置了一个Outcome。 请参阅以下数据模型:

示例数据:

Goal
--------
L  Long
A  Average
S  Short
Size
--------
B  Big
M  Medium
S  Small
Outcome
--------
L  B  12
L  M  14
L  S  18
A  B  13
A  M  16
A  S  19
S  B  15
S  M  17
S  S  20