我敢肯定这以前会被问到,但我很困惑!
假设我有一个 SQL Server 数据库,其中包含以下表格
和数据...
INSERT [dbo].[Organisation] ([id], [name]) VALUES (1, N'ABC Ltd')
INSERT [dbo].[Organisation] ([id], [name]) VALUES (2, N'XYZ Ltd')
INSERT [dbo].[Employee] ([id], [name], [organisationId]) VALUES (1, N'Dave', 1)
INSERT [dbo].[Message] ([id], [text], [employeeId], [created]) VALUES (1, 'My 1st message', 1, '2012 01-01 00:00:00')
INSERT [dbo].[Message] ([id], [text], [employeeId], [created]) VALUES (2, 'My 2nd message', 1, '2012 01-02 00:00:00')
INSERT [dbo].[Message] ([id], [text], [employeeId], [created]) VALUES (3, 'My 3rd message', 1, '2012 01-03 00:00:00')
因此,我们可以看到在 ABC Ltd 工作的 Dave 连续 3 天创建了 3 条消息。世界上一切都很好。
如果事实证明 Dave 从未为 ABC Ltd 工作,但实际上为 XYZ Ltd 工作,那很好,我们更改组织 ID,仅此而已。
但是,如果他确实为 ABC 工作,但后来在 2012-01-02 更改为 XYZ Ltd,我该怎么办。
任何询问每个组织提出了多少消息的报告,如果在我们更改 Daves 组织 ID 的前一天运行,ABC 会显示 100%,如果后天运行,XYZ 会显示 100%。错,错,错!!
我的问题不是让某人来解决这个难题,而是向我指出我可以研究的可以帮助我的主题的方向。
我今天一直在搜索以下术语“数据仓库”、“基于时间的系统”和“时态数据库”,并阅读了一些非常令人困惑的文章(对我来说很困惑,我相信它们是很棒的文章)。
那么,那里的任何人都可以通过向正确的方向轻推我来帮助我吗?我相信你可以从这条消息中得知我需要一个关于这个主题的“傻瓜”指南......不管那个主题是什么!!!
干杯。