Надеюсь, я не задаю здесь слишком острый вопрос.Каковы компромиссы при денормализации для вычисленного столбца?
Для моего текущего проекта я проектирую относительно простую базу данных с использованием SQL Server 2008. Для одной из таблиц я решил ввести «Вычисленный столбец» (не сохранялся). Его выражение просто является произведением двух других числовых столбцов, и единственной причиной его существования является удобство (я делаю привязку к одной веб-странице с односторонним обращением).
Я понял, однако, что использование вычисленного столбца нарушает первую нормальную форму. Это заставило меня задуматься: Ват - это компромиссы? Если моя единственная причина для вычисляемого столбца - это удобство, оно перевешивает денормализацию?
Очевидно, что имеется небольшая дополнительная нагрузка ЦП в базе данных Сервер расчета того, что может быть рассчитано на другом уровне, и небольшое добавление сетевого трафика, возвращая дополнительный столбец. Если он не сохраняется, для операций CUD нет дополнительных накладных расходов, и он не занимает места на диске, поэтому никаких дополнительных операций ввода-вывода не будет. – 2010-11-30 15:41:00
Таблица SQL находится в 1NF, если она содержит хотя бы один ключ, имеет уникальные имена столбцов, и все столбцы не имеют значения NULL. Устойчивый или нет, вычисленный столбец не нарушает 1NF – sqlvogel 2010-12-01 18:07:07