Это теоретический вопрос, который я задаю из-за запроса, который пришел мне недавно. Я владею поддержкой главного хранилища оперативных данных, который поддерживает набор таблиц данных (с основными данными), а также набор таблиц поиска (которые содержат список ссылочных кодов вместе с их описаниями). Недавно появилось приложение из нисходящих приложений для логического объединения двух структур (данных и поисковых значений) на уровне презентации, чтобы им было легче узнать, были ли обновления в общих данных. Хотя запрос понятен, моя первая мысль заключается в том, что он должен быть реализован на уровне интерфейса, а не в источнике. Объединение двух таблиц логически (last_update_date) на уровне ODS почти похоже на де-нормировку данных и, по-видимому, противоречит идее раздельного поиска и данных. Тем не менее, я не могу придумать, почему это не должно делаться на уровне ОРВ, кроме того факта, что оно «не кажется» правильным ... У кого-нибудь есть мысли о том, почему такой подход должен или должен не следовать?Зачем использовать таблицы поиска в базе данных
Я приведу пример здесь для простоты.
Data table
ID Name Emp_typ_cd Last_update_date
1 X E1 2014-08-01
2 Y E2 2014-08-01
Code table
Emp_typ_cd Emp_typ_desc Last_Update_date
E1 Employee_1 2014-08-23
E2 Employee_2 2013-09-01
Запрос вниз по течению, чтобы представить данные в виде
Data view
ID Name Emp_typ_cd Last_update_date
1 X E1 2014-08-23
2 Y E2 2014-08-01
или
Data view
ID Name Emp_typ_cd Emp_typ_desc Last_update_date
1 X E1 Employee_1 2014-08-23
2 Y E2 Employee_2 2014-08-01