О, я, безусловно, был бы! Что вы должны помнить, так это ваша база данных - это ваше хранилище данных, это не только хранилище данных для интерфейса. Это тонкая разница, но это важно, когда вы начинаете рассматривать будущее. Прямо сейчас вы (предположительно) владеете приложениями управления, но кто скажет, что в будущем это все равно будет?
Отключив загрузку, как можно больше, в базу данных, вы можете в будущем подтвердить свое приложение - по крайней мере, если кто-то попытается разработать против вашей базы данных, больше ваших предположений будет выполнено.
Недостатки, связанные с этим на стороне базы данных, - это более медленная вставка, поэтому вам нужно взвесить, насколько тяжело ваше приложение против чтения и записи. На работе у нас гораздо больше спроса на чтение, чем на запись, поэтому ссылочная целостность кажется очевидной. Однако наши таблицы являются большими (и свободно доступны для импорта), поэтому мы переходим на несколько этапов импорта маршрутов для создания таблиц, вставки данных, создания индексов, а затем создания внешних ключей и других ограничений.
Надеюсь, это поможет!
Взгляните на [** аналогичный вопрос/ответ **] (http://stackoverflow.com/questions/2819424/in-a-star-schema-are-foreign-key-constraints-between-facts и-размеры-necce/2822941 # 2822941). –
Не уверен, что я должен добавить здесь или к аналогичному вопросу, но ... Если проблема целостности является проблемой, вы всегда можете исправить функции целостности или хранимые процедуры, которые ищут «осиротевшие» факты. (Строки, в которых внешние ключи не имеют смысла). Затем вы можете очистить их после/во время/до следующего цикла нагрузок в базе данных. – Markus
/right/write .... –