Опубликован: 20.12.2010 | Доступ: свободный | Студентов: 2381 / 140 | Оценка: 4.27 / 3.91 | Длительность: 39:39:00
ISBN: 978-5-9963-0353-3
Лекция 8:

Метод многомерного моделирования

Отношения "многие ко многим" в измерениях

Таблицы измерений могут находиться в отношении "многие ко многим" между собой. Например, поставщики могут поставлять товары на разные склады, а магазины получать товары с различных складов. Отношение "многие ко многим" может существовать между: 1) таблицей измерения и таблицей фактов, 2) между таблицами измерений.

Как правило, отношения между таблицами БД "многие ко многим" разрешаются путем создания дополнительной таблицы, которая управляет таким отношением (требование четвертой нормальной формы при проектировании реляционных БД).

В многомерном моделировании ХД для разрешения отношения "многие ко многим" между таблицами измерений могут быть использованы два типа таких дополнительных таблиц: "пустая" таблица фактов или таблица фактов без метрик (factless fact table) и таблица-мост (bridge table).

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

Различают два типа таблиц фактов без метрик: таблицы фактов отслеживания событий (event tracking tables) и таблицы фактов охвата событий (coverage tables).

Таблица фактов охвата событий содержит описание того, что еще не произошло, — например, какие товары еще не продавались по рекламной акции.

Таблица фактов отслеживания событий фиксирует событие, т.е. дату или время события и его описание.

В качестве примера рассмотрим посещаемость студентами курсов, читаемых различными преподавателями. Студенты изучают в университете различные учебные курсы, учебные курсы проводятся различными преподавателями, студенты учатся на разных факультетах и т.д. Сущности "Студент", "Преподаватель". "Факультет", "Курс" и " Время " находятся в отношении "многие ко многим". Мы можем построить таблицу фактов без метрик "Посещаемость" для отслеживания присутствия студентов различных факультетов на курсах различных преподавателей, как на рис. 9.23. Таким образом, будут разрешены отношения "многие ко многим" у рассматриваемых выше сущностей ( измерений ).

Таблицу фактов охвата событий, или, как ее еще называют, таблицу существования (Existence Table), обычно используют, когда для таблиц измерения типа времени может существовать перекрывание периодов — например, в маркетинговой акции по продвижению товара на рынок, связанной с гибкой сеткой цен на товары. При этом не все магазины будут участвовать в продвижении товара в одно и то же время. Также не все товары будут участвовать в данной маркетинговой акции. Пример использования таблицы фактов охвата событий "Магазины Продукты" приведен на рис. 9.24.

Пример таблицы фактов без метрик

Рис. 9.23. Пример таблицы фактов без метрик
Пример таблицы фактов охвата событий

увеличить изображение
Рис. 9.24. Пример таблицы фактов охвата событий

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

Такие таблицы должны помочь аналитикам в оценке эффективности маркетинговой акции посредством идентификации товаров и магазинов.

В реляционном моделировании при разрешении отношений "многие ко многим" называются связывающими таблицами (associative tables). Таблицы фактов охвата событий управляют исключениями, когда некоторая сущность одной таблицы связана с некоторыми сущностями одной или нескольких других таблиц.

Таблица-мост (Bridge table) была определена в этой лекции выше. Напомним, что таблица-мост является промежуточной таблицей, которая несет на себе функцию управления ситуацией, связанной с реализацией многозначных функциональных зависимостей в данных.

Рассмотрим пример на рис. 9.25, где представлены два измерения: "Пациенты" и "Диагнозы" – и таблица фактов "Оплата лечения", которая содержит данные о плате за лечение, полученной с выставленного счета.

Схема данных для учета оплаты лечения

Рис. 9.25. Схема данных для учета оплаты лечения

Гранулированность таблицы фактов определена так: на одного пациента существует одна запись о плате за лечение с установленным диагнозом. Допустим, что лечение семьи, переболевшей ОРВИ, оплачивается с одного счета. Чтобы не нарушать определение гранулированности для таких случаев, мы можем использовать таблицу-мост, как показано на рис. 9.26.

"Весовой множитель" — важный столбец в таблице-мосте. Мы назначаем числовой весовой множитель каждому пациенту для каждого семейного номера счета так, что сумма всех весовых множителей, принадлежащих номеру счета, точно 1. Весовой множитель — это просто способ распределить числовые аддитивные факты между пациентами, которые присутствуют в таблице измерений "Пациенты".

Использование таблицы-моста для разрешения отношения "многие ко многим"

Рис. 9.26. Использование таблицы-моста для разрешения отношения "многие ко многим"

Резюме

В настоящей лекции мы определили и рассмотрели основные понятия и элементы многомерной модели.

К основным понятиям многомерной модели относятся факты, измерения, параметры (метрики) и атрибуты, которые хранятся в таблицах фактов и таблицах измерений.

В многомерной модели различают три основных вида таблиц фактов:

  • транзакционные таблицы фактов ;
  • таблицы фактов периодических моментальных снимков ;
  • таблица фактов кумулятивных моментальных снимков.

В многомерной модели различают следующие основные таблицы измерений:

  • вырожденные измерения ;
  • медленно меняющиеся измерения ;
  • быстро меняющиеся измерения ;
  • таблицы иерархий измерений.

В процессе многомерного моделирования используется ряд вспомогательных таблиц, таких как таблицы-мосты и таблицы фактов без метрик.

Для представления многомерной модели используются следующие основные схемы:

  • схема "звезда" ;
  • схема "снежинка" ;
  • схема с несколькими таблицами фактов.

В последующих лекциях мы будем изучать, как применяются рассмотренные понятия в построении моделей данных ХД.

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?