我每天都会收到新的数据文件。现在,我正在构建包含导入数据和执行所需计算所需的所有表格的数据库。
我是否应该将每个新日期的数据附加到我当前的表中?每个文件都包含一个日期列,如果我需要分析某一天的数据,将来可以进行“WHERE”查询。还是我应该每天创建一组新表格?
我是数据库设计的新手(来自 Excel)。为此,我将使用 SQL Server。
最佳答案
假设接收到的数据结构相同,那么您应该只需要一组表,而不是每天创建新表。
我建议将传入数据中日期列的值存储在数据库中,并在表中包含一个“CreateDate”列,默认值为“GetDate()”,以便自动填充插入行时的当前日期。
您可能还希望有另一列来存储从中导入该行的数据文件名,但是如果您已经存储了日期列的值和插入该行的日期,那么这实际上不应该有必要。
过去,当使用自定义数据加载器应用程序执行此类事件时,我还发现创建日志文件来记录成功/错误/警告消息(包括源数据的某种类型的唯一键)很有用和目标数据库 - 即。如果来自 Excel 文件并进入数据库列,则可以存储来自 Excel 的行索引和插入行的主键。这有助于以后追踪任何问题。
关于sql-server - 将每日数据添加到数据库的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178660/