Я пытаюсь узнать о OLAP и хранилище данных, и я смущен различием между реляционным и размерным моделированием. Является ли размерное моделирование главным образом реляционным моделированием, но с учетом избыточных/ненормированных данных?
Например, скажем, у меня есть данные по историческим продажам (товар, город, # продажа). Я понимаю, что следующая реляционная точка зрения:
Product | City | # Sales Apples, San Francisco, 400 Apples, Boston, 700 Apples, Seattle, 600 Oranges, San Francisco, 550 Oranges, Boston, 500 Oranges, Seattle, 600
В то время как следующая более подробная точка зрения:
Product | San Francisco | Boston | Seattle Apples, 400, 700, 600 Oranges, 550, 500, 600
Но похоже, что обе точки зрения будут, тем не менее, реализованы в идентичной звездной схеме:
Fact table: Product ID, Region ID, # Sales Product dimension: Product ID, Product Name City dimension: City ID, City Name
И это не до тех пор, пока вы не начнете добавлять некоторые дополнительные сведения к каждому измерению, которое начнет появляться. Например, если вы хотите отслеживать регионы, реляционная база данных будет иметь отдельную таблицу областей, чтобы все нормализовалось:
City dimension: City ID, City Name, Region ID Region dimension: Region ID, Region Name, Region Manager, # Regional Stores
В то время как размерная база данных позволяла бы денормализации сохранять данные региона внутри размерности города, чтобы было проще обрезать данные:
City dimension: City ID, City Name, Region Name, Region Manager, # Regional Stores
Правильно ли это?