场景:
用户输入名称,目标和大小。目标是"长","平均","短"。尺寸是"大","中","小"。有3个表。 User
存储每个用户的名称,目标和大小。 Final
根据目标/尺寸组合存储结果。 UserFinal
用作关联表,用于存储具有相应结果的相应用户。目标和大小的特定组合会产生分配给该用户的特定结果(请参阅下表)。
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
目标:表Final
不应该增长,而只是用作查找'用户提交目标和大小时的表格(不确定预计会增长的表格是不是很好的设计?)。 outcome
值将用于每个特定用户的进一步计算。
问题:图示表格设计是否反映了这种情况的正确方法?如果不是,那么实现这个目标的最佳方式是什么?
答案 0 :(得分:2)
似乎目标和大小标识结果,每个用户设置一个结果。 请参阅以下数据模型:
示例数据:
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
答案 1 :(得分:0)
我删除了我的答案并提交了另一个答案,因为这些修改大大改变了问题的清晰度。
将决赛桌纯粹作为查找表似乎不是很好的数据库设计。
我会做一个简单的一对多关系。
每个user
都有很多outcomes
,如此:
user_id [pk]
name
outcome_id [pk]
user_id [fk]
goal
size
outcome