sql-server - 将每日数据添加到数据库的推荐方法

标签 sql-server database database-design

我每天都会收到新的数据文件。现在,我正在构建包含导入数据和执行所需计算所需的所有表格的数据库。

我是否应该将每个新日期的数据附加到我当前的表中?每个文件都包含一个日期列,如果我需要分析某一天的数据,将来可以进行“WHERE”查询。还是我应该每天创建一组新表格?

我是数据库设计的新手(来自 Excel)。为此,我将使用 SQL Server。

最佳答案

假设接收到的数据结构相同,那么您应该只需要一组表,而不是每天创建新表。

我建议将传入数据中日期列的值存储在数据库中,并在表中包含一个“CreateDate”列,默认值为“GetDate()”,以便自动填充插入行时的当前日期。

您可能还希望有另一列来存储从中导入该行的数据文件名,但是如果您已经存储了日期列的值和插入该行的日期,那么这实际上不应该有必要。

过去,当使用自定义数据加载器应用程序执行此类事件时,我还发现创建日志文件来记录成功/错误/警告消息(包括源数据的某种类型的唯一键)很有用和目标数据库 - 即。如果来自 Excel 文件并进入数据库列,则可以存储来自 Excel 的行索引和插入行的主键。这有助于以后追踪任何问题。

关于sql-server - 将每日数据添加到数据库的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9178660/

相关文章:

sql-server - 如何重建表以释放已删除旧列使用的空间

mysql - mysql数据库中的标志字段

mysql - 连接两个表并进行时间比较

具有空主体的 SQL Server 存储过程

sql-server - 删除表上的 SQL Server DDL 触发器

sql-server - 从 Databricks 笔记本将数据帧写入 Azure SQL 数据库

php - 在连接两个 session (博客和新闻)的评论表中插入引用

sql - 获取层次结构表中子项的根父项

mysql - 以点字段作为参数的 X() 和 Y() MySql 函数返回什么类型的数据

mysql - Django 迁移失败,(2013, 'Lost connection to MySQL server at\' 读取初始通信包\')