最近,我和我的专业同事在Internet上(更确切地说,在Habré的LAN上)讨论了某个系统的体系结构,我们在一个问题上存在争议。
有一个存储不同物料的仓库,有用于物料接收和消耗的文件,在文件中有信息“物料,数量”,一对多的关系的记录。该数据库包含一个表格,其中包含有关仓库中当前物料可用性的信息,还有一个用于文档的表格和一个用于其位置的表格。我们称它们为“ current_stocks”,“文档”,“ document_positions”。
表“ current_stocks”是否应被视为数据非规范化?
同事的论点是,“ current_stocks”中的数据可以在系统的整个生命周期内从文档中计算得出,因此这是不规范的。
我的观点是,可以从更改历史记录中计算出任何当前状态,因此这不是非规范化。否则,术语“规范化”将没有意义。它专门指对当前状态建模。这些是不同的模型,“ current_stocks”模型是仓库状态,文档中的文本“ document_positions”行。