Нормализация в OLAP и OLTP

Несмотря на то, что я изучаю книги и статьи, я не могу найти конкретный ответ на следующие вопросы.

Какой должна быть минимальная и максимальная степень нормализации для OLAP и OLTP?

Я предполагаю, что для OLTP минимум - это 3-я нормальная форма, а для OLAP - 2-я нормальная форма.

Можем ли мы сообщить подробности, чтобы дополнить ответы?

2 ответа

Решение

Некоторые из OLAP имеют форму хранилищ данных, витрин данных или баз данных отчетов. Один дизайн принимает форму звездной схемы, представленной Ральфом Кимбаллом. В схеме типа "звезда" таблицы фактов иногда имеют значение 1NF, а таблицы измерений обычно имеют значение 2NF. Вы можете разложить таблицы измерений так, чтобы они находились в 3NF или даже BCNF, и в итоге вы получили схему снежинки.

В общем, проектирование звездной схемы является достаточно жесткой дисциплиной, так что вы на самом деле думаете не с точки зрения нормализации или денормализации, а с точки зрения хорошего звездного дизайна. Естественно, отклонения от нормализации приводят к аномалиям обновления, что усложняет жизнь для обработки ETL.

Звездные схемы - это действительно способ представления того, что Кимбалл назвал размерной моделью на платформе SQL. Они оказываются полезными для витрин данных и баз данных отчетов, а также хранилищ данных.

Уильям (Билл) Инмон, другой новатор в хранилищах данных, выступал за сохранение 3NF даже во время OLAP. И Кимбалл, и Инмон умнее меня, и я не собираюсь говорить вам, какой из них прав. Когда я сделал OLAP, я имел тенденцию следовать за Кимбаллом, с хорошими результатами.

Возможно, лучшая рекомендация здравого смысла - это 5-я нормальная форма в обоих случаях (Билл Инмон рекомендует 3NF для хранилища данных, но я считаю, что он действительно имеет в виду BCNF или 5NF, поскольку у 3NF нет особых достоинств).

Некоторые реализации хранилищ данных используют 6NF.

Другие вопросы по тегам