sql-server - 如何在 SQL Server 中存储历史主数据?
问题描述
Employee
让我们假设一个简单的场景,其中我们有 3 个表Designation
& Allowance
:
我面临的问题是员工的指定和与指定相关的津贴金额将来可能会发生变化。
如果发生任何此类变化,将根据新的主数据提供新的配额。但旧月份的报告现在将显示无效数据。因为约翰现在是一名军官,并根据他的指定领取津贴。但将来他可能会升职,他的指定可能会变成经理。然后他将获得经理津贴。然后,如果有人去津贴报告并过滤约翰上个月的数据。该报告将显示作为官员给予 john 的津贴,但他在该报告中的指定将是经理,因为 john 的指定 ID 已更新。
所以我的问题是,记录、维护和跟踪主数据的最佳方式是什么,即使主数据将来发生变化,与之关联的事务数据仍然有效。
解决方案
您可以使用时态表来自动捕获行的历史版本,并使您能够查询“截至”以前的时间点。
推荐阅读
- c++ - 将数据从一个阵列存储到另外两个阵列中不起作用
- javascript - React Redux onClick 调用操作创建者不工作
- java - Spring Boot Web 应用程序未检测到控制器
- android - Android 房间在第一次通话时不返回任何数据
- python - 如何在内存中执行 sqlalchemy、sqllite 中的存储过程?
- python - 连接不同格式的 YARA 规则
- javascript - 使用外部样式表将 HTML 导出到 DocX
- python-3.x - 迁移到 Tensorflow 2.0,训练现在在第三步后挂起
- javascript - 在特定情况下关闭模态bootstrap4
- javascript - 当没有更多数据要获取时反应本机 FlatList API 错误