假设我有一个包含report_type
列的表格,我只有2种报告类型。是否值得用它们创建一个report_types
表,然后用一个外键引用它到这个表?或者将报告类型存储为该列中的字符串是否可以接受?
答案 0 :(得分:2)
只要有可能,您应该始终计划规范化数据库并抽象代码。但是,执行此操作的次数越多,系统中的“间接”就越多。更好的问题是,在将工作量标准化为与在未来进一步重新设计代码的成本方面相比,您将产生多少开销。
在这种情况下,我几乎肯定会说你值得花时间规范化数据库。
答案 1 :(得分:1)
需要考虑的事项:
我知道现在建立一个表似乎有些过分,只能容纳两行。坦率地说,如果你决定坚持一个列和一个检查约束,Yagni的众神会支持你。但是,如果您已经有一堆代码查找表来强制执行受限制的值集,那么一致性也是有价值的。
答案 2 :(得分:0)
如果你有计划在路上扩展的话。我认为真正的问题是,不值得制作额外的桌子吗?
答案 3 :(得分:0)
我通常会建议对您的数据进行规范化,但这似乎是一个简单的案例,您可能不会从这样做中获益。如您所说,您只使用该字段进行过滤,因此只需要使用数据本身中存在的值。
如果您希望用户看到特定报告类型的记录为零,那么您可能希望使用关联的表。
答案 4 :(得分:0)