Address - addressId, город, улица, дом, квартира-Мани.
Моя цель - создать таблицу фактов истории, которая может ответить на следующие вопросы:
- Какие лица с какими документами жили по указанному адресу в определенную дату?
2, Какая история жителей имеет определенный адрес в определенный интервал времени?
Это не только для того, для чего разработан DW, но я думаю, что это самая сложная вещь в дизайне DW.
Например, мисс Браун с personId = 1, документы с documentId = 1 и documentId = 2 использовался по адресу с addressId = 1 с 01 января 2005 года по 02 февраля 2010 года, а затем был перемещен по адресу addressId = 2, где он жил с 02 марта 2010 года и до текущей даты (NULL?).Но она поменяла фамилию на миссис Грин с 04/05/2006 и ее первый документ с documentId = 1 на documentId = 3 с 06/07/2007.Мистер Блэк с personId = 2, documentId = 4 проживал по адресу addressId = 1 с 02/03/2010 до текущей даты.
Ожидаемый результат по нашему запросу для вопроса 2, где addressId = 1 и интервал временис 01.01.2000 по настоящее время, должно быть примерно таким:
Строки:
last_name="Brown", documentId=1, dateFrom=01/01/2005, dateTo=04/04/2006
last_name="Brown", documentId=2, dateFrom=01/01/2005, dateTo=04/04/2006
last_name="Green", documentId=1, dateFrom=04/05/2006, dateTo=06/06/2007
last_name="Green", documentId=2, dateFrom=04/05/2006, dateTo=06/06/2007
last_name="Green", documentId=2, dateFrom=06/07/2007, dateTo=02/01/2010
last_name="Green", documentId=3, dateFrom=06/07/2007, dateTo=02/01/2010
last_name="Black", documentId=4, dateFrom=02/03/2010, dateTo=NULL
У меня была идея создать таблицу фактов с составным ключом (personId, documentId, addressId, dateFrom) но я понятия не имею, как загрузить эту таблицу и затем получить ожидаемый результат с этой структурой.
Я буду рад любой помощи!