-1

В моей FACT_TABLE у меня есть несколько полей Date, такие как:мульти связи между FACT_TABLE и Date_Dimension

  • order_date
  • PAYMENT_DATE
  • purchasing_date
  • estimated_delivery_date
  • actual_delivery_date
  • ...

Как выбрать, какие из них нужно связать с Date_Dimension и другими?

Спасибо за ваши советы,

+1

Все они должны указывать на измерение даты, которое становится ролевым размером http://www.jamesserra.com/archive/2011/11/role-playing-dimensions/. С какими проблемами вы сталкиваетесь? –

+0

Привет @MarekGrzenkowicz, у меня действительно нет проблем, мне просто интересно, правильно ли иметь 7 внешних ключей от Date_Dimension в Fact_Table. Согласно тому, что вы сказали, и веб-сайт, который вы предоставляете, кажется таким. Благодарю вас! Хорошего дня. – seeusoon

+1

технически, что бы я сделал, использует таблицу измерения времени и логически использует ее как orderdatedim, buyerdatedim, actualdeliverydatetim и т. Д. Ее возможно в SSAS. – KrazzyNefarious

ответ

2

Вам не нужно использовать внешние ключи в хранилище данных, так как ваш ETL должен заботиться о целостности. Кроме того, в будущем вам могут потребоваться измерения с возможностью «горячей замены», и они не будут использовать внешние ключи.

Обычно «умный» ключ - плохая идея, хотя я делаю исключение для дат, так как это позволяет легко разбивать таблицы фактов по дате. Используйте тип int и значения, такие как 20160201 (для 1 февраля 2016 года).

Вы можете, конечно, объединить таблицы в SQL без внешних ключей.

 Смежные вопросы

  • Нет связанных вопросов^_^