У меня есть хранилище звездообразной схемы (MS SQL Server, доступ к которому осуществляется через MS Report Builder с OLAP), который имеет множество мелких размеров - я имею в виду, что размеры построены из двух столбцов (Id и описание) с несколькими сотнями, связанными с таблицами фактов.Структура звездной схемы - для многих измерений
Это обеспечивает возможность представления всех предметов из факта, даже если нет фактического счета против этого возврата (показать нули), однако я не уверен, что это представляет данные наилучшим образом - я бы предпочел см. небольшое количество денормализованных таблиц, где описание было частью факта, поскольку это обеспечило бы лучшую возможность запроса данных через SQL наряду с подходом OLAP.
Является ли эта структура размеров одного уровня нормальной и хорошей практикой? Честно говоря, единственный раз, когда я ожидаю показать пробелы, против чего-то, такого как измерение времени или даты, однако, поскольку они могут быть принуждены к данным, чтобы дать вам пробелы в диаграммах и таблицах, на самом деле это не так важно ,
Любые представления о том, хорошая ли эта структура или плохой - я хотел бы попробовать и изменить это, но если я не согласен с лучшей практикой, я бы с радостью изменил свое мышление.
Пример структуры (это только часть одной таблицы фактов)
таблица фактов - (Свойство)
F_PROPERTY.PROPERTY_ID (Key for table)
F_PROPERTY.CYCLE_FRAME_TYPE_ID
F_PROPERTY.CYCLE_GEARS_NUMBER_ID
F_PROPERTY.CYCLE_GEARS_TYPE_ID
F_PROPERTY.CYCLE_GENDER_ID
F_PROPERTY.CYCLE_MUD_GUARDS_ID
F_PROPERTY.CYCLE_MUD_GUARDS_COLOUR_ID
Таблицы измерений -
D_CYCLE_FRAME_TYPES.CYCLE_FRAME_TYPE_ID
D_CYCLE_FRAME_TYPES.CYCLE_FRAME_TYPE_DESC
D_CYCLE_GEAR_TYPES.CYCLE_GEAR_TYPE_ID
D_CYCLE_GEAR_TYPES.CYCLE_GEAR_TYPE_DESC
D_CYCLE_GEAR_TYPES.CYCLE_GEARS_NUMBER_ID
D_CYCLE_GEAR_TYPES.CYCLE_GEARS_NUMBER_DESC
D_CYCLE_GEAR_TYPES.CYCLE_GENDERS_ID
D_CYCLE_GEAR_TYPES.CYCLE_GENDERS_DESC
D_CYCLE_GEAR_TYPES.CYCLE_MUD_GUARDS_ID
D_CYCLE_GEAR_TYPES.CYCLE_MUD_GUARDS_DESC
Так перефразировать это - должно размеры действительно являются отдельными таблицами факта или они были бы лучше с описанием как частью Факт? Я хочу, чтобы отчеты были быстрыми и простыми и с минимальным снижением записей, где нет значений в полях.
Структура, которую вы описываете, не совсем понятна. Не могли бы вы дать лучшее описание вашей модели и проблемы, с которой вы сталкиваетесь? – jazzytomato
Если звездная схема возвращает слишком много нулей, вы должны заглянуть в схему Снежинки, Разбить таблицу «Факты» в таблицу дополнительных фактов и переместить некоторые из них в разбитые таблицы фактов. Это даст вам 1) Меньше измерений для таблицы фактов.2) Также размеры для таблиц, где это действительно важно :) –
Несколько сотен измерений звучат как кошмар для обслуживания ко мне. Я бы поискал логические способы их комбинирования. –