何时何时不需要映射表?

时间:2018-06-15 12:59:04

标签: database-design relational-database

我对正常化有疑问。

我有三张桌子:

rule_set (id, name, creation_date, descrtiption)

input_scenario (id, name, creation_date, bitmask, description)

output (id, rule_set_id, input_scenario_id, key, value), fk(rule_set_id to rule_set.id, input_scenarion_id to input_scenario.id);

我的想法是我配置了一些输入方案。然后,每当创建新的rule_set时,对于每个输入场景,都会创建一系列输出。

这个架构工作正常,但为了规范化,我怀疑是否应该创建一个映射表:

mapping (id, rule_set_id, input_id), fk (rule_set_id to rule_set.id, input_id to input.id)

然后我的输出表就像:

output(id, key, value, mapping_id), fk (mapping_id to mapping.id)

什么是最佳做法?为什么?

0 个答案:

没有答案