Я уверен, что это было бы задано раньше, но я очень смущен!Материал для чтения базы данных
Скажем, у меня есть БД 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, создал 3 сообщения в течение 3 последовательных дней. Все хорошо в мире.
Если окажется, что Дэйв никогда не работал в ABC Ltd, но на самом деле работает для XYZ Ltd, это нормально, мы меняем идентификатор организации и все.
Что, однако, следует делать, если он работал на ABC, но затем был изменен на XYZ Ltd в 2012-01-02.
Любой отчет, в котором спрашивают, сколько сообщений было поднято каждой организацией, будет работать, если вы запустите день до того, как мы изменим организацию Daves OrganisationId, покажем 100% для ABC и 100% для XYZ, если они будут запущены на следующий день. Неправильно, неправильно, неправильно!
Мой вопрос не для кого-то, чтобы решить эту загадку, но назовите меня в направлении тем, которые я мог бы смотреть, что могло мне помочь.
Я сегодня нахожусь в поиске следующих терминов «Хранилище данных», «Системы, основанные на времени» и «Временные базы данных», и прочитал некоторые очень запутанные статьи (сбив с толку для меня, я уверен, что они отличные статьи).
Итак, может ли кто-нибудь помочь мне, подталкивая меня в правильном направлении? Я уверен, что вы можете собрать из этого сообщения, что мне нужен «для манекенов» руководство к теме ..... что бы это ни было!
Cheers.