Слово «денормализация» приводит к путанице в вопросах дизайна. Попытка получить высокопроизводительную базу данных путем денормализации - это все равно, что попытаться добраться до пункта назначения, уезжая из Нью-Йорка. Он не говорит вам, куда идти.
Что вам нужно, так это хорошая дисциплина дизайна, которая создает простой и надежный дизайн, даже если этот дизайн иногда противоречит правилам нормализации.
Одной из таких дисциплин дизайна является схема звезды. В схеме «звезда» одна таблица фактов служит центром звезды таблиц. Другие таблицы называются таблицами измерений, и они находятся на границе схемы. Измерения связаны с таблицей фактов отношениями, которые выглядят как спицы колеса. Схема «звезда» - это в основном способ проецирования многомерного проектирования на реализацию SQL.
С звездной схемой тесно связана схема снежинки, которая немного сложнее.
Если у вас есть хорошая схема типа «звезда», вы сможете получить огромное количество разнообразных комбинаций ваших данных, используя не более трехстороннего соединения, включающего два измерения и одну таблицу фактов. Более того, многие инструменты OLAP смогут автоматически расшифровывать ваш звездообразный дизайн, предоставляя вам доступ к вашим данным по принципу «укажи и щелкни», разверните и графически проанализируйте без дальнейшего программирования.
Дизайн схемы «звезда» иногда нарушает вторую и третью обычные формы, но это приводит к большей скорости и гибкости для отчетов и выписок. Это чаще всего используется в хранилищах данных, витринах данных и отчетных базах данных. Как правило, вы получите гораздо лучшие результаты в виде звездной схемы или другого ориентированного на поиск проекта, чем просто случайная «денормализация».