Существует дискуссия между нашей командой ETL и Data Modeler о том, следует ли нормализовать таблицу или нет, и я надеялся получить некоторую перспективу от интернет-сообщества.Таблица Нормализация без значений домена
В настоящее время таблица настроена как таковые
MainTable LookupTable PrimaryKey (PK) Code (PK) Code (FK) Name OtherColumns
- Обе таблицы только заселяются периодическим файл (с 3-го участника) через работу ETL
- Одиночный запись в файле содержит все атрибуты в обеих таблицах для одной строки)
- Файл, заполняющий эти таблицы, является дельта (только файлы с некоторыми изменениями в них находятся в файле)
- Одно изменение одного атрибута для одной записи (опять же только третьей стороной) приведет к тому, что все данные для этого запись в файле
- Значение домена для кода и имени не известны.
Вопрос: Должен ли LookupTable быть денормализован в MainTable.
- Команда ETL: Да. С помощью этой настройки каждая строка из файла сначала должна будет проверить вторую таблицу, чтобы увидеть, есть ли там их FK (вставить, если это не так), а затем добавить строку MainTable. Больше кода, ухудшение производительности и да немного больше места. Однако, независимо от изменения LookupTable.Name от стороннего участника, периодический файл будет отражать каждую затронутую строку, и нам все равно придется анализировать каждую строку. Если сосредоточиться в MainTable, все, что есть, это простое обновление или вставка.
- Data Modeler: Это стандартный хороший дизайн базы данных.
Любые мысли?
Являются ли эти таблицы частью системы OLTP или DW/BI? Размерное моделирование отличается от моделирования 3NF. –
Эти таблицы представляют собой резервную копию набора веб-сервисов для доступа к файлам psuedo 24 на 7. Основной источник данных предоставляется в режиме реального времени веб-службами. Если/Когда веб-службы опускаются (как ожидаемое обслуживание, так и по другой причине), эти таблицы предоставят последние хорошо известные данные. Они не будут часто попадаться, но когда они будут, они будут сильно ударяться. – user2210179
Сторонние веб-сервисы - это те, кто идет на техническое обслуживание. Вместо того, чтобы получать от них ответ, наши вызовы будут сопоставлены с этой базой данных. – user2210179