Реляционная модель данных в многомерную модель данных

Я создал пространственную модель данных и позже понял, что не имею к ней никакого отношения... Надеюсь, Вы сможете мне помочь!

Позвольте мне объяснить, что я сделал. Я взял данные из реляционной модели (той, которая содержит первичные/внешние ключи и их отношения, а некоторая таблица содержит те же параметры, что указывает на их отношения) и поместил их в модель многомерных данных.

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

INSERT INTO...
SELECT sequence.nextval, param1, param2,...
FROM
(SELECT ...);

И это приводит меня к "решению" без каких-либо отношений в моей Пространственной Модели, потому что я просто выбираю необходимые параметры и помещаю их в Пространственную Модель.

Все источники находятся в базе данных Oracle, и я также реализую модель измерений в Oracle.

Ниже приведен пример части системы.

введите здесь описание изображения

Как правильно это сделать?


person Advice Me    schedule 05.06.2015    source источник
comment
Что ты имеешь в виду? В factTrip нет правильных значений Key?   -  person Marek Grzenkowicz    schedule 05.06.2015
comment
Может быть, но я не могу их найти, я не уверен, как сделать это правильно... потому что в какой-то момент я теряю все связи между фактами и измерениями   -  person Advice Me    schedule 05.06.2015
comment
Вы сгенерировали значения суррогатных ключей в таблицах измерений, верно? При загрузке таблицы фактов выполняли ли вы поиск для замены бизнес-ключей суррогатными?   -  person Marek Grzenkowicz    schedule 05.06.2015
comment
Марек, верно! Теперь я вижу, чего мне не хватает... Мне нужно заменить бизнес-ключи суррогатными ключами. Есть ли хорошее объяснение, как это сделать правильно?   -  person Advice Me    schedule 06.06.2015
comment
Поскольку вы не используете специальный инструмент ETL, загрузите измерения для создания суррогатных ключей, а затем присоедините их к таблице Trip на бизнес-ключах при загрузке factTrip, чтобы получить показатели из Trip и суррогатные ключи из измерений.   -  person Marek Grzenkowicz    schedule 06.06.2015


Ответы (1)


Ваше решение выглядит беспорядочно.

Ты нуждаешься в этом:

DimTrain, DimStearsMan, DimDate (день зерна), DimTime (второе зерно за 24 часа), factTript.

В них вы создаете 4 представления: DimDepartureDate, DimDepartutetime, DimArrivalDate, DimArrivaltime (ваш инструмент может сделать это за вас, поэтому вам могут не требоваться представления). О, вам также нужны скрипты (или что-то еще, чтобы заполнить DimTime и DimDate всеми возможными комбинациями, может быть хорошей идеей заполнить DimDate датами за 10 или 20 лет).

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

Затем вы создаете factTrip и присоединяете его к измерениям с помощью суррогатных ключей (также известных как ключи измерений) и добавляете показатели продолжительности в factTrip. Это 6 внешних ключей + метрика.

person SQL.injection    schedule 02.07.2015