Я создаю простую звездообразную схему в хранилище данных с двумя измерениями на основе бизнес-сущностей: dim_loan
и dim_borrower
. Есть также некоторые таблицы фактов, такие как fact_loan_status
, в которой есть одна строка в месяц для каждого кредита, показывающая баланс на тот момент, и есть FK назад к dim_loan
.
Итак, вот мой вопрос: если dim_loan
имеет FK для borrower_id
обратно в dim_borrower
, нарушает ли это звездную схему? Почти все обсуждение звездообразной схемы вращается вокруг отдельных тусклых таблиц, которые имеют отношения FK только с таблицами фактов, а не с другими тусклыми. Создавать fact_loan_borrower для меня не имеет смысла для этих простых отношений один к одному.
Настраиваемые совокупные классы. Обратите внимание, что база данных преобразует результат в число с плавающей запятой:
1 ответ
Если dim_borrower и dim_loan имеют одинаковую кардинальность, то сохранение обоих идентификаторов (loan_id, заемщик_id) в fact_loan_borrower поможет вам повысить производительность. Вам нужно только одно соединение, чтобы получить информацию о заемщике или кредите из соответствующих измерений. Если вы сохраняете заемщик_ид как FK в dim_loan, вам нужно использовать два соединения, если вам нужно предоставить информацию о заемщиках.
Если два измерения имеют разную кардинальность, целесообразно присоединить измерение с низкой кардинальностью к таблице фактов — это поможет сделать таблицу фактов небольшой.
Выбор схемы звезды и снежинки полностью зависит от вас.
Похожие вопросы
Новые вопросы
database
База данных представляет собой организованный сбор данных. Это коллекция схем, таблиц, запросов, отчетов, представлений и других объектов. Данные обычно организованы так, чтобы моделировать аспекты реальности таким образом, чтобы поддерживать процессы, требующие информации. Используйте этот тег, если у вас есть вопросы о разработке базы данных. Если речь идет о конкретной системе управления базами данных (например, MySQL), используйте этот тег.